浏览代码

添加忽略文件

yq 4 年之前
当前提交
4a7adfb12b
共有 25 个文件被更改,包括 1257 次插入0 次删除
  1. 38 0
      .gitignore
  2. 147 0
      fiveep-controller/pom.xml
  3. 19 0
      fiveep-controller/src/main/java/com/bizmatics/controller/DemoControllerApplication.java
  4. 8 0
      fiveep-controller/src/main/java/com/bizmatics/controller/web/TestController.java
  5. 63 0
      fiveep-controller/src/main/resources/application-dev.properties
  6. 63 0
      fiveep-controller/src/main/resources/application-prod.properties
  7. 63 0
      fiveep-controller/src/main/resources/application-test.properties
  8. 10 0
      fiveep-controller/src/main/resources/application.properties
  9. 18 0
      fiveep-controller/src/main/resources/ehcache.xml
  10. 157 0
      fiveep-controller/src/main/resources/log4j2-spring-dev.xml
  11. 131 0
      fiveep-controller/src/main/resources/log4j2-spring-prod.xml
  12. 151 0
      fiveep-controller/src/main/resources/log4j2-spring-test.xml
  13. 11 0
      fiveep-controller/src/main/resources/smart-doc.json
  14. 0 0
      fiveep-controller/src/main/resources/static/doc/AllInOne.css
  15. 0 0
      fiveep-controller/src/main/resources/static/doc/index.html
  16. 116 0
      fiveep-controller/src/main/resources/static/doc/search.js
  17. 13 0
      fiveep-controller/src/test/java/com/bizmatics/controller/DemoControllerApplicationTests.java
  18. 24 0
      fiveep-model/pom.xml
  19. 8 0
      fiveep-model/src/main/java/com/bizmatics/model/Test.java
  20. 38 0
      fiveep-persistence/pom.xml
  21. 8 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/TestMapper.java
  22. 14 0
      fiveep-persistence/src/main/resources/mapper/mysql/Test.xml
  23. 90 0
      fiveep-service/pom.xml
  24. 8 0
      fiveep-service/src/main/java/com/bizmatics/service/TestService.java
  25. 59 0
      pom.xml

+ 38 - 0
.gitignore

@@ -0,0 +1,38 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Example user template template
+### Example user template
+
+# IntelliJ project files
+.idea
+*.iml
+out
+gen
+target
+### Java template
+# Compiled class file
+*.class
+
+# Log file
+*.log
+log
+logs
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+.DS_Store

+ 147 - 0
fiveep-controller/pom.xml

@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>fiveep-controller</artifactId>
+    <version>0.0.1</version>
+    <name>fiveep-controller</name>
+
+    <properties>
+        <project.name>${parent.name}</project.name>
+    </properties>
+    <parent>
+        <artifactId>fiveep</artifactId>
+        <groupId>com.bizmatics</groupId>
+        <version>0.0.1</version>
+    </parent>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>fiveep-service</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-log4j2</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+            <version>5.2.7.RELEASE</version>
+        </dependency>
+
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter</artifactId>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->
+<!--            <exclusions>-->
+<!--                <exclusion>-->
+<!--                    <artifactId>HdrHistogram</artifactId>-->
+<!--                    <groupId>org.hdrhistogram</groupId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>-->
+<!--            <exclusions>-->
+<!--                <exclusion>-->
+<!--                    <artifactId>HdrHistogram</artifactId>-->
+<!--                    <groupId>org.hdrhistogram</groupId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-openfeign</artifactId>-->
+<!--            <exclusions>-->
+<!--                <exclusion>-->
+<!--                    <artifactId>HdrHistogram</artifactId>-->
+<!--                    <groupId>org.hdrhistogram</groupId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
+<!--        </dependency>-->
+
+    </dependencies>
+
+    <build>
+        <finalName>${parent.artifactId}</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <testFailureIgnore>true</testFailureIgnore>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                    <include>**/*.properties</include>
+                    <include>**/*.yml</include>
+                </includes>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+    </build>
+
+</project>

+ 19 - 0
fiveep-controller/src/main/java/com/bizmatics/controller/DemoControllerApplication.java

@@ -0,0 +1,19 @@
+package com.bizmatics.controller;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@EnableFeignClients("com.bizmatics")
+@ComponentScan("com.bizmatics")
+@SpringBootApplication
+@EnableTransactionManagement
+public class DemoControllerApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(DemoControllerApplication.class, args);
+    }
+
+}

+ 8 - 0
fiveep-controller/src/main/java/com/bizmatics/controller/web/TestController.java

@@ -0,0 +1,8 @@
+package com.bizmatics.controller.web;
+
+/**
+ * @author yq
+ * @date 2021/7/5 18:12
+ */
+public class TestController {
+}

+ 63 - 0
fiveep-controller/src/main/resources/application-dev.properties

@@ -0,0 +1,63 @@
+debug=true
+spring.main.lazy-initialization=false
+spring.main.allow-bean-definition-overriding=true
+# application
+server.port=8008
+# mybatis-plus
+mybatis-plus.mapper-locations=classpath*:mapper/**/*.xml
+mybatis-plus.configuration.lazy-loading-enabled=true
+mybatis-plus.configuration.map-underscore-to-camel-case=true
+mybatis-plus.global-config.db-config.id-type=auto
+mybatis-plus.global-config.mapperRegistryCache=true
+mybatis-plus.configuration.defaultStatementTimeout=3
+mybatis.refresh.enabled=true
+mybatis.refresh.delay-seconds=10
+mybatis.refresh.sleep-seconds=20
+# datasource
+spring.autoconfigure.exclude=com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+spring.datasource.dynamic.primary=mast
+spring.datasource.dynamic.datasource.mast.url=jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
+spring.datasource.dynamic.datasource.mast.username=root
+spring.datasource.dynamic.datasource.mast.password=
+spring.datasource.dynamic.druid.initial-size=5                                                                       
+spring.datasource.dynamic.druid.min-idle=5
+spring.datasource.dynamic.druid.max-active=30
+spring.datasource.dynamic.druid.max-wait=60000
+spring.datasource.dynamic.druid.validation-query=select 1
+spring.datasource.dynamic.druid.test-while-idle=true
+spring.datasource.dynamic.druid.test-on-borrow=true
+spring.datasource.dynamic.druid.test-on-return=false
+spring.datasource.dynamic.druid.pool-prepared-statements=true
+spring.datasource.dynamic.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.dynamic.druid.time-between-eviction-runs-millis=60000
+spring.datasource.dynamic.druid.min-evictable-idle-time-millis=300000
+spring.datasource.dynamic.druid.filters=wall,stat,log4j2
+# druid \u76D1\u63A7 WebStatFilter\u914D\u7F6E
+spring.datasource.druid.web-stat-filter.enabled=true
+spring.datasource.druid.web-stat-filter.url-pattern=/*
+spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
+spring.datasource.druid.web-stat-filter.profile-enable=true
+# druid \u89C6\u56FE StatViewServlet\u914D\u7F6E
+spring.datasource.druid.stat-view-servlet.enabled=true
+spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
+spring.datasource.druid.stat-view-servlet.reset-enable=true
+spring.datasource.druid.stat-view-servlet.login-username=admin
+spring.datasource.druid.stat-view-servlet.login-password=@dmin1234
+# datasource log
+spring.datasource.druid.filter.slf4j.enabled=true
+spring.datasource.druid.filter.slf4j.statement-create-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.statement-close-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.result-set-open-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.result-set-close-after-log-enabled=false
+# jackson
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.time-zone=GMT+0
+spring.jackson.default-property-inclusion=always
+#spring.jackson.serialization.indent_output=true
+spring.jackson.serialization.fail-on-empty-beans=false
+spring.jackson.deserialization.fail-on-unknown-properties=false
+spring.jackson.parser.allow-unquoted-control-chars=true
+spring.jackson.parser.allow-single-quotes=true
+# gzip
+server.compression.enabled=true
+server.compression.mime-types=application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain

+ 63 - 0
fiveep-controller/src/main/resources/application-prod.properties

@@ -0,0 +1,63 @@
+debug=true
+spring.main.lazy-initialization=false
+spring.main.allow-bean-definition-overriding=true
+# application
+server.port=8008
+# mybatis-plus
+mybatis-plus.mapper-locations=classpath*:mapper/**/*.xml
+mybatis-plus.configuration.lazy-loading-enabled=true
+mybatis-plus.configuration.map-underscore-to-camel-case=true
+mybatis-plus.global-config.db-config.id-type=auto
+mybatis-plus.global-config.mapperRegistryCache=true
+mybatis-plus.configuration.defaultStatementTimeout=3
+mybatis.refresh.enabled=true
+mybatis.refresh.delay-seconds=10
+mybatis.refresh.sleep-seconds=20
+# datasource
+spring.autoconfigure.exclude=com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+spring.datasource.dynamic.primary=mast
+spring.datasource.dynamic.datasource.mast.url=jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
+spring.datasource.dynamic.datasource.mast.username=root
+spring.datasource.dynamic.datasource.mast.password=
+spring.datasource.dynamic.druid.initial-size=5                                                                       
+spring.datasource.dynamic.druid.min-idle=5
+spring.datasource.dynamic.druid.max-active=30
+spring.datasource.dynamic.druid.max-wait=60000
+spring.datasource.dynamic.druid.validation-query=select 1
+spring.datasource.dynamic.druid.test-while-idle=true
+spring.datasource.dynamic.druid.test-on-borrow=true
+spring.datasource.dynamic.druid.test-on-return=false
+spring.datasource.dynamic.druid.pool-prepared-statements=true
+spring.datasource.dynamic.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.dynamic.druid.time-between-eviction-runs-millis=60000
+spring.datasource.dynamic.druid.min-evictable-idle-time-millis=300000
+spring.datasource.dynamic.druid.filters=wall,stat,log4j2
+# druid \u76D1\u63A7 WebStatFilter\u914D\u7F6E
+spring.datasource.druid.web-stat-filter.enabled=true
+spring.datasource.druid.web-stat-filter.url-pattern=/*
+spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
+spring.datasource.druid.web-stat-filter.profile-enable=true
+# druid \u89C6\u56FE StatViewServlet\u914D\u7F6E
+spring.datasource.druid.stat-view-servlet.enabled=true
+spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
+spring.datasource.druid.stat-view-servlet.reset-enable=true
+spring.datasource.druid.stat-view-servlet.login-username=admin
+spring.datasource.druid.stat-view-servlet.login-password=@dmin1234
+# datasource log
+spring.datasource.druid.filter.slf4j.enabled=true
+spring.datasource.druid.filter.slf4j.statement-create-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.statement-close-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.result-set-open-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.result-set-close-after-log-enabled=false
+# jackson
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.time-zone=GMT+0
+spring.jackson.default-property-inclusion=always
+#spring.jackson.serialization.indent_output=true
+spring.jackson.serialization.fail-on-empty-beans=false
+spring.jackson.deserialization.fail-on-unknown-properties=false
+spring.jackson.parser.allow-unquoted-control-chars=true
+spring.jackson.parser.allow-single-quotes=true
+# gzip
+server.compression.enabled=true
+server.compression.mime-types=application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain

+ 63 - 0
fiveep-controller/src/main/resources/application-test.properties

@@ -0,0 +1,63 @@
+debug=true
+spring.main.lazy-initialization=false
+spring.main.allow-bean-definition-overriding=true
+# application
+server.port=8008
+# mybatis-plus
+mybatis-plus.mapper-locations=classpath*:mapper/**/*.xml
+mybatis-plus.configuration.lazy-loading-enabled=true
+mybatis-plus.configuration.map-underscore-to-camel-case=true
+mybatis-plus.global-config.db-config.id-type=auto
+mybatis-plus.global-config.mapperRegistryCache=true
+mybatis-plus.configuration.defaultStatementTimeout=3
+mybatis.refresh.enabled=true
+mybatis.refresh.delay-seconds=10
+mybatis.refresh.sleep-seconds=20
+# datasource
+spring.autoconfigure.exclude=com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+spring.datasource.dynamic.primary=mast
+spring.datasource.dynamic.datasource.mast.url=jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
+spring.datasource.dynamic.datasource.mast.username=root
+spring.datasource.dynamic.datasource.mast.password=
+spring.datasource.dynamic.druid.initial-size=5                                                                       
+spring.datasource.dynamic.druid.min-idle=5
+spring.datasource.dynamic.druid.max-active=30
+spring.datasource.dynamic.druid.max-wait=60000
+spring.datasource.dynamic.druid.validation-query=select 1
+spring.datasource.dynamic.druid.test-while-idle=true
+spring.datasource.dynamic.druid.test-on-borrow=true
+spring.datasource.dynamic.druid.test-on-return=false
+spring.datasource.dynamic.druid.pool-prepared-statements=true
+spring.datasource.dynamic.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.dynamic.druid.time-between-eviction-runs-millis=60000
+spring.datasource.dynamic.druid.min-evictable-idle-time-millis=300000
+spring.datasource.dynamic.druid.filters=wall,stat,log4j2
+# druid \u76D1\u63A7 WebStatFilter\u914D\u7F6E
+spring.datasource.druid.web-stat-filter.enabled=true
+spring.datasource.druid.web-stat-filter.url-pattern=/*
+spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
+spring.datasource.druid.web-stat-filter.profile-enable=true
+# druid \u89C6\u56FE StatViewServlet\u914D\u7F6E
+spring.datasource.druid.stat-view-servlet.enabled=true
+spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
+spring.datasource.druid.stat-view-servlet.reset-enable=true
+spring.datasource.druid.stat-view-servlet.login-username=admin
+spring.datasource.druid.stat-view-servlet.login-password=@dmin1234
+# datasource log
+spring.datasource.druid.filter.slf4j.enabled=true
+spring.datasource.druid.filter.slf4j.statement-create-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.statement-close-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.result-set-open-after-log-enabled=false
+spring.datasource.druid.filter.slf4j.result-set-close-after-log-enabled=false
+# jackson
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.time-zone=GMT+0
+spring.jackson.default-property-inclusion=always
+#spring.jackson.serialization.indent_output=true
+spring.jackson.serialization.fail-on-empty-beans=false
+spring.jackson.deserialization.fail-on-unknown-properties=false
+spring.jackson.parser.allow-unquoted-control-chars=true
+spring.jackson.parser.allow-single-quotes=true
+# gzip
+server.compression.enabled=true
+server.compression.mime-types=application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain

+ 10 - 0
fiveep-controller/src/main/resources/application.properties

@@ -0,0 +1,10 @@
+# common
+spring.profiles.active=dev
+spring.application.name=fiveep
+spring.main.banner-mode=off
+mybatis-plus.global-config.banner=false
+# log4j2
+logging.config=classpath:log4j2-spring-${spring.profiles.active}.xml
+spring.servlet.multipart.max-file-size=10MB
+spring.servlet.multipart.max-request-size=10MB
+id.workerId=${random.long(1,63)}

+ 18 - 0
fiveep-controller/src/main/resources/ehcache.xml

@@ -0,0 +1,18 @@
+<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
+
+    <cache name="specValueCode"
+           maxElementsInMemory="20000"
+           eternal="false"
+           timeToLiveSeconds="3600"
+    >
+    </cache>
+
+    <cache name="brandNameCode"
+           maxElementsInMemory="1000"
+           eternal="false"
+           timeToLiveSeconds="3600"
+    >
+    </cache>
+
+</ehcache>

+ 157 - 0
fiveep-controller/src/main/resources/log4j2-spring-dev.xml

@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration status="OFF">
+    <properties>
+        <property name="LOG_HOME">./logs/product</property>
+        <Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{blue} %clr{%-5level}
+            %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%l}{cyan} %clr{:}{faint} %m%n%xwEx
+        </Property>
+    </properties>
+    <appenders>
+        <!-- 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF -->
+        <Console name="Console" target="SYSTEM_OUT">
+            <!--只接受程序中INFO级别的日志进行处理-->
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}]-[%-5level]-[%class{36} %L %M - %msg%xEx]%n"/>
+        </Console>
+
+        <!--处理DEBUG级别的日志,并把该日志放到logs/debug.log文件中-->
+        <!--打印出DEBUG级别日志,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
+        <RollingFile name="RollingFileDebug" fileName="${LOG_HOME}/debug.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <ThresholdFilter level="DEBUG"/>
+                <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理INFO级别的日志,并把该日志放到logs/info.log文件中-->
+        <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <!--只接受INFO级别的日志,其余的全部拒绝处理-->
+                <LevelRangeFilter maxLevel="INFO" minLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理WARN级别的日志,并把该日志放到logs/warn.log文件中-->
+        <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <ThresholdFilter level="WARN"/>
+                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理error级别的日志,并把该日志放到logs/error.log文件中-->
+        <RollingFile name="RollingFileError" fileName="${LOG_HOME}/error.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
+            <ThresholdFilter level="ERROR"/>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--sql的日志记录追加器-->
+        <RollingFile name="druidSqlRollingFile" fileName="${LOG_HOME}/sql.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/sql-%d{yyyy-MM-dd}-%i.log.gz">
+            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+    </appenders>
+
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+            <appender-ref ref="RollingFileInfo"/>
+            <appender-ref ref="RollingFileWarn"/>
+            <appender-ref ref="RollingFileError"/>
+            <appender-ref ref="RollingFileDebug"/>
+        </root>
+
+        <!--记录druid-sql的记录-->
+        <logger name="druid.sql.Statement" level="INFO" additivity="false">
+            <appender-ref ref="druidSqlRollingFile"/>
+        </logger>
+
+        <!--log4j2 自带过滤日志-->
+        <Logger name="org.apache.catalina.startup.DigesterFactory" level="error"/>
+        <Logger name="org.apache.catalina.util.LifecycleBase" level="error"/>
+        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn"/>
+        <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
+        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn"/>
+        <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error"/>
+        <Logger name="org.hibernate.validator.internal.util.Version" level="warn"/>
+        <logger name="org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration" level="warn"/>
+        <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
+        <logger name="org.thymeleaf" level="warn"/>
+    </loggers>
+</configuration>

+ 131 - 0
fiveep-controller/src/main/resources/log4j2-spring-prod.xml

@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration status="OFF">
+
+    <properties>
+        <property name="LOG_HOME">/data/logs/product</property>
+        <Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{blue} %clr{%-5level}
+            %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%l}{cyan} %clr{:}{faint} %m%n%xwEx
+        </Property>
+    </properties>
+
+    <appenders>
+        <!-- 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF -->
+        <Console name="Console" target="SYSTEM_OUT">
+            <!--只接受程序中INFO级别的日志进行处理-->
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="${CONSOLE_LOG_PATTERN}"/>
+        </Console>
+
+        <!--处理INFO级别的日志,并把该日志放到logs/info.log文件中-->
+        <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <!--只接受INFO级别的日志,其余的全部拒绝处理-->
+                <LevelRangeFilter maxLevel="INFO" minLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理WARN级别的日志,并把该日志放到logs/warn.log文件中-->
+        <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <ThresholdFilter level="WARN"/>
+                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理error级别的日志,并把该日志放到logs/error.log文件中-->
+        <RollingFile name="RollingFileError" fileName="${LOG_HOME}/error.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
+            <ThresholdFilter level="ERROR"/>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--sql的日志记录追加器-->
+        <RollingFile name="druidSqlRollingFile" fileName="${LOG_HOME}/sql.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/sql-%d{yyyy-MM-dd}-%i.log.gz">
+            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+    </appenders>
+
+    <loggers>
+        <root level="INFO">
+            <appender-ref ref="Console"/>
+            <appender-ref ref="RollingFileInfo"/>
+            <appender-ref ref="RollingFileWarn"/>
+            <appender-ref ref="RollingFileError"/>
+        </root>
+
+        <!--记录druid-sql的记录-->
+        <logger name="druid.sql.Statement" level="INFO" additivity="false">
+            <appender-ref ref="druidSqlRollingFile"/>
+        </logger>
+
+        <!--log4j2 自带过滤日志-->
+        <Logger name="org.apache.catalina.util.LifecycleBase" level="error"/>
+        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn"/>
+        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn"/>
+        <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error"/>
+        <Logger name="org.hibernate.validator.internal.util.Version" level="warn"/>
+        <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
+        <logger name="org.thymeleaf" level="warn"/>
+    </loggers>
+</configuration>

+ 151 - 0
fiveep-controller/src/main/resources/log4j2-spring-test.xml

@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration status="OFF">
+    <properties>
+        <property name="LOG_HOME">/data/logs/product</property>
+    </properties>
+    <appenders>
+        <!-- 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF -->
+        <Console name="Console" target="SYSTEM_OUT">
+            <!--只接受程序中INFO级别的日志进行处理-->
+            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
+            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}]-[%-5level]-[%class{36} %L %M - %msg%xEx]%n"/>
+        </Console>
+
+        <!--处理DEBUG级别的日志,并把该日志放到logs/debug.log文件中-->
+        <!--打印出DEBUG级别日志,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
+        <RollingFile name="RollingFileDebug" fileName="${LOG_HOME}/debug-${LOCAL_IP}.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <ThresholdFilter level="DEBUG"/>
+                <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理INFO级别的日志,并把该日志放到logs/info.log文件中-->
+        <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <!--只接受INFO级别的日志,其余的全部拒绝处理-->
+                <LevelRangeFilter maxLevel="INFO" minLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理WARN级别的日志,并把该日志放到logs/warn.log文件中-->
+        <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
+            <Filters>
+                <ThresholdFilter level="WARN"/>
+                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
+            </Filters>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--处理error级别的日志,并把该日志放到logs/error.log文件中-->
+        <RollingFile name="RollingFileError" fileName="${LOG_HOME}/error.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
+            <ThresholdFilter level="ERROR"/>
+            <PatternLayout
+                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+
+        <!--sql的日志记录追加器-->
+        <RollingFile name="druidSqlRollingFile" fileName="${LOG_HOME}/sql.log"
+                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/sql-%d{yyyy-MM-dd}-%i.log.gz">
+            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="200 MB"/>
+                <TimeBasedTriggeringPolicy interval="1"/>
+            </Policies>
+            <DefaultRolloverStrategy max="30">
+                <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
+                    <IfFileName glob="*.log.gz"/>
+                    <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
+                    另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
+                    <!--30天-->
+                    <IfLastModified age="30d"/>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+    </appenders>
+
+    <loggers>
+        <root level="info">
+            <appender-ref ref="Console"/>
+            <appender-ref ref="RollingFileInfo"/>
+            <appender-ref ref="RollingFileWarn"/>
+            <appender-ref ref="RollingFileError"/>
+            <appender-ref ref="RollingFileDebug"/>
+        </root>
+
+        <!--记录druid-sql的记录-->
+        <logger name="druid.sql.Statement" level="debug" additivity="false">
+            <appender-ref ref="druidSqlRollingFile"/>
+        </logger>
+
+        <!--log4j2 自带过滤日志-->
+        <Logger name="org.apache.catalina.util.LifecycleBase" level="error"/>
+        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn"/>
+        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn"/>
+        <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error"/>
+        <Logger name="org.hibernate.validator.internal.util.Version" level="warn"/>
+        <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
+        <logger name="org.thymeleaf" level="warn"/>
+    </loggers>
+</configuration>

+ 11 - 0
fiveep-controller/src/main/resources/smart-doc.json

@@ -0,0 +1,11 @@
+{
+  "outPath":"./src/main/resources/static/doc",
+  "serverUrl": "http://127.0.0.1:8082/test",
+  "isStrict": false,
+  "coverOld": true,
+  "allInOne": true,
+  "packageFilters": "com.bizmatics.demo.controller.web",
+  "requestExample":"false",
+  "responseExample":"true",
+  "projectName": "test"
+}

文件差异内容过多而无法显示
+ 0 - 0
fiveep-controller/src/main/resources/static/doc/AllInOne.css


文件差异内容过多而无法显示
+ 0 - 0
fiveep-controller/src/main/resources/static/doc/index.html


+ 116 - 0
fiveep-controller/src/main/resources/static/doc/search.js

@@ -0,0 +1,116 @@
+let api = [];
+api.push({
+    alias: 'TestController',
+    order: '1',
+    link: '',
+    desc: '',
+    list: []
+})
+api[0].list.push({
+    order: '1',
+    desc: '测试参数和返回值',
+});
+api[0].list.push({
+    order: '2',
+    desc: '测试多数据源事务',
+});
+api[0].list.push({
+    order: '3',
+    desc: '查询全部信息',
+});
+api.push({
+    alias: 'dict',
+    order: '2',
+    link: 'dict_list',
+    desc: '数据字典',
+    list: []
+})
+document.onkeydown = keyDownSearch;
+function keyDownSearch(e) {
+    const theEvent = e;
+    const code = theEvent.keyCode || theEvent.which || theEvent.charCode;
+    if (code == 13) {
+        const search = document.getElementById('search');
+        const searchValue = search.value;
+        let searchArr = [];
+        for (let i = 0; i < api.length; i++) {
+            let apiData = api[i];
+            const desc = apiData.desc;
+            if (desc.indexOf(searchValue) > -1) {
+                searchArr.push({
+                    order: apiData.order,
+                    desc: apiData.desc,
+                    link: apiData.link,
+                    list: apiData.list
+                });
+            } else {
+                let methodList = apiData.list || [];
+                let methodListTemp = [];
+                for (let j = 0; j < methodList.length; j++) {
+                    const methodData = methodList[j];
+                    const methodDesc = methodData.desc;
+                    if (methodDesc.indexOf(searchValue) > -1) {
+                        methodListTemp.push(methodData);
+                        break;
+                    }
+                }
+                if (methodListTemp.length > 0) {
+                    const data = {
+                        order: apiData.order,
+                        desc: apiData.desc,
+                        link: apiData.link,
+                        list: methodListTemp
+                    };
+                    searchArr.push(data);
+                }
+            }
+        }
+        let html;
+        if (searchValue == '') {
+            const liClass = "";
+            const display = "display: none";
+            html = buildAccordion(api,liClass,display);
+            document.getElementById('accordion').innerHTML = html;
+        } else {
+            const liClass = "open";
+            const display = "display: block";
+            html = buildAccordion(searchArr,liClass,display);
+            document.getElementById('accordion').innerHTML = html;
+        }
+        const Accordion = function (el, multiple) {
+            this.el = el || {};
+            this.multiple = multiple || false;
+            const links = this.el.find('.dd');
+            links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown);
+        };
+        Accordion.prototype.dropdown = function (e) {
+            const $el = e.data.el;
+            $this = $(this), $next = $this.next();
+            $next.slideToggle();
+            $this.parent().toggleClass('open');
+            if (!e.data.multiple) {
+                $el.find('.submenu').not($next).slideUp("20").parent().removeClass('open');
+            }
+        };
+        new Accordion($('#accordion'), false);
+    }
+}
+
+function buildAccordion(apiData, liClass, display) {
+    let html = "";
+    let doc;
+    if (apiData.length > 0) {
+        for (let j = 0; j < apiData.length; j++) {
+            html += '<li class="'+liClass+'">';
+            html += '<a class="dd" href="#_' + apiData[j].link + '">' + apiData[j].order + '.&nbsp;' + apiData[j].desc + '</a>';
+            html += '<ul class="sectlevel2" style="'+display+'">';
+            doc = apiData[j].list;
+            for (let m = 0; m < doc.length; m++) {
+                html += '<li><a href="#_' + apiData[j].order + '_' + doc[m].order + '_' + doc[m].desc + '">' + apiData[j].order + '.' + doc[m].order + '.&nbsp;' + doc[m].desc + '</a> </li>';
+            }
+            html += '</ul>';
+            html += '</li>';
+        }
+    }
+    return html;
+}

+ 13 - 0
fiveep-controller/src/test/java/com/bizmatics/controller/DemoControllerApplicationTests.java

@@ -0,0 +1,13 @@
+package com.bizmatics.controller;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class DemoControllerApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

+ 24 - 0
fiveep-model/pom.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>fiveep</artifactId>
+        <groupId>com.bizmatics</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>fiveep-model</artifactId>
+    <name>fiveep-model</name>
+    <version>0.0.1</version>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+
+    </dependencies>
+
+
+</project>

+ 8 - 0
fiveep-model/src/main/java/com/bizmatics/model/Test.java

@@ -0,0 +1,8 @@
+package com.bizmatics.model;
+
+/**
+ * @author yq
+ * @date 2021/7/5 18:12
+ */
+public class Test {
+}

+ 38 - 0
fiveep-persistence/pom.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>fiveep</artifactId>
+        <groupId>com.bizmatics</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+
+    <artifactId>fiveep-persistence</artifactId>
+    <name>fiveep-persistence</name>
+    <version>0.0.1</version>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>fiveep-model</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>common-mvc</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+
+    </dependencies>
+
+
+</project>

+ 8 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/TestMapper.java

@@ -0,0 +1,8 @@
+package com.bizmatics.persistence.mapper;
+
+/**
+ * @author yq
+ * @date 2021/7/5 18:12
+ */
+public class TestMapper {
+}

+ 14 - 0
fiveep-persistence/src/main/resources/mapper/mysql/Test.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import java.lang.*?>
+<?import java.util.*?>
+<?import javafx.scene.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+
+<AnchorPane xmlns="http://javafx.com/javafx"
+            xmlns:fx="http://javafx.com/fxml"
+            fx:controller="mapper.mysql.TestXml"
+            prefHeight="400.0" prefWidth="600.0">
+
+</AnchorPane>

+ 90 - 0
fiveep-service/pom.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>fiveep</artifactId>
+        <groupId>com.bizmatics</groupId>
+        <version>0.0.1</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>fiveep-service</artifactId>
+    <name>fiveep-service</name>
+    <version>0.0.1</version>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-csv</artifactId>
+            <version>1.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-text</artifactId>
+            <version>1.9</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-cache</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-configuration-processor</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>fiveep-persistence</artifactId>
+            <version>0.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
+            <version>2.9.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-core</artifactId>
+            <version>3.3.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>io.seata</groupId>
+            <artifactId>seata-spring-boot-starter</artifactId>
+            <version>1.4.2</version>
+            <!--            <exclusions>-->
+            <!--                <exclusion>-->
+            <!--                    <artifactId>guava</artifactId>-->
+            <!--                    <groupId>com.google.guava</groupId>-->
+            <!--                </exclusion>-->
+            <!--                <exclusion>-->
+            <!--                    <artifactId>druid</artifactId>-->
+            <!--                    <groupId>com.alibaba</groupId>-->
+            <!--                </exclusion>-->
+            <!--            </exclusions>-->
+        </dependency>
+
+<!--        <dependency>-->
+<!--            <groupId>com.bizmatics</groupId>-->
+<!--            <artifactId>mhfire-provider</artifactId>-->
+<!--            <version>0.0.1</version>-->
+<!--        </dependency>-->
+
+
+    </dependencies>
+
+
+</project>

+ 8 - 0
fiveep-service/src/main/java/com/bizmatics/service/TestService.java

@@ -0,0 +1,8 @@
+package com.bizmatics.service;
+
+/**
+ * @author yq
+ * @date 2021/7/5 18:12
+ */
+public class TestService {
+}

+ 59 - 0
pom.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>fiveep</artifactId>
+    <packaging>pom</packaging>
+    <groupId>com.bizmatics</groupId>
+    <version>0.0.1</version>
+
+    <name>fiveep</name>
+    <description>fiveep</description>
+
+    <parent>
+        <artifactId>base-pom</artifactId>
+        <groupId>com.bizmatics</groupId>
+        <version>0.0.1</version>
+    </parent>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>common-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>common-spring</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.bizmatics</groupId>
+            <artifactId>common-mvc</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.github.shalousun</groupId>
+                <artifactId>smart-doc-maven-plugin</artifactId>
+                <version>2.1.1</version>
+                <configuration>
+                    <!--???????????????????????,?????????????????????-->
+                    <configFile>./src/main/resources/smart-doc.json</configFile>
+                    <!--??????????-->
+                    <projectName>test</projectName>
+<!--                    <excludes>-->
+<!--                        <exclude>com.bizmatics:product-service-provider</exclude>-->
+<!--                        <exclude>cn.afterturn:easypoi-web</exclude>-->
+<!--                    </excludes>-->
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+<modules>  <module>fiveep-service</module>
+    <module>fiveep-model</module>
+    <module>fiveep-persistence</module>
+    <module>fiveep-controller</module>
+  </modules>
+</project>

部分文件因为文件数量过多而无法显示