拆分模块

This commit is contained in:
2025-09-03 20:56:44 +08:00
parent 08cc2c29a5
commit a2f5e4864b
939 changed files with 14227 additions and 9607 deletions

View File

@@ -0,0 +1,47 @@
spring.application.name=Contract-Manager
spring.main.lazy-initialization=true
logging.level.root=INFO
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
# spring.datasource.driver-class-name=
#u8.datasource.type=mssql
#u8.datasource.url=jdbc:sqlserver://10.84.209.251;databaseName=UFDATA_001_2017;encrypt=false;trustServerCertificate=true
#u8.datasource.username=sa
#u8.datasource.password=dqkl.com
#u8.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
# datasource
# db server use domain, it need dns support.
#spring.datasource.hikari.jdbc-url=jdbc:mysql://db-server1.ecctrl.com/supplier_ms
#spring.datasource.username=ecep
#spring.datasource.password=ecep.623356561
#spring.datasource.type=com.zaxxer.hikari.HikariDataSource
#spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
# jpa update
spring.jpa.hibernate.ddl-auto=none
#spring.jpa.hibernate.naming.implicit-strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.show-sql=false
# spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
spring.data.jpa.repositories.enabled=true
spring.lifecycle.performance.enabled=true
# my.downloadsPath = C:\\Users\\SQQ\\Downloads\\
spring.data.redis.host=10.84.209.229
spring.data.redis.database=3
logging.level.org.hibernate.tool.hbm2ddl=DEBUG
# 在application.properties中添加
logging.level.org.springframework.boot.context.metrics.buffering=DEBUG
logging.level.com.ecep.contract.manager.SpringApp=DEBUG
# Redis缓存配置
spring.cache.type=redis
spring.cache.redis.time-to-live=6h
spring.cache.redis.key-prefix=contract_manager_
spring.cache.redis.use-key-prefix=true
spring.cache.redis.cache-null-values=false
# Redis序列化配置
spring.data.redis.serializer.key=org.springframework.data.redis.serializer.StringRedisSerializer
spring.data.redis.serializer.value=org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 增加logback核心组件的日志级别以查看详细的初始化信息 -->
<logger name="ch.qos.logback" level="DEBUG"/>
<logger name="ch.qos.logback.classic.util.ContextInitializer" level="TRACE"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
</appender>
<!-- 添加 FileAppender -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/application.log</file> <!-- 日志文件路径 -->
<append>true</append> <!-- 是否追加到文件 -->
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/>
</root>
<logger name="com.ecep.contract.manager" level="warn"/>
<logger name="com.ecep.contract.manager.Desktop" level="debug"/>
<logger name="com.ecep.contract.manager.SpringApp" level="debug"/>
<logger name="com.ecep.contract.manager.ui.service" level="info"/>
<logger name="com.ecep.contract.manager.ui.table.AbstEntityTableTabSkin" level="debug"/>
<logger name="com.ecep.contract.manager.ui.table.cell.AsyncUpdateTableCell" level="warn"/>
<logger name="com.ecep.contract.manager.ui.AbstEntityManagerSkin" level="debug"/>
<logger name="com.ecep.contract.manager.ui.BaseController" level="debug"/>
<logger name="com.ecep.contract.manager.ui.controller" level="info"/>
<logger name="com.ecep.contract.manager.ui.task.MonitoredTask" level="debug"/>
<logger name="com.ecep.contract.manager.ds.other.controller.HomeWindowController" level="debug"/>
<logger name="com.ecep.contract.manager.ds.company.controller.CompanyWindowController" level="debug"/>
<logger name="com.ecep.contract.manager.ds.customer.controller.CompanyCustomerWindowController" level="debug"/>
<logger name="com.ecep.contract.manager.cloud" level="debug"/>
<logger name="com.ecep.contract.manager.cloud.u8.ContractSyncTask" level="debug"/>
</configuration>

View File

@@ -0,0 +1,4 @@
ui.vendor.title = [{0}] {1} Vendor
ui.customer.title = [{0}] {1} Customer

View File

@@ -0,0 +1,4 @@
ui.vendor.title = [{0}] {1} 供应商
ui.customer.title = [{0}] {1} 客户

View File

@@ -0,0 +1,111 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>合同管理系统 - 登录</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.login-container {
background-color: white;
padding: 40px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 400px;
}
.login-header {
text-align: center;
margin-bottom: 30px;
}
.login-header h2 {
color: #333;
margin: 0;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
margin-bottom: 8px;
color: #555;
font-weight: bold;
}
.form-group input {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.form-group input:focus {
border-color: #4CAF50;
outline: none;
}
.btn-submit {
width: 100%;
padding: 12px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s;
}
.btn-submit:hover {
background-color: #45a049;
}
.error-message {
color: #f44336;
margin-top: 15px;
text-align: center;
}
.basic-auth-info {
margin-top: 20px;
text-align: center;
color: #666;
font-size: 14px;
}
</style>
</head>
<body>
<div class="login-container">
<div class="login-header">
<h2>合同管理系统</h2>
</div>
<form action="/login" method="post">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" id="username" name="username" required autofocus>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" id="password" name="password" required>
</div>
<input type="submit" class="btn-submit" value="登录">
</form>
<!-- 显示登录错误信息 -->
<#if error??>
<div class="error-message">
登录失败:用户名或密码错误
</div>
</#if>
<div class="basic-auth-info">
系统同时支持HTTP Basic认证
</div>
</div>
</body>
</html>