raojiang 6 月之前
父节点
当前提交
a890431336
共有 18 个文件被更改,包括 547 次插入98 次删除
  1. 14 14
      common/common-core/src/main/java/com/hdkj/lt/core/rest/config/HttpClientConfig.java
  2. 1 1
      common/common-core/src/main/java/com/hdkj/lt/core/sys/service/impl/SysStruServiceImpl.java
  3. 0 1
      services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/LoadTransferBFApplication.java
  4. 8 8
      services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/log/service/impl/FhzgLogInfoServiceImpl.java
  5. 3 0
      services/load-transfer-bf/src/main/resources/bootstrap.yml
  6. 38 0
      services/load-transfer-bf/src/main/resources/config/dev/bootstrap-dev.yml
  7. 1 0
      services/load-transfer-bf/src/main/resources/config/dev/vol.properties
  8. 38 0
      services/load-transfer-bf/src/main/resources/config/local/bootstrap-local.yml
  9. 1 0
      services/load-transfer-bf/src/main/resources/config/local/vol.properties
  10. 33 0
      services/load-transfer-bf/src/main/resources/config/prod/bootstrap-prod.yml
  11. 38 0
      services/load-transfer-bf/src/main/resources/config/test/bootstrap-test.yml
  12. 1 0
      services/load-transfer-bf/src/main/resources/config/test/vol.properties
  13. 32 0
      services/load-transfer-bf/src/main/resources/config/uat/bootstrap-uat.yml
  14. 33 0
      services/load-transfer-bf/src/main/resources/kaptcha.properties
  15. 209 0
      services/load-transfer-bf/src/main/resources/log4j2.xml.bak
  16. 0 74
      services/load-transfer-bf/src/main/resources/logback.xml.bak
  17. 1 0
      services/load-transfer-bf/src/main/resources/sentinel.properties
  18. 96 0
      services/pom.xml

+ 14 - 14
common/common-core/src/main/java/com/hdkj/lt/core/rest/config/HttpClientConfig.java

@@ -87,20 +87,20 @@ public class HttpClientConfig {
         return new RestTemplate(hf);
     }
 
-    /**
-     * 支持异步的RestTemplate(过时的)
-     *
-     * @param restTemplate
-     * @return
-     */
-    @Bean(name = ASYNC_REST_TEMPLATE)
-    @ConditionalOnMissingBean(AsyncRestTemplate.class)
-    public AsyncRestTemplate asyncRestTemplate(RestTemplate restTemplate) {
-        Netty4ClientHttpRequestFactory requestFactory = new Netty4ClientHttpRequestFactory();
-        requestFactory.setConnectTimeout(poolConfigProperties.connectTimeout);
-        requestFactory.setReadTimeout(poolConfigProperties.readTimeout);
-        return new AsyncRestTemplate(requestFactory, restTemplate);
-    }
+//    /**
+//     * 支持异步的RestTemplate(过时的)
+//     *
+//     * @param restTemplate
+//     * @return
+//     */
+//    @Bean(name = ASYNC_REST_TEMPLATE)
+//    @ConditionalOnMissingBean(AsyncRestTemplate.class)
+//    public AsyncRestTemplate asyncRestTemplate(RestTemplate restTemplate) {
+//        Netty4ClientHttpRequestFactory requestFactory = new Netty4ClientHttpRequestFactory();
+//        requestFactory.setConnectTimeout(poolConfigProperties.connectTimeout);
+//        requestFactory.setReadTimeout(poolConfigProperties.readTimeout);
+//        return new AsyncRestTemplate(requestFactory, restTemplate);
+//    }
 
     /**
      * 创建http客户端工厂

+ 1 - 1
common/common-core/src/main/java/com/hdkj/lt/core/sys/service/impl/SysStruServiceImpl.java

@@ -44,7 +44,7 @@ public class SysStruServiceImpl extends ServiceImpl<SysStruMapper, SysStru> impl
 
     private final RedisRepository redisRepository;
 
-    private final ISysDictService sysDictService;
+//    private final ISysDictService sysDictService;
 
     @Override
     public void putAllToCache() {

+ 0 - 1
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/LoadTransferBFApplication.java

@@ -20,7 +20,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @SpringBootApplication(scanBasePackages = {SystemGlobalConstant.HUSSAR_BASE_PACKAGE, SystemGlobalConstant.BIZMS_BASE_PACKAGE})
 @MapperScan(basePackages = {SystemGlobalConstant.HUSSAR_DAO_PACKAGE, SystemGlobalConstant.BIZMS_DAO_PACKAGE, SystemGlobalConstant.BIZMS_MAPPER_PACKAGE})
 @EnableCaching
-@EnableCircuitBreaker
 public class LoadTransferBFApplication {
 
     public static void main(String[] args) {

+ 8 - 8
services/load-transfer-bf/src/main/java/com/hdkj/lt/bf/log/service/impl/FhzgLogInfoServiceImpl.java

@@ -40,7 +40,7 @@ import java.util.Optional;
 @RequiredArgsConstructor
 public class FhzgLogInfoServiceImpl extends ServiceImpl<FhzgLogInfoMapper, FhzgLogInfoEntity> implements FhzgLogInfoService {
 
-    private final ISysDictService sysDictService;
+//    private final ISysDictService sysDictService;
 
     @Override
     public void saveLog(ErrorLogParam logParam) {
@@ -74,13 +74,13 @@ public class FhzgLogInfoServiceImpl extends ServiceImpl<FhzgLogInfoMapper, FhzgL
     public Page<LogInfoDTO> listPage(LogInfoVO logInfoVO) {
         Page<LogInfoDTO> page = new Page<>(Optional.of(logInfoVO.getCurrent()).orElse(1L), Optional.of(logInfoVO.getSize()).orElse(10L));
         Page<LogInfoDTO> logInfoDtoPage = this.getBaseMapper().selectLogInfoPage(page, logInfoVO);
-        Map<String, Map<String, String>> dictVosByTypeNames = sysDictService.getCacheByTypeNames(DictConstants.SOURCE_SYSTEM, DictConstants.LOG_STAGE);
-        Map<String, String> sourceSystemDict = dictVosByTypeNames.get(DictConstants.SOURCE_SYSTEM);
-        Map<String, String> stageDict = dictVosByTypeNames.get(DictConstants.LOG_STAGE);
-        logInfoDtoPage.getRecords().forEach(e -> {
-            e.setEventType(EventTypeEnum.getEventTypeName(e.getEventType())).setSourceSystem(sourceSystemDict.get(e.getSourceSystem()))
-                    .setStage(stageDict.get(e.getStage())).setErrorLevel(ErrorLevelEnum.getErrorLevelName(e.getErrorLevel()));
-        });
+//        Map<String, Map<String, String>> dictVosByTypeNames = sysDictService.getCacheByTypeNames(DictConstants.SOURCE_SYSTEM, DictConstants.LOG_STAGE);
+//        Map<String, String> sourceSystemDict = dictVosByTypeNames.get(DictConstants.SOURCE_SYSTEM);
+//        Map<String, String> stageDict = dictVosByTypeNames.get(DictConstants.LOG_STAGE);
+//        logInfoDtoPage.getRecords().forEach(e -> {
+//            e.setEventType(EventTypeEnum.getEventTypeName(e.getEventType())).setSourceSystem(sourceSystemDict.get(e.getSourceSystem()))
+//                    .setStage(stageDict.get(e.getStage())).setErrorLevel(ErrorLevelEnum.getErrorLevelName(e.getErrorLevel()));
+//        });
         return logInfoDtoPage;
     }
 }

+ 3 - 0
services/load-transfer-bf/src/main/resources/bootstrap.yml

@@ -0,0 +1,3 @@
+spring:
+  profiles:
+    active: @environment@

+ 38 - 0
services/load-transfer-bf/src/main/resources/config/dev/bootstrap-dev.yml

@@ -0,0 +1,38 @@
+# 开发环境配置文件(27.54.100.167)
+NACOS_HOST: 192.168.10.176
+NACOS_PORT: 18848
+NACOS_PWD: FHZG@nacos2025
+NAMESPACE: 682eb787-7279-47d8-8516-79b521f96690
+
+server:
+  servlet:
+    context-path: /
+  port: 19001
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  mvc:
+    static-path-pattern: /static/**         # 静态资源路径
+    view:
+      prefix: /WEB-INF/view
+  application:
+    name: load-transfer-bf
+  cloud:
+    nacos:
+      discovery:
+        username: nacos
+        password: ${NACOS_PWD}
+        server-addr: ${NACOS_HOST}:${NACOS_PORT}
+        namespace: ${NAMESPACE}
+      config:
+        server-addr: ${spring.cloud.nacos.discovery.server-addr}
+        username: ${spring.cloud.nacos.discovery.username}
+        password: ${spring.cloud.nacos.discovery.password}
+        namespace: ${spring.cloud.nacos.discovery.namespace}
+        file-extension: yml
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #公共配置
+          - datasource-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}  #数据源配置
+          - hussar-common-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #轻骑兵框架配置
+          - load-transfer-custom-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #负荷转供系统自定义配置

+ 1 - 0
services/load-transfer-bf/src/main/resources/config/dev/vol.properties

@@ -0,0 +1 @@
+hussar.vol.server=http://192.168.10.93:18090

+ 38 - 0
services/load-transfer-bf/src/main/resources/config/local/bootstrap-local.yml

@@ -0,0 +1,38 @@
+# 本地环境配置文件(研发网终端)
+NACOS_HOST: 27.54.100.176
+NACOS_PORT: 18848
+NACOS_PWD: FHZG@nacos2025
+NAMESPACE: 682eb787-7279-47d8-8516-79b521f96690
+
+server:
+  servlet:
+    context-path: /
+  port: 19001
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  mvc:
+    static-path-pattern: /static/**         # 静态资源路径
+    view:
+      prefix: /WEB-INF/view
+  application:
+    name: load-transfer-bf
+  cloud:
+    nacos:
+      discovery:
+        username: nacos
+        password: ${NACOS_PWD}
+        server-addr: ${NACOS_HOST}:${NACOS_PORT}
+        namespace: ${NAMESPACE}
+      config:
+        server-addr: ${spring.cloud.nacos.discovery.server-addr}
+        username: ${spring.cloud.nacos.discovery.username}
+        password: ${spring.cloud.nacos.discovery.password}
+        namespace: ${spring.cloud.nacos.discovery.namespace}
+        file-extension: yml
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #公共配置
+          - datasource-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}  #数据源配置
+          - hussar-common-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #轻骑兵框架配置
+          - load-transfer-custom-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #负荷转供系统自定义配置

+ 1 - 0
services/load-transfer-bf/src/main/resources/config/local/vol.properties

@@ -0,0 +1 @@
+hussar.vol.server=http://27.54.100.93:18090

+ 33 - 0
services/load-transfer-bf/src/main/resources/config/prod/bootstrap-prod.yml

@@ -0,0 +1,33 @@
+# 生产环境配置文件(25.91.75.XXX)
+NACOS_HOST: 192.168.10.176
+NACOS_PORT: 18848
+NAMESPACE: 986c37cf-7d33-41ff-ae5d-c5fc62b83ade
+
+server:
+  servlet:
+    context-path: /
+  port: 19001
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  mvc:
+    static-path-pattern: /static/**         # 静态资源路径
+    view:
+      prefix: /WEB-INF/view
+  application:
+    name: load-transfer-bf
+  cloud:
+    nacos:
+      discovery:
+        server-addr: ${NACOS_HOST}:${NACOS_PORT}
+        namespace: ${NAMESPACE}
+      config:
+        server-addr: ${spring.cloud.nacos.discovery.server-addr}
+        namespace: ${spring.cloud.nacos.discovery.namespace}
+        file-extension: yml
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #公共配置
+          - datasource-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}  #数据源配置
+          - hussar-common-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #轻骑兵框架配置
+          - load-transfer-custom-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #负荷转供系统自定义配置

+ 38 - 0
services/load-transfer-bf/src/main/resources/config/test/bootstrap-test.yml

@@ -0,0 +1,38 @@
+# 测试环境配置文件(27.54.100.168)
+NACOS_HOST: 192.168.10.176
+NACOS_PORT: 18848
+NACOS_PWD: FHZG@nacos2025
+NAMESPACE: b0a462af-0f3b-4b67-b181-3de6f4b5d07d
+
+server:
+  servlet:
+    context-path: /
+  port: 19001
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  mvc:
+    static-path-pattern: /static/**         # 静态资源路径
+    view:
+      prefix: /WEB-INF/view
+  application:
+    name: load-transfer-bf
+  cloud:
+    nacos:
+      discovery:
+        username: nacos
+        password: ${NACOS_PWD}
+        server-addr: ${NACOS_HOST}:${NACOS_PORT}
+        namespace: ${NAMESPACE}
+      config:
+        server-addr: ${spring.cloud.nacos.discovery.server-addr}
+        username: ${spring.cloud.nacos.discovery.username}
+        password: ${spring.cloud.nacos.discovery.password}
+        namespace: ${spring.cloud.nacos.discovery.namespace}
+        file-extension: yml
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #公共配置
+          - datasource-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}  #数据源配置
+          - hussar-common-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #轻骑兵框架配置
+          - load-transfer-custom-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #负荷转供系统自定义配置

+ 1 - 0
services/load-transfer-bf/src/main/resources/config/test/vol.properties

@@ -0,0 +1 @@
+hussar.vol.server=http://192.168.10.93:18090

+ 32 - 0
services/load-transfer-bf/src/main/resources/config/uat/bootstrap-uat.yml

@@ -0,0 +1,32 @@
+NACOS_HOST: http://jmenv-dncs.hb-2-am301-a.res.sgmc.sgcc.com.cn
+NACOS_PORT: 8848
+NAMESPACE: 74226456-1d37-4a89-bbb3-08d24fb54126
+
+server:
+  servlet:
+    context-path: /
+  port: 19001
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  mvc:
+    static-path-pattern: /static/**         # 静态资源路径
+    view:
+      prefix: /WEB-INF/view
+  application:
+    name: load-transfer-bf
+  cloud:
+    nacos:
+      discovery:
+        server-addr: ${NACOS_HOST}:${NACOS_PORT}
+        namespace: ${NAMESPACE}
+      config:
+        server-addr: ${spring.cloud.nacos.discovery.server-addr}
+        namespace: ${spring.cloud.nacos.discovery.namespace}
+        file-extension: yml
+        shared-configs:
+          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #公共配置
+          - datasource-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}  #数据源配置
+          - hussar-common-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #轻骑兵框架配置
+          - load-transfer-custom-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #负荷转供系统自定义配置

+ 33 - 0
services/load-transfer-bf/src/main/resources/kaptcha.properties

@@ -0,0 +1,33 @@
+#============================验证码相关配置=====================
+#是否加边框<yes,no>
+kaptcha.border=no
+#边框颜色<RGB>
+kaptcha.border.color=105,179,90
+#字体颜色
+kaptcha.textproducer.font.color=black
+#字体大小
+kaptcha.textproducer.font.size=40
+#字体类型
+kaptcha.textproducer.font.names=NexaBlack
+#验证码字符个数
+kaptcha.textproducer.char.length=4
+#验证码字符间距
+kaptcha.textproducer.char.space=3
+#文本集合,验证码值从此集合中获取,不包含易混字符1、l、0、o等
+kaptcha.textproducer.char.string=ABCDEFGHGKMNPQRSTUVWXYZ23456789
+#验证码图片宽度
+kaptcha.image.width=120
+#验证码图片高度
+kaptcha.image.height=46
+#session key
+kaptcha.session.key=code
+#背景颜色渐变开始颜色
+kaptcha.background.clear.from=247,247,247
+#背景颜色渐变结束颜色
+kaptcha.background.clear.to=247,247,247
+#验证码干扰实现类<默认不加干扰线>
+kaptcha.noise.impl=com.google.code.kaptcha.impl.NoNoise
+#验证码阴影干扰
+kaptcha.obscurificator.impl=com.google.code.kaptcha.impl.ShadowGimpy
+#验证码随机数生成器,排除0、1、2、o、O、i、I等易混字符,且随机值必须包含大小写和数字
+kaptcha.textproducer.impl=com.jxdinfo.hussar.authorization.kaptcha.KaptchaRandom

+ 209 - 0
services/load-transfer-bf/src/main/resources/log4j2.xml.bak

@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- status : 这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,会看到log4j2内部各种详细输出 monitorInterval 
+	: Log4j能够自动检测修改配置文件和重新配置本身, 设置间隔秒数。 注:本配置文件的目标是将不同级别的日志输出到不同文件,最大2MB一个文件, 
+	文件数据达到最大值时,旧数据会被压缩并放进指定文件夹 -->
+<Configuration status="WARN" monitorInterval="30">
+    <Properties>
+        <!-- 配置日志文件输出目录,此配置将日志输出到目录下的指定文件夹,防止目录遍历,末级文件夹必须为logs -->
+        <Property name="LOG.PATH">.logs/${project.artifactId}</Property>
+        <!-- 控制台输出日志级别 -->
+        <Property name="LOG.LEVEL.CONSOLE.PRINT">warn</Property>
+        <Property name="LOG.LEVEL.CONSOLE.ERROR">error</Property>
+        <!-- 日志输出格式 -->
+        <Property name="PROJECT.NAME">${project.artifactId}</Property>
+        <Property name="PID">????</Property>
+        <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
+        <Property name="LOG_LEVEL_PATTERN">%5p</Property>
+        <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
+        <Property name="CONSOLE_LOG_PATTERN_COLOR">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}}
+            %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint}
+            %clr{%-c{4}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
+        </Property>
+        <Property name="CONSOLE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%15.15t]
+            %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
+        </Property>
+        <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t]
+            %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
+        </Property>
+    </Properties>
+
+    <Appenders>
+
+        <!-- 优先级从高到低分别是 OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
+        <!-- 单词解释: Match:匹配 DENY:拒绝 Mismatch:不匹配 ACCEPT:接受 -->
+        <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
+        <!--输出日志的格式 %d{yyyy-MM-dd HH:mm:ss, SSS} : 日志生产时间 %p : 日志输出格式 %c : logger的名称
+            %m : 日志内容,即 logger.info("message") %n : 换行符 %C : Java类名 %L : 日志输出所在行数 %M
+            : 日志输出所在方法名 -->
+
+        <!--这个输出控制台的配置,这里输出除了warn和error级别的信息到System.out -->
+        <Console name="console_out_appender" target="SYSTEM_OUT" follow="true">
+            <!-- 输出日志的格式 -->
+            <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN_COLOR}"/>
+            <Filters>
+                <!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
+                <ThresholdFilter level="${LOG.LEVEL.CONSOLE.PRINT}" onMatch="deny" onMismatch="neutral"/>
+                <!-- 控制台拒绝包含 (Preparing:|Parameters:|Total:|Row:) 内容 -->
+                <RegexFilter regex=".*(Preparing:|Parameters:|Total:|Row:).*" onMatch="deny" onMismatch="neutral"/>
+            </Filters>
+        </Console>
+        <!--这个输出控制台的配置,这里输出warn和error级别的信息到System.err,在eclipse控制台上看到的是红色文字 -->
+        <Console name="console_err_appender" target="system_err">
+            <!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
+            <ThresholdFilter level="${LOG.LEVEL.CONSOLE.ERROR}"
+                             onMatch="accept" onMismatch="deny"/>
+            <!-- 输出日志的格式 -->
+            <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN_COLOR}"/>
+        </Console>
+
+        <!-- TRACE级别日志 -->
+        <!-- 设置日志格式并配置日志压缩格式,压缩文件独立放在一个文件夹内, 日期格式不能为冒号,否则无法生成,因为文件名不允许有冒号,此appender只输出trace级别的数据到trace.log -->
+        <RollingRandomAccessFile name="trace_appender"
+                                 immediateFlush="true"
+                                 fileName="${LOG.PATH}/${PROJECT.NAME}-trace.log"
+                                 filePattern="${LOG.PATH}/${PROJECT.NAME}/trace/${PROJECT.NAME}-trace - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
+            <PatternLayout>
+                <pattern>${sys:FILE_LOG_PATTERN}</pattern>
+            </PatternLayout>
+            <Policies>
+                <!-- 每个日志文件最大2MB -->
+                <SizeBasedTriggeringPolicy size="2MB"/>
+            </Policies>
+            <Filters>
+                <!-- 此Filter意思是,只输出debug级别的数据 -->
+                <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
+                <ThresholdFilter level="debug" onMatch="deny"
+                                 onMismatch="neutral"/>
+                <ThresholdFilter level="trace" onMatch="accept"
+                                 onMismatch="deny"/>
+            </Filters>
+        </RollingRandomAccessFile>
+
+        <!-- DEBUG级别日志 -->
+        <!-- 设置日志格式并配置日志压缩格式,压缩文件独立放在一个文件夹内, 日期格式不能为冒号,否则无法生成,因为文件名不允许有冒号,此appender只输出debug级别的数据到debug.log -->
+        <RollingRandomAccessFile name="debug_appender"
+                                 immediateFlush="true"
+                                 fileName="${LOG.PATH}/${PROJECT.NAME}-debug.log"
+                                 filePattern="${LOG.PATH}/${PROJECT.NAME}/debug/${PROJECT.NAME}-debug - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
+            <PatternLayout>
+                <pattern>${sys:FILE_LOG_PATTERN}</pattern>
+            </PatternLayout>
+            <Policies>
+                <!-- 每个日志文件最大2MB -->
+                <SizeBasedTriggeringPolicy size="2MB"/>
+
+                <!-- 如果启用此配置,则日志会按文件名生成新压缩文件, 即如果filePattern配置的日期格式为 %d{yyyy-MM-dd HH}
+                    ,则每小时生成一个压缩文件, 如果filePattern配置的日期格式为 %d{yyyy-MM-dd} ,则天生成一个压缩文件 -->
+                <!--<TimeBasedTriggeringPolicy interval="1" modulate="true" /> -->
+            </Policies>
+            <Filters>
+                <!-- 此Filter意思是,只输出debug级别的数据 -->
+                <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
+                <ThresholdFilter level="info" onMatch="deny"
+                                 onMismatch="neutral"/>
+                <ThresholdFilter level="debug" onMatch="accept"
+                                 onMismatch="deny"/>
+            </Filters>
+        </RollingRandomAccessFile>
+
+        <!-- INFO级别日志 -->
+        <RollingRandomAccessFile name="info_appender"
+                                 immediateFlush="true" fileName="${LOG.PATH}/${PROJECT.NAME}-info.log"
+                                 filePattern="${LOG.PATH}/${PROJECT.NAME}/info/${PROJECT.NAME}-info - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
+            <PatternLayout>
+                <pattern>${sys:FILE_LOG_PATTERN}</pattern>
+            </PatternLayout>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="20MB"/>
+            </Policies>
+            <Filters>
+                <ThresholdFilter level="warn" onMatch="deny"
+                                 onMismatch="neutral"/>
+                <ThresholdFilter level="info" onMatch="accept"
+                                 onMismatch="deny"/>
+            </Filters>
+        </RollingRandomAccessFile>
+
+        <!-- WARN级别日志 -->
+        <RollingRandomAccessFile name="warn_appender"
+                                 immediateFlush="true" fileName="${LOG.PATH}/${PROJECT.NAME}-warn.log"
+                                 filePattern="${LOG.PATH}/${PROJECT.NAME}/warn/${PROJECT.NAME}-warn - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
+            <PatternLayout>
+                <pattern>${sys:FILE_LOG_PATTERN}</pattern>
+            </PatternLayout>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10MB"/>
+            </Policies>
+            <Filters>
+                <ThresholdFilter level="error" onMatch="deny"
+                                 onMismatch="neutral"/>
+                <ThresholdFilter level="warn" onMatch="accept"
+                                 onMismatch="deny"/>
+            </Filters>
+        </RollingRandomAccessFile>
+
+        <!-- ERROR级别日志 -->
+        <RollingRandomAccessFile name="error_appender"
+                                 immediateFlush="true"
+                                 fileName="${LOG.PATH}/${PROJECT.NAME}-error.log"
+                                 filePattern="${LOG.PATH}/${PROJECT.NAME}/error/${PROJECT.NAME}-error - %d{yyyy-MM-dd HH_mm_ss}.log.gz">
+            <PatternLayout>
+                <pattern>${sys:FILE_LOG_PATTERN}</pattern>
+            </PatternLayout>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="2MB"/>
+            </Policies>
+            <Filters>
+                <ThresholdFilter level="error" onMatch="accept"
+                                 onMismatch="deny"/>
+            </Filters>
+        </RollingRandomAccessFile>
+
+    </Appenders>
+
+    <Loggers>
+        <!-- 配置日志的根节点 -->
+        <Root level="ALL">
+            <AppenderRef ref="console_out_appender"/>
+            <AppenderRef ref="console_err_appender"/>
+            <AppenderRef ref="trace_appender"/>
+            <AppenderRef ref="debug_appender"/>
+            <AppenderRef ref="info_appender"/>
+            <AppenderRef ref="warn_appender"/>
+            <AppenderRef ref="error_appender"/>
+        </Root>
+
+        <!-- 禁用类路径打印 -->
+        <Logger name="org.springframework.boot.context.logging.ClasspathLoggingApplicationListener" level="off"/>
+        <!-- 关闭Mybatis的Mapper 解析日志 -->
+        <Logger name="org.apache.ibatis.binding.MapperRegistry" level="warn"/>
+        <Logger name="org.mybatis.spring.mapper.MapperScannerConfigurer" level="warn"/>
+
+        <!-- 第三方日志系统 -->
+        <Logger name="org.springframework.core" level="info"/>
+        <Logger name="org.springframework.beans" level="info"/>
+        <Logger name="org.springframework.context" level="info"/>
+        <Logger name="org.springframework.web" level="info"/>
+        <Logger name="org.jboss.netty" level="warn"/>
+        <Logger name="org.apache.http" level="warn"/>
+        <Logger name="com.sgcc" level="debug"/>
+        <Logger name="com.sgcc.isc" level="debug"/>
+        <Logger name="org.jasig" level="debug"/>
+        <Logger name="org.hibernate" level="error"/>
+        <Logger name="org.springframework.boot.autoconfigure" level="warn"/>
+        <Logger name="org.springframework.boot.context.config" level="warn"/>
+        <Logger name="org.springframework.cloud" level="warn"/>
+
+        <Logger name="org.activiti.engine.impl.db" level="DEBUG">
+            <AppenderRef ref="debug_appender"/>
+        </Logger>
+
+        <Logger name="com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder" level="OFF"/>
+
+        <!--屏蔽nacos心跳-->
+        <Logger name="com.alibaba.nacos" level="OFF">
+            <appender-ref ref="error_appender"/>
+        </Logger>
+    </Loggers>
+
+</Configuration>

+ 0 - 74
services/load-transfer-bf/src/main/resources/logback.xml.bak

@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-    <property name="log.path" value="logs/zhzc-service"/>
-    <!-- 日志输出格式 -->
-    <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
-
-    <!-- 控制台输出 -->
-    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-    </appender>
-
-    <!-- 系统日志输出 -->
-    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>/${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-            <!-- 日志最大的历史 60天 -->
-            <maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>/${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-            <!-- 日志最大的历史 60天 -->
-            <maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-    <logger name="com.ruoyi" level="info"/>
-    <!-- Spring日志级别控制  -->
-    <logger name="org.springframework" level="warn"/>
-
-    <root level="info">
-        <appender-ref ref="console"/>
-    </root>
-
-    <!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info"/>
-        <appender-ref ref="file_error"/>
-    </root>
-</configuration>

+ 1 - 0
services/load-transfer-bf/src/main/resources/sentinel.properties

@@ -0,0 +1 @@
+csp.sentinel.heartbeat.api.path=/nacos/registry/machine

+ 96 - 0
services/pom.xml

@@ -30,6 +30,11 @@
             <groupId>com.hdkj</groupId>
             <artifactId>ruoyi-common-security</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.hdkj</groupId>
+            <artifactId>ruoyi-common-datasource</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>com.hdkj</groupId>
             <artifactId>load-transfer-si-api</artifactId>
@@ -80,9 +85,100 @@
             <groupId>org.springframework.statemachine</groupId>
             <artifactId>spring-statemachine-kryo</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+        </dependency>
     </dependencies>
 
+    <profiles>
+        <profile>
+            <!-- 本地环境 -->
+            <id>local</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <properties>
+                <environment>local</environment>
+            </properties>
+        </profile>
+        <profile>
+            <!-- 开发环境 -->
+            <id>dev</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <properties>
+                <environment>dev</environment>
+            </properties>
+        </profile>
+        <profile>
+            <!-- 测试环境 -->
+            <id>test</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <properties>
+                <environment>test</environment>
+            </properties>
+        </profile>
+        <profile>
+            <!-- UAT环境 -->
+            <id>uat</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <properties>
+                <environment>uat</environment>
+            </properties>
+        </profile>
+        <profile>
+            <!-- 生产环境 -->
+            <id>prod</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <properties>
+                <environment>prod</environment>
+            </properties>
+        </profile>
+    </profiles>
+
+
     <build>
+
+        <resources>
+            <resource>
+                <!-- 指定配置文件所在的resources目录 -->
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>bootstrap.yml</include>
+                    <include>kaptcha.properties</include>
+                    <include>log4j2.xml</include>
+                    <include>sentinel.properties</include>
+                </includes>
+                <filtering>true</filtering>
+            </resource>
+            <resource>
+                <!-- 把被激活环境下的配置文件都编译到classpath下 -->
+                <directory>src/main/resources/config/${environment}</directory>
+            </resource>
+            <resource>
+                <!-- 指定MyBatis XML文件所在的目录 -->
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/mapping/*.xml</include>
+                </includes>
+            </resource>
+            <resource>
+                <!-- 模板打包到template -->
+                <directory>src/main/resources/template</directory>
+                <targetPath>template/</targetPath>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>