瀏覽代碼

初始化

qin 1 年之前
當前提交
3b6a42788b

+ 332 - 0
pom.xml

@@ -0,0 +1,332 @@
+<?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>
+    <repositories>
+        <repository>
+            <id>aliyun</id>
+            <url>https://maven.aliyun.com/repository/central</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+    <pluginRepositories>
+        <pluginRepository>
+            <id>aliyun</id>
+            <url>https://maven.aliyun.com/repository/central</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+    <groupId>com.poteviohealth.cgp</groupId>
+    <artifactId>statistics</artifactId>
+    <version>1.2.0-SNAPSHOT</version>
+    <name>cgp-statistics</name>
+    <description>统计服务</description>
+
+    <properties>
+        <java.version>1.8</java.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <spring-boot.version>2.2.7.RELEASE</spring-boot.version>
+        <spring.cloud.version>Hoxton.SR4</spring.cloud.version>
+        <jwt.version>0.9.1</jwt.version>
+        <mybatis.plus.version>3.3.2</mybatis.plus.version>
+        <org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
+        <swagger.version>2.9.2</swagger.version>
+        <alibaba.fastjson>1.2.73</alibaba.fastjson>
+        <alibaba.druid>1.1.18</alibaba.druid>
+        <knife4j.version>3.0.2</knife4j.version>
+        <skipTests>true</skipTests>
+        <xxl-job-core.version>2.2.0</xxl-job-core.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.junit.vintage</groupId>
+                    <artifactId>junit-vintage-engine</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!--mysql驱动[必须],注意8.0.15版本驱动配置和之前版本不一致-->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <!--JSON处理框架[必需]-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>${alibaba.fastjson}</version>
+        </dependency>
+        <!--连接资源池框架[必需]-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid-spring-boot-starter</artifactId>
+            <version>${alibaba.druid}</version>
+        </dependency>
+        <!--Swagger2[必需]-->
+        <!--<dependency>-->
+        <!--<groupId>io.springfox</groupId>-->
+        <!--<artifactId>springfox-swagger2</artifactId>-->
+        <!--<version>${swagger.version}</version>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+        <!--<groupId>io.springfox</groupId>-->
+        <!--<artifactId>springfox-swagger-ui</artifactId>-->
+        <!--<version>${swagger.version}</version>-->
+        <!--</dependency>-->
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-spring-boot-starter</artifactId>
+        </dependency>
+        <!--JWT-->
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+            <version>${jwt.version}</version>
+        </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-hystrix</artifactId>
+        </dependency>
+        <!--Mybatis Plus依赖-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>${mybatis.plus.version}</version>
+        </dependency>
+        <!--Feign依赖-->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mapstruct</groupId>
+            <artifactId>mapstruct</artifactId>
+            <version>${org.mapstruct.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mapstruct</groupId>
+            <artifactId>mapstruct-processor</artifactId>
+            <version>${org.mapstruct.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>sharding-jdbc-core</artifactId>
+            <version>4.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>com.poteviohealth.cgp</groupId>
+            <artifactId>common</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+        </dependency>
+        <!--Apache 通用文件处理框架[必需]-->
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-job-core</artifactId>
+            <version>${xxl-job-core.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.javen205</groupId>
+            <artifactId>IJPay-WxPay</artifactId>
+            <version>2.6.4</version>
+        </dependency>
+        <!-- 极光推送-->
+        <dependency>
+            <groupId>cn.jpush.api</groupId>
+            <artifactId>jpush-client</artifactId>
+            <version>3.4.7</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.kuaidi100-api</groupId>
+            <artifactId>sdk</artifactId>
+            <version>1.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>com.dameng</groupId>
+            <artifactId>DmJdbcDriver18</artifactId>
+            <version>8.1.2.141</version>
+        </dependency>
+    </dependencies>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring.cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>com.github.xiaoymin</groupId>
+                <artifactId>knife4j-micro-spring-boot-starter</artifactId>
+                <version>${knife4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.github.xiaoymin</groupId>
+                <artifactId>knife4j-spring-boot-starter</artifactId>
+                <version>${knife4j.version}</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+    <profiles>
+        <profile>
+            <id>develop</id>
+            <properties>
+                <package.environment>develop</package.environment>
+            </properties>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <id>uat</id>
+            <properties>
+                <package.environment>uat</package.environment>
+            </properties>
+        </profile>
+        <profile>
+            <id>production</id>
+            <properties>
+                <package.environment>production</package.environment>
+            </properties>
+        </profile>
+        <profile>
+            <id>zky</id>
+            <properties>
+                <package.environment>zky</package.environment>
+            </properties>
+        </profile>
+        <profile>
+            <id>dm</id>
+            <properties>
+                <package.environment>dm</package.environment>
+            </properties>
+        </profile>
+        <profile>
+            <id>rizhao</id>
+            <properties>
+                <package.environment>rizhao</package.environment>
+            </properties>
+        </profile>
+        <profile>
+            <id>kyy</id>
+            <properties>
+                <package.environment>kyy</package.environment>
+            </properties>
+        </profile>
+    </profiles>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources/${package.environment}</directory>
+                <filtering>true</filtering>
+            </resource>
+            <resource>
+                <directory>src/main/java</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/xml/*.xml</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-maven-plugin</artifactId>
+                    <version>${spring.boot.version}</version>
+                    <executions>
+                        <execution>
+                            <goals>
+                                <goal>repackage</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring-boot.version}</version>
+                <configuration>
+                    <!--无此配置,devtools不会生效-->
+                    <fork>true</fork>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.5.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 27 - 0
src/main/java/com/poteviohealth/cgp/statistics/CgpStatisticsApplication.java

@@ -0,0 +1,27 @@
+package com.poteviohealth.cgp.statistics;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+
+/**
+ * @author david
+ * @description
+ */
+@EnableDiscoveryClient
+@EnableFeignClients(basePackages = {"com.poteviohealth.cgp.common.integrated.partner","com.poteviohealth.cgp.common.integrated.finance",
+		"com.poteviohealth.cgp.common.integrated.order","com.poteviohealth.cgp.common.integrated.customer"})
+@EnableConfigurationProperties
+@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
+@ComponentScan(value = {"com.poteviohealth.cgp"})
+public class CgpStatisticsApplication {
+
+	public static void main(String[] args) {
+		SpringApplication.run(CgpStatisticsApplication.class, args);
+	}
+
+}

+ 36 - 0
src/main/java/com/poteviohealth/cgp/statistics/config/MetaHandler.java

@@ -0,0 +1,36 @@
+package com.poteviohealth.cgp.statistics.config;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * 处理新增和更新的基础数据填充,配合BaseEntity和MyBatisPlusConfig使用
+ * @author Qin
+ */
+@Component
+public class MetaHandler implements MetaObjectHandler {
+
+    /**
+     * 新增数据执行
+     * @param metaObject
+     */
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        this.setFieldValByName("createdDate", new Date(), metaObject);
+        this.setFieldValByName("modifiedDate", new Date(), metaObject);
+        this.setFieldValByName("yn", 0, metaObject);
+    }
+
+    /**
+     * 更新数据执行
+     * @param metaObject
+     */
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        this.setFieldValByName("modifiedDate", new Date(), metaObject);
+    }
+
+}

+ 50 - 0
src/main/java/com/poteviohealth/cgp/statistics/config/MybatisPlusConfig.java

@@ -0,0 +1,50 @@
+package com.poteviohealth.cgp.statistics.config;
+
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author LG
+ * @since 2019/8/1
+ */
+@Configuration
+@MapperScan("com.poteviohealth.cgp.statistics.mapper")
+public class MybatisPlusConfig {
+
+    /**
+     * 自动填充功能
+     *
+     * @return
+     */
+    @Bean
+    public GlobalConfig globalConfig() {
+        GlobalConfig globalConfig = new GlobalConfig();
+        globalConfig.setMetaObjectHandler(new MetaHandler());
+        return globalConfig;
+    }
+
+    /**
+     * mybatis-plus分页插件<br>
+     * 文档:http://mp.baomidou.com<br>
+     */
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
+        return paginationInterceptor;
+    }
+
+//    //开启SQL性能分析插件
+//    @Bean
+//    @Profile({"dev","test"})    //设置dev和test环境开启,生产不开启
+//    public PerformanceInterceptor performanceInterceptor() {
+//        PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
+//        performanceInterceptor.setMaxTime(1); //设置sql执行的最大时间,单位为毫秒。超过最大时间则为慢sql
+//        performanceInterceptor.setFormat(true); //是否格式化代码
+//        return performanceInterceptor;
+//    }
+
+
+}

+ 64 - 0
src/main/java/com/poteviohealth/cgp/statistics/config/SecurityConfig.java

@@ -0,0 +1,64 @@
+package com.poteviohealth.cgp.statistics.config;
+
+import com.poteviohealth.cgp.common.facade.constrain.OrgConstrainService;
+import com.poteviohealth.cgp.common.facade.constrain.impl.StreetOrgConstrainService;
+import com.poteviohealth.cgp.common.filter.AppJwtAuthFilter;
+import com.poteviohealth.cgp.common.filter.WebJwtAuthFilter;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Arrays;
+
+/**
+ * 登陆过滤器
+ * @author Qin
+ */
+@Configuration
+public class SecurityConfig {
+    /**
+     * Web token过滤
+     * @return filter
+     */
+    @Bean
+    public FilterRegistrationBean registerWebFilter() {
+        FilterRegistrationBean registration = new FilterRegistrationBean();
+        // 过滤器名称
+        registration.setName("webJwtAuthFilter");
+        // 注入过滤器
+        registration.setFilter(new WebJwtAuthFilter());
+        //过滤器顺序
+        registration.setOrder(1);
+        //拦截规则
+        registration.setUrlPatterns(Arrays.asList("/statistics/web/*"));
+        return registration;
+    }
+
+    /**
+     * APP token过滤
+     * @return filter
+     */
+    @Bean
+    public FilterRegistrationBean registerAppFilter() {
+        FilterRegistrationBean registration = new FilterRegistrationBean();
+        // 过滤器名称
+        registration.setName("appJwtAuthFilter");
+        // 注入过滤器
+        registration.setFilter(new AppJwtAuthFilter());
+        //过滤器顺序
+        registration.setOrder(2);
+        //拦截规则
+        registration.setUrlPatterns(Arrays.asList("/statistics/app/*"));
+        return registration;
+    }
+
+    /**
+     * OrgConstrainService
+     * @return OrgConstrainService
+     */
+    @Bean
+    public OrgConstrainService registerOrgConstrainService(){
+        return new StreetOrgConstrainService();
+    }
+
+}

+ 17 - 0
src/main/java/com/poteviohealth/cgp/statistics/config/SpringSecurityPassAllConfig.java

@@ -0,0 +1,17 @@
+package com.poteviohealth.cgp.statistics.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+
+/**
+ * @author David
+ * @description 仅用于开发环境开发调试绕过安全控制使用
+ */
+@Configuration
+public class SpringSecurityPassAllConfig extends WebSecurityConfigurerAdapter {
+	@Override
+	protected void configure(HttpSecurity httpSecurity) throws Exception {
+		httpSecurity.authorizeRequests().anyRequest().permitAll().and().csrf().disable();
+	}
+}

+ 99 - 0
src/main/resources/develop/application.yml

@@ -0,0 +1,99 @@
+# server basic config
+server:
+  port: 12011
+  servlet:
+    context-path: /
+# eureka server connect config
+eureka:
+  client:
+   service-url:
+      defaultZone: http://127.0.0.1:8760/eureka/
+spring:
+  # 安全配置,请以实际方式代替
+  security:
+    user:
+      name: admin
+      password: admin
+  application:
+    # 请保持和POM GAV一致
+    name: cgp-statistics
+  #database operation config
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      database:
+        jdbc-url: jdbc:mysql://101.201.117.83:3306/rz_face?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
+        username: szyl
+        password: sz0308
+        filter: stat
+        max-active: 100
+        initial-size: 5
+        max-wait: 60000
+        min-idle: 1
+        validation-query: SELECT 1
+        test-while-idle: true
+        driver-class-name: com.mysql.cj.jdbc.Driver
+  data:
+    elasticsearch:
+      cluster-name: my-application
+      cluster-nodes: 123.56.196.46:9300
+      repositories:
+        enabled: true
+      local: false
+  elasticsearch:
+    rest:
+      uris: ["http://123.56.196.46:9200"]
+  redis:
+    ################### redis 单机版  ##########################
+    host: ${REDIS_IP:123.56.196.46}
+    port: ${REDIS_PORT:6379}
+    database: ${REDIS_DB:3}
+    password: ${REDIS_PASSWORD:^n!&zJyvJj}
+    # 使用jedis连接池
+    jedis:
+      pool:
+        max-active: 8
+        max-wait: -1
+        max-idle: 8
+        min-idle: 0
+    timeout: 5000
+#mybatis plus配置
+mybatis-plus:
+
+  config-location: classpath:mybatis-config.xml
+  mapper-locations: classpath:/mapper/statistics/*.xml
+
+logging:
+  level:
+    com.poteviohealth.cgp.order.mapper: DEBUG
+  config: classpath:logback-spring.xml
+
+
+  ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
+xxl:
+  job:
+#      admin:
+#    addresses: http://123.56.196.46:12010/xxl-job-admin
+#      executor:
+    appname: xxl-job-statistics
+    ip:
+    port: 9991
+    accessToken:
+    logretentiondays: -1
+    logpath: /applogs/xxl-job/statistics/
+
+common:
+  minio:
+    apiUri: http://123.56.196.46:9000/
+    uri: https://test.poteviohealth.com/
+    bucket: cgpimage
+    accessKey: admin
+    secretKey: nDP9qA5i
+jpush:
+  app_key: c61567cde175728a73a4f9d2
+  master_secret: 1c8973c67c6ca7100259830c
+  apnsProduction: false
+
+ribbon:
+ ReadTimeout: 5000
+ ConnectTimeout: 5000

+ 161 - 0
src/main/resources/logback-spring.xml

@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="300000">
+    <jmxConfigurator/>
+
+    <contextName>Order</contextName>
+
+    <!-- For Run -->
+    <property name="root.logger.level" value="INFO"/>
+    <property name="root.logger.error.level" value="ERROR"/>
+    <property name="root.logger.all.level" value="DEBUG"/>
+
+    <property name="log.path" value="./logs"/>
+    <!--<property name="log.path" value="/Users/pasenger/var/log"/>-->
+    <property name="app.name" value="order"/>
+    <property name="app.version" value="SNAPSHOT"/>
+
+    <property name="log.file" value="${log.path}/${app.name}-${app.version}/info/${app.name}.%d{yyyyMMdd}.info.%i.log.gz"/>
+
+    <property name="log.file.error" value="${log.path}/${app.name}-${app.version}/error/${app.name}.%d{yyyyMMdd}.error.%i.log.gz"/>
+
+    <property name="log.file.operate" value="${log.path}/${app.name}-${app.version}/operate/${app.name}.%d{yyyyMMdd}.operate.%i.log.gz"/>
+
+    <property name="log.file.all" value="${log.path}/${app.name}-${app.version}/debug/${app.name}.%d{yyyyMMdd}.debug.%i.log.gz"/>
+
+	<!-- 控制台输出的日志级别 -->
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <!--时间戳|应用标识|版本标识|类名方法名行号|日志级别|[请求/响应标识]|来源IP/日志详细内容-->
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
+        </encoder>
+    </appender>
+
+	<!-- 程序日志输出Info的信息 -->
+    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <ImmediateFlush>true</ImmediateFlush>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>ERROR</level>
+            <onMatch>DENY</onMatch>  <!-- 如果命中就禁止这条日志 -->
+            <onMismatch>ACCEPT</onMismatch>  <!-- 如果没有命中就使用这条规则 -->
+        </filter>
+
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${log.file}</FileNamePattern>
+            <MaxHistory>30</MaxHistory>
+
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+    </appender>
+
+    <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <discardingThreshold>0</discardingThreshold>
+        <includeCallerData>false</includeCallerData>
+        <appender-ref ref="fileAppender"/>
+    </appender>
+
+    <!-- 程序error输出的信息 -->
+    <appender name="errorFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <ImmediateFlush>true</ImmediateFlush>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <!--设置日志级别,过滤掉info日志,只输入error日志-->
+            <level>ERROR</level>
+        </filter>
+
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${log.file.error}</FileNamePattern>
+            <MaxHistory>60</MaxHistory>
+
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+    </appender>
+
+    <appender name="errorAsyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <discardingThreshold>0</discardingThreshold>
+        <includeCallerData>false</includeCallerData>
+        <appender-ref ref="errorFileAppender"/>
+    </appender>
+
+    <!-- 操作拦截器记录日志 -->
+    <appender name="file.other.operate" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <ImmediateFlush>true</ImmediateFlush>
+            <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{56}.%method:%L -%msg%n</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <!--设置日志级别,过滤掉info日志,只输入error日志-->
+            <level>info</level>
+        </filter>
+
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${log.file.operate}</FileNamePattern>
+            <MaxHistory>60</MaxHistory>
+
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+    </appender>
+
+     <!-- 程序输出的所有信息 -->
+  <!--   <appender name="allFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <ImmediateFlush>true</ImmediateFlush>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
+        </encoder>
+
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${log.file.all}</FileNamePattern>
+            <MaxHistory>20</MaxHistory>
+
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+    </appender>
+
+    <appender name="allAsyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <discardingThreshold>0</discardingThreshold>
+        <includeCallerData>false</includeCallerData>
+        <appender-ref ref="allFileAppender"/>
+    </appender> -->
+
+    <!-- 如果要输出业务日志, 请修改为TRACE -->
+    <logger name="org.springframework" level="ERROR"></logger>
+    <logger name="ch.qos.logback" level="OFF"></logger>
+    <logger name="org.hibernate" level="ERROR"></logger>
+    <logger name="org.springframework" level="ERROR"></logger>
+    <logger name="org.apache.catalina" level="ERROR"></logger>
+    <logger name="org.thymeleaf" level="ERROR"></logger>
+    <logger name="org.apache.ibatis" level="ERROR"/>
+	<logger name="java.sql.Connection" level="ERROR"/>
+	<logger name="java.sql.Statement" level="ERROR"/>
+	<logger name="java.sql.PreparedStatement" level="ERROR"/>
+	<logger name="com.tahoecn.planManagement.interceptors.OperateLogInterceptor">
+		<level value="${root.logger.level}" />
+		<appender-ref ref="file.other.operate" />
+	</logger>
+
+    <root level="INFO">
+        <appender-ref ref="asyncFileAppender"/>
+        <appender-ref ref="errorAsyncFileAppender"/>
+        <appender-ref ref="console"/>
+    </root>
+
+
+   <!--  <root level="DEBUG">
+        <appender-ref ref="allAsyncFileAppender"/>
+    </root> -->
+</configuration>

+ 15 - 0
src/main/resources/mybatis-config.xml

@@ -0,0 +1,15 @@
+<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
+<configuration>
+    <settings>
+        <setting name="mapUnderscoreToCamelCase" value="true"/>
+    </settings>
+    <typeAliases>
+        <typeAlias alias="Integer" type="java.lang.Integer"/>
+        <typeAlias alias="Long" type="java.lang.Long"/>
+        <typeAlias alias="HashMap" type="java.util.HashMap"/>
+        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
+        <typeAlias alias="ArrayList" type="java.util.ArrayList"/>
+        <typeAlias alias="LinkedList" type="java.util.LinkedList"/>
+    </typeAliases>
+
+</configuration>

+ 100 - 0
src/main/resources/rizhao/application.yml

@@ -0,0 +1,100 @@
+# server basic config
+server:
+  port: 12011
+  servlet:
+    context-path: /
+# eureka server connect config
+eureka:
+  client:
+    service-url:
+      defaultZone: http://127.0.0.1:8760/eureka/
+spring:
+  # 安全配置,请以实际方式代替
+  security:
+    user:
+      name: admin
+      password: admin
+  application:
+    # 请保持和POM GAV一致
+    name: cgp-statistics
+  #database operation config
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      database:
+        jdbc-url: jdbc:mysql://127.0.0.1:3306/yl_face?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
+        username: szyl
+        password: M7puu$Cn
+        filter: stat
+        max-active: 100
+        initial-size: 5
+        max-wait: 60000
+        min-idle: 1
+        validation-query: SELECT 1
+        test-while-idle: true
+        driver-class-name: com.mysql.cj.jdbc.Driver
+  data:
+    elasticsearch:
+      cluster-name: my-application
+      cluster-nodes: 127.0.0.1:9300
+      repositories:
+        enabled: true
+      local: false
+  elasticsearch:
+    rest:
+      uris: ["http://127.0.0.1:9200"]
+  redis:
+    ################### redis 单机版  ##########################
+    host: ${REDIS_IP:127.0.0.1}
+    port: ${REDIS_PORT:16379}
+    database: ${REDIS_DB:1}
+    password: ${REDIS_PASSWORD:trJQ#4gN}
+    # 使用jedis连接池
+    jedis:
+      pool:
+        max-active: 8
+        max-wait: -1
+        max-idle: 8
+        min-idle: 0
+    timeout: 5000
+#mybatis plus配置
+mybatis-plus:
+
+  config-location: classpath:mybatis-config.xml
+  mapper-locations: classpath:/mapper/statistics/*.xml
+
+logging:
+  level:
+    com.poteviohealth.cgp.order.mapper: DEBUG
+  config: classpath:logback-spring.xml
+
+
+  ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
+xxl:
+  job:
+    #      admin:
+    addresses: http://127.0.0.1:12010/xxl-job-admin
+    #      executor:
+    appname: xxl-job-statistics
+    ip:
+    port: 9991
+    accessToken:
+    logretentiondays: -1
+    logpath: ./logs/xxl-job
+
+common:
+  minio:
+    apiUri: http://127.0.0.1:9000/
+    uri: https://rz12349.poteviohealth.com/
+    bucket: cgpimage
+    accessKey: admin
+    secretKey: r^iiP6o1
+
+jpush:
+  app_key: c61567cde175728a73a4f9d2
+  master_secret: 1c8973c67c6ca7100259830c
+  apnsProduction: true
+
+ribbon:
+ ReadTimeout: 5000
+ ConnectTimeout: 5000

+ 100 - 0
src/main/resources/uat/application.yml

@@ -0,0 +1,100 @@
+# server basic config
+server:
+  port: 12011
+  servlet:
+    context-path: /
+# eureka server connect config
+eureka:
+  client:
+    service-url:
+      defaultZone: http://127.0.0.1:8760/eureka/
+spring:
+  # 安全配置,请以实际方式代替
+  security:
+    user:
+      name: admin
+      password: admin
+  application:
+    # 请保持和POM GAV一致
+    name: cgp-statistics
+  #database operation config
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      database:
+        jdbc-url: jdbc:mysql://172.17.17.50:3306/rz_face?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
+        username: szyl
+        password: sz0308
+        filter: stat
+        max-active: 100
+        initial-size: 5
+        max-wait: 60000
+        min-idle: 1
+        validation-query: SELECT 1
+        test-while-idle: true
+        driver-class-name: com.mysql.cj.jdbc.Driver
+  data:
+    elasticsearch:
+      cluster-name: my-application
+      cluster-nodes: 172.17.17.46:9300
+      repositories:
+        enabled: true
+      local: false
+  elasticsearch:
+    rest:
+      uris: ["http://172.17.17.46:9200"]
+  redis:
+    ################### redis 单机版  ##########################
+    host: ${REDIS_IP:172.17.17.46}
+    port: ${REDIS_PORT:6379}
+    database: ${REDIS_DB:3}
+    password: ${REDIS_PASSWORD:^n!&zJyvJj}
+    # 使用jedis连接池
+    jedis:
+      pool:
+        max-active: 8
+        max-wait: -1
+        max-idle: 8
+        min-idle: 0
+    timeout: 5000
+#mybatis plus配置
+mybatis-plus:
+
+  config-location: classpath:mybatis-config.xml
+  mapper-locations: classpath:/mapper/statistics/*.xml
+
+logging:
+  level:
+    com.poteviohealth.cgp.order.mapper: DEBUG
+  config: classpath:logback-spring.xml
+
+
+  ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
+xxl:
+  job:
+    #      admin:
+    addresses: http://127.0.0.1:12010/xxl-job-admin
+    #      executor:
+    appname: xxl-job-statistics
+    ip:
+    port: 9991
+    accessToken:
+    logretentiondays: -1
+    logpath: ./logs/xxl-job
+
+common:
+  minio:
+    apiUri: http://172.17.17.46:9000/
+    uri: https://test.poteviohealth.com/
+    bucket: cgpimage
+    accessKey: admin
+    secretKey: nDP9qA5i
+
+jpush:
+  app_key: c61567cde175728a73a4f9d2
+  master_secret: 1c8973c67c6ca7100259830c
+  apnsProduction: true
+
+ribbon:
+ ReadTimeout: 5000
+ ConnectTimeout: 5000

+ 102 - 0
src/main/resources/zky/application.yml

@@ -0,0 +1,102 @@
+# server basic config
+server:
+  port: 12011
+  servlet:
+    context-path: /
+# eureka server connect config
+eureka:
+  client:
+    service-url:
+      defaultZone: http://10.6.17.125:12006/eureka/
+  instance:
+    appname: cgp-statistics
+    prefer-ip-address: true
+spring:
+  # 安全配置,请以实际方式代替
+  security:
+    user:
+      name: admin
+      password: admin
+  application:
+    # 请保持和POM GAV一致
+    name: cgp-statistics
+  #database operation config
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      database:
+        jdbc-url: jdbc:mysql://10.6.17.128:3306/rz_face?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
+        username: zky
+        password: V&h5IN!&
+        filter: stat
+        max-active: 100
+        initial-size: 5
+        max-wait: 60000
+        min-idle: 1
+        validation-query: SELECT 1
+        test-while-idle: true
+        driver-class-name: com.mysql.cj.jdbc.Driver
+  data:
+    elasticsearch:
+      cluster-name: my-application
+      cluster-nodes: 10.6.17.125:12019
+      repositories:
+        enabled: true
+      local: false
+  elasticsearch:
+    rest:
+      uris: ["http://10.6.17.125:12018"]
+  redis:
+    ################### redis 单机版  ##########################
+    host: ${REDIS_IP:10.6.17.127}
+    port: ${REDIS_PORT:12003}
+    database: ${REDIS_DB:3}
+    password: ${REDIS_PASSWORD:MGc8$F36}
+    # 使用jedis连接池
+    jedis:
+      pool:
+        max-active: 8
+        max-wait: -1
+        max-idle: 8
+        min-idle: 0
+    timeout: 5000
+#mybatis plus配置
+mybatis-plus:
+  config-location: classpath:mybatis-config.xml
+  mapper-locations: classpath:/mapper/statistics/*.xml
+
+logging:
+  level:
+    com.poteviohealth.cgp.order.mapper: DEBUG
+  config: classpath:logback-spring.xml
+
+
+  ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
+xxl:
+  job:
+    #      admin:
+    addresses: http://10.6.17.125:12010/xxl-job-admin
+    #      executor:
+    appname: xxl-job-statistics
+    ip:
+    port: 9991
+    accessToken:
+    logretentiondays: -1
+    logpath: ./logs/xxl-job
+
+common:
+  minio:
+    apiUri: http://10.6.17.127:12020/
+    uri: https://jjyl.cy.checg.cn/
+    bucket: cgpimage
+    accessKey: admin
+    secretKey: r^iiP6o1
+
+jpush:
+  app_key: c61567cde175728a73a4f9d2
+  master_secret: 1c8973c67c6ca7100259830c
+  apnsProduction: true
+
+ribbon:
+ ReadTimeout: 5000
+ ConnectTimeout: 5000