2701501100e562fe865d1738bdb55448185faff1..10e9484c823d2e8767227cf38a3e80acc61431e0
2024-11-29 许鹏程
模块依赖修改
10e948 对比 | 目录
2024-11-28 shicf
西宁项目,移动APP版本号
a597fa 对比 | 目录
2024-11-28 许鹏程
配置文件
041e41 对比 | 目录
2024-11-14 shicf
属性
c83b53 对比 | 目录
2024-10-16 shicf
日志配置
9e5d1f 对比 | 目录
2024-10-16 许鹏程
增加系统配置:集群实例id
45f0b5 对比 | 目录
2024-10-14 许鹏程
dev
85c9fa 对比 | 目录
2024-10-10 许鹏程
删除
1899e6 对比 | 目录
2024-10-08 许鹏程
模板附件
082117 对比 | 目录
2024-10-08 许鹏程
模板附件
3e01b0 对比 | 目录
2024-10-08 许鹏程
设备台账二维码打印模板
c5031b 对比 | 目录
2024-09-30 shicf
表结构定义规则
00ad6b 对比 | 目录
2024-09-25 许鹏程
Merge remote-tracking branch 'origin/dev' into dev
d0bbb8 对比 | 目录
2024-09-25 许鹏程
新增redis集群配置
f5306d 对比 | 目录
2024-09-25 许鹏程
新增redis集群配置
d2087e 对比 | 目录
2024-09-25 shicf
系统集群部署标识
715aa2 对比 | 目录
2024-09-20 shicf
tomcat配置
23b90d 对比 | 目录
2024-09-18 许鹏程
web模块添加全局异常拦截处理,针对com.product 包下所有的controller 未处理的异常进行通用处理
d0cbe9 对比 | 目录
2024-09-18 许鹏程
web模块添加全局异常拦截处理,针对com.product 包下所有的controller 未处理的异常进行通用处理
ef6446 对比 | 目录
2024-05-29 许鹏程
修改标准餐票接口签名、token、权限验证配置
4c173d 对比 | 目录
已重命名6个文件
已添加1个文件
已修改7个文件
150 ■■■■■ 文件已修改
.gitignore 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/00000000-0000-0000-0000-000000000000/20231116/1700116133438u8 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/template/import/1637810482657 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/template/import/1638433783773 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/template/import/1638526268935 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/template/import/1638777503253 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/template/import/1638843868161 补丁 | 查看 | 原始文档 | blame | 历史
attachment/file/template/import/1639449306164 补丁 | 查看 | 原始文档 | blame | 历史
doc/系统设计 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/Application.java 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.properties 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-prod.properties 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/cache-dev.properties 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -1,7 +1,7 @@
lx_file/upload/
lucene/
attachment/upload/*/
!attachment/upload/template/
attachment/file/*/
!attachment/file/template/
target/
.classpath
.project
attachment/file/00000000-0000-0000-0000-000000000000/20231116/1700116133438u8
Binary files differ
attachment/file/template/import/1637810482657
Binary files differ
attachment/file/template/import/1638433783773
Binary files differ
attachment/file/template/import/1638526268935
Binary files differ
attachment/file/template/import/1638777503253
Binary files differ
attachment/file/template/import/1638843868161
Binary files differ
attachment/file/template/import/1639449306164
Binary files differ
doc/ϵͳÉè¼Æ
@@ -1006,4 +1006,11 @@
            //原错误的信息作为参数传过去,一并显示
            be.setMessagePara("error", e.getMessage());
            throw be;
        }
        }
64.数据建模规则
   å­—段显示名称,4-6个字,精练,描述才是写备注类型文字
   å­—段类型,用户选UserId,多人选UserIds,组织机构选orgUuid,多个选orgUuids,不能选String, ä¸»é”®pk,引用外键表字段选uuid
   æ˜¯å‚照的,一定要加上参照名,高级参照名和数据字典名,数据字典要加《xxx》来区分
   å¼•用外键表,一定要选,且对应的字段类型一定要是UUID
pom.xml
@@ -40,6 +40,17 @@
    </profiles>
    <dependencies>
        <!--补丁模块-->
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-patch</artifactId>
        </dependency>
        <!--人事管理-->
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-hr</artifactId>
        </dependency>
        <!--设备管理-->
        <dependency>
            <groupId>com.lx</groupId>
@@ -90,6 +101,10 @@
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-mq</artifactId>
        </dependency>
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-hr</artifactId>
        </dependency>
        <!--附件管理、文档管理-->
        <dependency>
@@ -166,16 +181,6 @@
        </dependency>
        <!--项目管理模块-->
        <!--    <dependency>-->
        <!--        <groupId>com.lx</groupId>-->
        <!--        <artifactId>product-project-server-base</artifactId>-->
        <!--        <version>1.0.0-SNAPSHOT</version>-->
        <!--    </dependency>-->
        <!--    <dependency>-->
        <!--        <groupId>com.lx</groupId>-->
        <!--        <artifactId>product-project-server-contract</artifactId>-->
        <!--        <version>1.0.0-SNAPSHOT</version>-->
        <!--    </dependency>-->
        <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-customer</artifactId>
@@ -188,7 +193,6 @@
            <groupId>org.spring</groupId>
            <artifactId>spring-server-master</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sendgrid</groupId>
            <artifactId>sendgrid-java</artifactId>
src/main/java/com/product/Application.java
@@ -29,35 +29,35 @@
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class, scanBasePackages = {"com.product", "org.spring.service.core"})
public class Application extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) {
        return applicationBuilder.sources(Application.class);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) {
        return applicationBuilder.sources(Application.class);
    }
    public static void main(String[] args) {
        try {
            SpringApplication.run(Application.class, args);
            boolean cacheFlat = DataPoolCacheImpl.getInstance().cacheALLData();
            boolean codeFlat = DataPoolCacheImpl.getInstance().initCodeManager();
            RegistValidate.getInstance().registValidateParameter();
            boolean connFlat = DataSourceManager.getInstance().initClientConnectionPool();
            InitialLoad.runInitialization();
            PdfConcurrenceUtil.init();
            String rootPath = ResourceUtils.getURL("classpath:").getPath();
            Global.setPropertyValue("root.path", rootPath);
            Global.setPropertyValue("jdk.home", System.getProperties().getProperty("java.home"));
            SpringBeanUtil.getBean(CreateSignatureFile.class).analysisSignaturePatch();
            SpringMVCContextHolder.getSystemLogger().info("root.path:" + rootPath);
            SpringMVCContextHolder.getSystemLogger().info("jdk.home:" + System.getProperties().getProperty("java.home"));
            if (cacheFlat && codeFlat  && connFlat) {
                SpringMVCContextHolder.getSystemLogger().info("Successful System Startup ! ");
            } else {
                SpringMVCContextHolder.getSystemLogger().error("System startup failed, Please contact the administrator!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error("System startup failed:"+e.getMessage());
            SpringMVCContextHolder.getSystemLogger().error("System startup failed, Please contact the administrator!");
        }
    }
    public static void main(String[] args) {
        try {
            SpringApplication.run(Application.class, args);
            boolean cacheFlat = DataPoolCacheImpl.getInstance().cacheALLData();
            boolean codeFlat = DataPoolCacheImpl.getInstance().initCodeManager();
            RegistValidate.getInstance().registValidateParameter();
            boolean connFlat = DataSourceManager.getInstance().initClientConnectionPool();
            InitialLoad.runInitialization();
            PdfConcurrenceUtil.init();
            String rootPath = ResourceUtils.getURL("classpath:").getPath();
            Global.setPropertyValue("root.path", rootPath);
            Global.setPropertyValue("jdk.home", System.getProperties().getProperty("java.home"));
            SpringBeanUtil.getBean(CreateSignatureFile.class).analysisSignaturePatch();
            SpringMVCContextHolder.getSystemLogger().info("root.path:" + rootPath);
            SpringMVCContextHolder.getSystemLogger().info("jdk.home:" + System.getProperties().getProperty("java.home"));
            if (cacheFlat && codeFlat && connFlat) {
                SpringMVCContextHolder.getSystemLogger().info("Successful System Startup ! ");
            } else {
                SpringMVCContextHolder.getSystemLogger().error("System startup failed, Please contact the administrator!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error("System startup failed:" + e.getMessage());
            SpringMVCContextHolder.getSystemLogger().error("System startup failed, Please contact the administrator!");
        }
    }
}
src/main/resources/application-dev.properties
@@ -1,37 +1,38 @@
#======================================#
#=============\u7CFB\u7EDF\u53C2\u6570 \u76F8\u5173\u914D\u7F6E==============#
#======================================#
#\u4E0A\u4F20\u6587\u4EF6\u8DEF\u5F84,\u7EDD\u5BF9
#\u5E73\u53F0\u7C7B\u578B device\u3001lift\u3001OA\u3001sei
system.platform.type=lift
#\u542F\u7528\u65E5\u5FD7\u6253\u5370
logger.isEnable=true
#\u65E5\u5FD7\u6253\u5370\u6307\u5B9A\u63A5\u53E3\uFF0C*\u8868\u793A\u5168\u90E8\u6253\u5370\uFF0C\u7A7A\u8868\u793A\u5168\u90E8\u4E0D\u6253\u5370\uFF0C\u6307\u5B9A\u591A\u4E2A\u63A5\u53E3\u9017\u53F7\u5206\u9694
logger.print.api=*
#\u662F\u5426\u7ACB\u5373\u6253\u5370\uFF0Cfalse\uFF1A\u63A5\u53E3\u6700\u540E\u4E00\u6B21\u6027\u6253\u5370 true\uFF1A\u8C03\u7528\u5373\u6253\u5370
logger.print.isAtOnce=true
logger.print.isAtOnce=false
#\u662F\u5426\u542F\u7528\u767B\u5F55\u63A5\u53E3\u7528\u6237\u540D\u5BC6\u7801\u52A0\u5BC6
login.ecc.isEnable=true
#\u662F\u5426\u542F\u7528\u63A5\u53E3\u7B7E\u540D\u8BA4\u8BC1
signature.isEnable=true
#\u5728\u542F\u7528\u63A5\u53E3\u7B7E\u540D\u8BA4\u8BC1\u65F6\uFF0C\u6392\u9664\u6307\u5B9A\u63A5\u53E3\u65E0\u9700\u7B7E\u540D\u8BA4\u8BC1
signature.exclude.path=/api/rsa/getKey/v1,/api/token/refresh/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/api/fileManager/get-static-file,/static/**
signature.exclude.path=/api/mobile/system/table/list-meta/v1,/api/rsa/getKey/v1,/api/token/refresh/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/static/**,/api/system-user/avatar/v1/*,/api/office/save-office/v1,/download-mobile-apk/v1
#\u7B7E\u540D\u8BA4\u8BC1Key
signature.key=299cb5bb4c9040a29c58304c25001d72
#\u63A5\u53E3\u7B7E\u540D\u8BA4\u8BC1\u6709\u6548\u671F\uFF0C\u5355\u4F4D\u79D2,0\u8868\u793A\u4E0D\u9A8C\u8BC1
signature.expire=0
#token\u8FC7\u671F\u65F6\u95F4\uFF0C\u5C0F\u65F6 6\u5206\u949F
#token\u8FC7\u671F\u65F6\u95F4\uFF0C\u5355\u4F4D:\u5C0F\u65F6 6\u5206\u949F
token.expiration=1000
#\u5FD8\u8BB0\u5BC6\u7801\u90AE\u4EF6\u4E2DToken\u7684\u8FC7\u671F\u65F6\u95F4
mail.token.expiration=1
#\u63A5\u53E3token\u8FC7\u671F\uFF0C\u5237\u65B0token\u7684\u63A5\u53E3\u4F7F\u7528\u7684Token\u8FC7\u671F\u65F6\u95F4
refresh.token.expiration=12
#token\u9A8C\u8BC1\u3001\u767B\u5F55\u9A8C\u8BC1\uFF0C\u6392\u9664URL,\u9017\u53F7\u5206\u9694
token.exclude.path=/api/token/refresh/v1,/login,/login/v1,/api/personalcenter/send-updatePwdEmail/v1,/api/language/login-language/v1,/api/lable_internationalization/list_lable_internation/v1,/api/lable_internationalization/list-label-internation-web/v1,/api/personalcenter/check-token/v1,/api/rsa/getKey/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/api/fileManager/get-static-file,/static/**
token.exclude.path=/api/mobile/system/table/list-meta/v1,/api/token/refresh/v1,/login,/login/v1,/api/personalcenter/send-updatePwdEmail/v1,/api/language/login-language/v1,/api/lable_internationalization/list_lable_internation/v1,/api/lable_internationalization/list-label-internation-web/v1,/api/personalcenter/check-token/v1,/api/rsa/getKey/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/api/fileManager/get-static-file,/static/**,/download-mobile-apk/v1
#\u662F\u5426\u542F\u7528\u6570\u636E\u64CD\u4F5C\u6743\u9650\u9A8C\u8BC1!
data.handle.valid.isEnable=false
#\u662F\u5426\u542F\u7528\u529F\u80FD\u6743\u9650\u9A8C\u8BC1
url.valid.isEnable=false
#\u4E0D\u9700\u8981\u6743\u9650\u9A8C\u8BC1\u63A5\u53E3\u5730\u5740,\u4E0D\u80FD\u914D/v1\u3001v2\u7B49
url.valid.pass=/api/prompt/business/findPrompt,/api/dictionary/list-dictionary-byname,/logout,/api/functions/onload-button,/api/language/login-language/v1,/api/fileManager/get-file-info,/api/language/list-international-fields,/api/user/language/update-language,/api/staff-manager/upload_staff_avatar,api/rsa/getKey,/api/mobile/network/check,/api/system/config/info,/api/fileManager/get-static-file,/static/**
url.valid.pass=/api/prompt/business/findPrompt,/api/dictionary/list-dictionary-byname,/logout,/api/functions/onload-button,/api/language/login-language/v1,/api/fileManager/get-file-info,/api/language/list-international-fields,/api/user/language/update-language,/api/staff-manager/upload_staff_avatar,api/rsa/getKey,/api/mobile/network/check,/api/system/config/info,/api/fileManager/get-static-file,/static/**,/download-mobile-apk
#\u662F\u5426\u6253\u5370\u9519\u8BEF\u4FE1\u606F
info.print=true
error.info.print=true
@@ -74,7 +75,10 @@
data.source.type=mysql
data.source.driver=com.mysql.jdbc.Driver
#################local###############################
data.source.url=jdbc:mysql://192.168.0.200:3308/product_db_v3.0.0?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
data.source.url=jdbc:mysql://192.168.0.200:3308/product_db_xn?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
#data.source.url=jdbc:mysql://192.168.0.200:3308/product_db_v3.0.0?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
#data.source.url=jdbc:mysql://127.0.0.1:3306/product_db_v3.0.0?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#data.source.url=jdbc:mysql://222.209.28.250:3005/product_db_lift?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
data.source.user=root
data.source.password=root123
##################local###############################
@@ -210,7 +214,7 @@
# \u80FD\u591F\u8F6C\u6362\u7684\u683C\u5F0F
can.transfer.format=docx,doc,xlsx,xls,pptx,ppt,txt,wps,wpt,et,eet
# \u65E0\u9700\u8F6C\u6362\u80FD\u591F\u5728\u7EBF\u9884\u89C8\u7684\u683C\u5F0F
can.direct.view.online.format=jpg,png,bmp,ico,html,pdf#\u5728\u7EBF\u7F16\u8F91\u662F\u5426\u5F00\u542F
can.direct.view.online.format=jpg,png,bmp,ico,html,pdf
enable.online.edit=false
# \u80FD\u5728\u7EBF\u7F16\u8F91\u7684\u6587\u4EF6\u683C\u5F0F
can.web.online.edit=doc,docx,xls,xlsx,ppt,pptx,wps,cvs,wps,wpt,et,eet
@@ -297,3 +301,12 @@
mobile.mac.valid.isEnable=false
# \u8BC1\u4E66\u4F4D\u7F6E
sign.dir.path=D:/test/lx-server/sign
#\u542F\u7528\u7CFB\u7EDF\u96C6\u7FA4
system.clusters.enable=false
#tomcate\u914D\u7F6E
server.tomcat.max-threads=200
server.tomcat.max-connections=1000
server.tomcat.max-http-header-size=1024KB
mobile.apk.version=3.0.0
src/main/resources/application-prod.properties
@@ -13,7 +13,7 @@
#\u662F\u5426\u542F\u7528\u63A5\u53E3\u7B7E\u540D\u8BA4\u8BC1
signature.isEnable=true
#\u5728\u542F\u7528\u63A5\u53E3\u7B7E\u540D\u8BA4\u8BC1\u65F6\uFF0C\u6392\u9664\u6307\u5B9A\u63A5\u53E3\u65E0\u9700\u7B7E\u540D\u8BA4\u8BC1
signature.exclude.path=/api/rsa/getKey/v1,/api/token/refresh/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/static/**
signature.exclude.path=/api/rsa/getKey/v1,/api/token/refresh/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/static/**,/api/system-user/avatar/v1/*,/api/office/save-office/v1
#\u7B7E\u540D\u8BA4\u8BC1Key
signature.key=299cb5bb4c9040a29c58304c25001d72
#\u63A5\u53E3\u7B7E\u540D\u8BA4\u8BC1\u6709\u6548\u671F\uFF0C\u5355\u4F4D\u79D2,0\u8868\u793A\u4E0D\u9A8C\u8BC1
@@ -25,13 +25,13 @@
#\u63A5\u53E3token\u8FC7\u671F\uFF0C\u5237\u65B0token\u7684\u63A5\u53E3\u4F7F\u7528\u7684Token\u8FC7\u671F\u65F6\u95F4
refresh.token.expiration=12
#token\u9A8C\u8BC1\u3001\u767B\u5F55\u9A8C\u8BC1\uFF0C\u6392\fu9664URL,\u9017\u53F7\u5206\u9694
token.exclude.path=/api/token/refresh/v1,/login,/login/v1,/api/personalcenter/send-updatePwdEmail/v1,/api/language/login-language/v1,/api/lable_internationalization/list_lable_internation/v1,/api/lable_internationalization/list-label-internation-web/v1,/api/personalcenter/check-token/v1,/api/rsa/getKey/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/static/**
token.exclude.path=/api/token/refresh/v1,/login,/login/v1,/api/personalcenter/send-updatePwdEmail/v1,/api/language/login-language/v1,/api/lable_internationalization/list_lable_internation/v1,/api/lable_internationalization/list-label-internation-web/v1,/api/personalcenter/check-token/v1,/api/rsa/getKey/v1,/api/mobile/network/check/v1,/api/system/config/info/v1,/api/fileManager/get-static-file,/static/**
#\u662F\u5426\u542F\u7528\u6570\u636E\u64CD\u4F5C\u6743\u9650\u9A8C\u8BC1!
data.handle.valid.isEnable=false
#\u662F\u5426\u542F\u7528\u529F\u80FD\u6743\u9650\u9A8C\u8BC1
url.valid.isEnable=false
#\u4E0D\u9700\u8981\u6743\u9650\u9A8C\u8BC1\u63A5\u53E3\u5730\u5740,\u4E0D\u80FD\u914D/v1\u3001v2\u7B49
url.valid.pass=/api/prompt/business/findPrompt,/api/dictionary/list-dictionary-byname,/logout,/api/functions/onload-button,/api/language/login-language/v1,/api/fileManager/get-file-info,/api/language/list-international-fields,/api/user/language/update-language,/api/staff-manager/upload_staff_avatar,api/rsa/getKey,/api/mobile/network/check,/api/system/config/info,/static/**
url.valid.pass=/api/prompt/business/findPrompt,/api/dictionary/list-dictionary-byname,/logout,/api/functions/onload-button,/api/language/login-language/v1,/api/fileManager/get-file-info,/api/language/list-international-fields,/api/user/language/update-language,/api/staff-manager/upload_staff_avatar,api/rsa/getKey,/api/mobile/network/check,/api/system/config/info,/api/fileManager/get-static-file,/static/**
#\u662F\u5426\u6253\u5370\u9519\u8BEF\u4FE1\u606F
info.print=true
error.info.print=true
src/main/resources/cache-dev.properties
@@ -1,11 +1,20 @@
# Redis\u670D\u52A1\u5668\u5730\u5740 ----------localhost--------------
#spring.redis.host=192.168.0.199
# Redis\u670D\u52A1\u5668\u914D\u7F6E
# spring.redis.host=192.168.0.199
#spring.redis.host=192.168.0.200
# \u5355\u673Aredis
spring.redis.host=127.0.0.1
spring.redis.port=6379
#\u96C6\u7FA4\u914D\u7F6E ====
spring.redis.cluster.enable=false
spring.redis.cluster.nodes=10.199.9.25:6390,10.199.9.26:6390,10.199.9.27:6390
#\u51FA\u73B0\u5F02\u5E38\u6700\u5927\u91CD\u8BD5\u6B21\u6570 \u9ED8\u8BA4\u503C=5
spring.redis.cluster.max-attempts=5
# \u8FD4\u56DE\u503C\u8D85\u65F6\u65F6\u95F4 \u4E3A\u7A7A\u9ED8\u8BA4\u503C= \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4
spring.redis.cluster.so-timeout=60000
#\u96C6\u7FA4\u914D\u7F6E
#redis \u901A\u7528\u914D\u7F6E
spring.redis.password=
spring.redis.database=13
#-------------------------------------------------
# \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.pool.max-active=200
@@ -15,3 +24,4 @@
spring.redis.pool.max-idle=100
# \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09
spring.redis.timeout=60000