Pārlūkot izejas kodu

新增数据质量保障服务

rengb 3 gadi atpakaļ
vecāks
revīzija
fcd1f0745b

+ 13 - 0
config-center/src/main/resources/shared/daqe-center-debug.yml

@@ -0,0 +1,13 @@
+spring:
+  redis:
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
+  datasource:
+    druid:
+      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: root
+      password: lantone
+
+swagger.show: true

+ 13 - 0
config-center/src/main/resources/shared/daqe-center-inner.yml

@@ -0,0 +1,13 @@
+spring:
+  redis:
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
+  datasource:
+    druid:
+      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: root
+      password: lantone
+
+swagger.show: false

+ 13 - 0
config-center/src/main/resources/shared/daqe-center-local.yml

@@ -0,0 +1,13 @@
+spring:
+  redis:
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
+  datasource:
+    druid:
+      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: root
+      password: lantone
+
+swagger.show: true

+ 13 - 0
config-center/src/main/resources/shared/daqe-center-outer.yml

@@ -0,0 +1,13 @@
+spring:
+  redis:
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
+  datasource:
+    druid:
+      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: root
+      password: lantone
+
+swagger.show: false

+ 13 - 0
config-center/src/main/resources/shared/daqe-center-test.yml

@@ -0,0 +1,13 @@
+spring:
+  redis:
+    database: 12
+    host: 192.168.2.237 # Redis服务器地址
+    port: 63791 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
+    password: emrais # Redis服务器连接密码(默认为空)
+  datasource:
+    druid:
+      url: jdbc:mysql://192.168.2.237:3306/emrais?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      username: root
+      password: lantone
+
+swagger.show: true

+ 33 - 0
daqe-center/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 53 - 0
daqe-center/pom.xml

@@ -0,0 +1,53 @@
+<?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>
+
+    <parent>
+        <groupId>com.lantone</groupId>
+        <artifactId>emrais</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>daqe-center</artifactId>
+    <name>daqe-center</name>
+    <packaging>jar</packaging>
+    <description>全称:data and quality ensure center,即数据及质量保障中心</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.lantone</groupId>
+            <artifactId>dblayer-mbg</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-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.github.openfeign</groupId>
+            <artifactId>feign-okhttp</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 19 - 0
daqe-center/src/main/java/com/lantone/DaqeCenterApplication.java

@@ -0,0 +1,19 @@
+package com.lantone;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+@EnableEurekaClient
+@EnableFeignClients
+@SpringBootApplication
+@MapperScan(basePackages = "com.lantone.daqe.mapper")
+public class DaqeCenterApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(DaqeCenterApplication.class, args);
+    }
+
+}

+ 57 - 0
daqe-center/src/main/resources/bootstrap.yml

@@ -0,0 +1,57 @@
+server:
+  port: 8839
+
+spring:
+  application:
+    name: daqe-center
+  cloud:
+    config:
+      discovery:
+        enabled: true
+        service-id: config-center
+  redis:
+    jedis:
+      pool:
+        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
+        max-idle: 5 # 连接池中的最大空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+        min-idle: 0 # 连接池中的最小空闲连接
+    timeout: 20000 # 连接超时时间(毫秒)
+  profiles:
+    active: local
+
+eureka:
+  client:
+    service-url:
+      defaultZone: http://${eureka-addr:localhost}:${eureka-port:6751}/eureka/
+
+logging:
+  config: classpath:logback-spring.xml
+  level:
+    root: ${log-level:info}
+  file:
+    path: /logs/daqe-center
+
+management:
+  endpoints:
+    web:
+      exposure:
+        include: '*'
+  endpoint:
+    health:
+      show-details: always
+
+feign:
+  okhttp:
+    enabled: true
+
+ribbon:
+  ConnectTimeout: 3000 # 服务请求连接超时时间(毫秒)
+  ReadTimeout: 3000 # 服务请求处理超时时间(毫秒)
+
+mybatis-plus:
+  type-aliases-package: com.lantone.daqe.entity
+
+swagger.title: 数据及质量保障中心
+swagger.des: 数据及质量保障中心
+swagger.version: 0.0.1-SNAPSHOT

+ 133 - 0
daqe-center/src/main/resources/logback-spring.xml

@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scanPeriod="10 seconds">
+    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
+    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
+
+    <property name="APP_NAME" value="daqe-center"/>
+    <contextName>${APP_NAME}</contextName>
+    <property name="LOG_FILE_PATH" value="/logs/${APP_NAME}"/>
+
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
+
+    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>info</level>
+        </filter>
+        <encoder>
+            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+
+    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_FILE_PATH}/debug.log</file>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_FILE_PATH}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+            <maxHistory>90</maxHistory>
+        </rollingPolicy>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>debug</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_FILE_PATH}/info.log</file>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_FILE_PATH}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+            <maxHistory>90</maxHistory>
+        </rollingPolicy>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>info</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_FILE_PATH}/warn.log</file>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_FILE_PATH}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+            <maxHistory>90</maxHistory>
+        </rollingPolicy>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>warn</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_FILE_PATH}/error.log</file>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_FILE_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+            <maxHistory>90</maxHistory>
+        </rollingPolicy>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>error</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_FILE_PATH}/spring.log</file>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${LOG_FILE_PATH}/all/spring-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>100MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+            <maxHistory>90</maxHistory>
+        </rollingPolicy>
+    </appender>
+
+    <root>
+        <appender-ref ref="CONSOLE"/>
+        <appender-ref ref="DEBUG_FILE"/>
+        <appender-ref ref="INFO_FILE"/>
+        <appender-ref ref="WARN_FILE"/>
+        <appender-ref ref="ERROR_FILE"/>
+        <appender-ref ref="ALL_FILE"/>
+    </root>
+
+</configuration>

+ 19 - 0
document/docker/docker-compose-debug.yml

@@ -125,6 +125,25 @@ services:
       - register-center
       - config-center
     command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
+  daqe-center:
+    image: 192.168.2.125:4490/emrais.debug/daqe-center:latest
+    container_name: emrais.daqe-center
+    ports:
+      - 8839:8839
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=debug
+      - log-level=debug
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
   structure-center:
     image: 192.168.2.125:4490/emrais.debug/structure-center:latest
     container_name: emrais.structure-center

+ 38 - 0
document/docker/docker-compose-inner.yml

@@ -106,6 +106,44 @@ services:
       - register-center
       - config-center
     command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "-Xms256m", "-Xmx1024m", "/app.jar"]
+  report-service:
+    image: 192.168.2.125:4490/emrais.inner/report-service:latest
+    container_name: emrais.report-service
+    ports:
+      - 8889:8889
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=inner
+      - log-level=error
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
+  daqe-center:
+    image: 192.168.2.125:4490/emrais.inner/daqe-center:latest
+    container_name: emrais.daqe-center
+    ports:
+      - 8839:8839
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=inner
+      - log-level=error
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
   structure-center:
     image: 192.168.2.125:4490/emrais.inner/structure-center:latest
     container_name: emrais.structure-center

+ 38 - 0
document/docker/docker-compose-outer.yml

@@ -106,6 +106,44 @@ services:
       - register-center
       - config-center
     command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "-Xms256m", "-Xmx1024m", "/app.jar"]
+  report-service:
+    image: 192.168.2.125:4490/emrais.outer/report-service:latest
+    container_name: emrais.report-service
+    ports:
+      - 8889:8889
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=outer
+      - log-level=error
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
+  daqe-center:
+    image: 192.168.2.125:4490/emrais.outer/daqe-center:latest
+    container_name: emrais.daqe-center
+    ports:
+      - 8839:8839
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=outer
+      - log-level=error
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
   structure-center:
     image: 192.168.2.125:4490/emrais.outer/structure-center:latest
     container_name: emrais.structure-center

+ 38 - 0
document/docker/docker-compose-test.yml

@@ -106,6 +106,44 @@ services:
       - register-center
       - config-center
     command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "-Xms256m", "-Xmx1024m", "/app.jar"]
+  report-service:
+    image: 192.168.2.125:4490/emrais.test/report-service:latest
+    container_name: emrais.report-service
+    ports:
+      - 8889:8889
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=test
+      - log-level=info
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
+  daqe-center:
+    image: 192.168.2.125:4490/emrais.test/daqe-center:latest
+    container_name: emrais.daqe-center
+    ports:
+      - 8839:8839
+    environment:
+      - TZ=Asia/Shanghai
+      - eureka-addr=register-center
+      - eureka-port=6751
+      - spring.profiles.active=test
+      - log-level=info
+    volumes:
+      - /logs:/logs
+      - /etc/localtime:/etc/localtime
+    restart: always
+    depends_on:
+      - register-center
+      - config-center
+    command: ["/wait-for-it.sh", "-t", "6000", "config-center:7751", "--", "java", "-jar", "/app.jar"]
   structure-center:
     image: 192.168.2.125:4490/emrais.test/structure-center:latest
     container_name: emrais.structure-center

+ 6 - 0
gateway-service/src/main/resources/bootstrap.yml

@@ -45,6 +45,12 @@ spring:
             - Path=/report-service/**
           filters:
             - StripPrefix=1
+        - id: daqe-center
+          uri: lb://daqe-center
+          predicates:
+            - Path=/daqe-center/**
+          filters:
+            - StripPrefix=1
     config:
       discovery:
         enabled: true

+ 1 - 0
pom.xml

@@ -30,6 +30,7 @@
         <module>message-service</module>
         <module>bus-interceptor</module>
         <module>report-service</module>
+        <module>daqe-center</module>
     </modules>
 
     <properties>