Commit f005b819 by “zcwang”

init: 初始化项目

parents
include:
- project: tech/ci-operator
file: /yanxuan-qc-change-system/gitlab-ci.yml
ref: master
\ No newline at end of file
FROM harbor-yx-jd.yx.netease.com/yxbasic/yx_springboot:j8
# 修改成实际的服务编码
COPY --chown=webedit:webedit setenv.sh /home/webdata/yanxuan-qc-change-system/
COPY --chown=webedit:webedit yanxuan-qc-change-system.jar /home/webapps/yanxuan-qc-change-system/
\ No newline at end of file
# 工程骨架
详见[SpringBoot工程骨架模板](https://kttfkmbfmy.feishu.cn/docs/doccnKEJH5TtSfy0lzEmGu9T08e)
\ No newline at end of file
FROM harbor-yx-jd-dev.yx.netease.com/yxbasic/yx_springboot:j8
# 修改成实际的服务编码
COPY --chown=webedit:webedit setenv.sh /home/webdata/yanxuan-qc-change-system/
COPY --chown=webedit:webedit yanxuan-qc-change-system.jar /home/webapps/yanxuan-qc-change-system/
\ No newline at end of file
#!/bin/sh
#
# Springboot服务自定义setenv.sh
# 全新规范,请参考wiki进行设置:http://yx.mail.netease.com/wiki/#/doc/3065694
#
# dev_service_port=""
# dev_jvm_opts_base=""
# dev_jvm_opts_property=""
# dev_jvm_opts_gc=""
# dev_jvm_opts_ext=""
# test 环境配置
# test_service_port=""
# test_jvm_opts_base=""
# test_jvm_opts_property=""
# test_jvm_opts_gc=""
# test_jvm_opts_ext=""
# regression 环境配置
# regression_service_port=""
# regression_jvm_opts_base=""
# regression_jvm_opts_property=""
# regression_jvm_opts_gc=""
# regression_jvm_opts_ext=""
# pressure 环境配置
# pressure_service_port=""
# pressure_jvm_opts_base=""
# pressure_jvm_opts_property=""
# pressure_jvm_opts_gc=""
# pressure_jvm_opts_ext=""
# release 环境配置
# release_service_port=""
# release_jvm_opts_base=""
# release_jvm_opts_property=""
# release_jvm_opts_gc=""
# release_jvm_opts_ext=""
# online 环境配置
# online_service_port=""
# online_jvm_opts_base=""
# online_jvm_opts_property=""
# online_jvm_opts_gc=""
# online_jvm_opts_ext=""
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>yanxuan-qc-change-system</name>
<modules>
<module>yanxuan-qc-change-system-assembly</module>
<module>yanxuan-qc-change-system-web</module>
<module>yanxuan-qc-change-system-biz</module>
<module>yanxuan-qc-change-system-client</module>
<module>yanxuan-qc-change-system-integration</module>
<module>yanxuan-qc-change-system-dal</module>
<module>yanxuan-qc-change-system-common</module>
</modules>
<!--关键依赖版本号-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- spring -->
<spring.boot.version>2.1.3.RELEASE</spring.boot.version>
<org.aspectj.version>1.8.10</org.aspectj.version>
<!--yanxuan-->
<apolloY.client.version>1.0.4-RELEASE</apolloY.client.version>
<dschedule.version>1.0.7-RELEASE</dschedule.version>
<missa.client.version>1.2.0-RELEASE</missa.client.version>
<eudemon.version>1.0.8-RELEASE</eudemon.version>
<om.monitor.version>2.0.5</om.monitor.version>
<helios.core.version>1.2.3-RELEASE</helios.core.version>
<yanxuan-log.version>1.0.2</yanxuan-log.version>
<tracer.version>1.0.8-RELEASE</tracer.version>
<shadow.version>1.0.6-RELEASE</shadow.version>
<netease.ddb.version>4.6.0.4</netease.ddb.version>
<!-- store-db -->
<mysql.version>5.1.34</mysql.version>
<mybatis.spring.boot.starter.version>1.1.1</mybatis.spring.boot.starter.version>
<!-- store-redis -->
<redis.clients.version>2.9.0</redis.clients.version>
<spring.data.redis.version>2.1.3.RELEASE</spring.data.redis.version>
<!-- dev -->
<lombok.version>1.16.10</lombok.version>
<httpclient.version>4.5.5</httpclient.version>
<fastjson.version>1.2.60.sec10</fastjson.version>
<slf4j.version>1.7.25</slf4j.version>
<!-- commons -->
<guava.version>19.0</guava.version>
<commonsio.version>2.4</commonsio.version>
<commonscollection.version>4.1</commonscollection.version>
<commons.lang.version>2.4</commons.lang.version>
</properties>
<!-- 子模块可选依赖 -->
<dependencyManagement>
<dependencies>
<!-- modules -->
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-web</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-biz</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-integration</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-dal</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-common</artifactId>
<version>${project.version}</version>
</dependency>
<!-- spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- yanxuan -->
<dependency>
<groupId>com.ctrip.framework.apolloY</groupId>
<artifactId>apolloY-client</artifactId>
<version>${apolloY.client.version}</version>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>dschedule-core</artifactId>
<version>${dschedule.version}</version>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>dschedule-config-drm</artifactId>
<version>${dschedule.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan.missa</groupId>
<artifactId>missa-client</artifactId>
<version>${missa.client.version}</version>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>eudemon-all</artifactId>
<version>${eudemon.version}</version>
<exclusions>
<exclusion>
<groupId>com.ctrip.framework.apolloY</groupId>
<artifactId>apolloY-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.netease.om</groupId>
<artifactId>monitor</artifactId>
<version>${om.monitor.version}</version>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>helios-core</artifactId>
<version>${helios.core.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan.log</groupId>
<artifactId>log-java-client</artifactId>
<version>${yanxuan-log.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-tracer-client</artifactId>
<version>${tracer.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-shadow</artifactId>
<version>${shadow.version}</version>
</dependency>
<!-- store-db -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.spring.boot.starter.version}</version>
</dependency>
<!-- store-redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${redis.clients.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${spring.data.redis.version}</version>
</dependency>
<dependency>
<groupId>netease.ddb</groupId>
<artifactId>db</artifactId>
<version>${netease.ddb.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj.version}</version>
</dependency>
<!-- yanxuan -->
<!--默认引入apollo配置-->
<dependency>
<groupId>com.ctrip.framework.apolloY</groupId>
<artifactId>apolloY-client</artifactId>
</dependency>
<!--默认引入missa-->
<dependency>
<groupId>com.netease.yanxuan.missa</groupId>
<artifactId>missa-client</artifactId>
</dependency>
<!--其他严选中间件依赖包按需添加-->
<!--
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>dschedule-core</artifactId>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>dschedule-config-drm</artifactId>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>eudemon-all</artifactId>
<exclusions>
<exclusion>
<groupId>com.ctrip.framework.apolloY</groupId>
<artifactId>apolloY-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-tracer-client</artifactId>
<version>${tracer.version}</version>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-shadow</artifactId>
<version>${shadow.version}</version>
</dependency>
<dependency>
<groupId>com.netease.om</groupId>
<artifactId>monitor</artifactId>
</dependency>
<dependency>
<groupId>com.netease.mail.yanxuan</groupId>
<artifactId>helios-core</artifactId>
<exclusions>
<exclusion>
<artifactId>netty-all</artifactId>
<groupId>io.netty</groupId>
</exclusion>
<exclusion>
<artifactId>commons-lang3</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
<exclusion>
<artifactId>jackson-core-asl</artifactId>
<groupId>org.codehaus.jackson</groupId>
</exclusion>
<exclusion>
<artifactId>jackson-mapper-asl</artifactId>
<groupId>org.codehaus.jackson</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>netease.ddb</groupId>
<artifactId>db</artifactId>
</dependency>
-->
<!-- log -->
<dependency>
<groupId>com.netease.yanxuan.log</groupId>
<artifactId>log-java-client</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</dependency>
<!-- tools -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- commons -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commonsio.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${commonscollection.version}</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${commons.lang.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>hzntes-mail</id>
<name>NTES-MAIL-HZ Maven Repository</name>
<url>http://repo.mail.netease.com/artifactory/repo</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
<!-- 接口管理平台插件依赖 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>generate-service-docs</id>
<phase>compile</phase>
<configuration>
<doclet>com.netease.yanxuan.swagger.plugin.ServiceDoclet</doclet>
<docletArtifact>
<groupId>com.netease.yanxuan</groupId>
<artifactId>swagger-plugin</artifactId>
<version>1.1-SNAPSHOT</version>
</docletArtifact>
<!--failOnError设置为false,在javadoc插件出错的情况下不会阻止编译和打包流程-->
<failOnError>false</failOnError>
<reportOutputDirectory>${project.build.outputDirectory}</reportOutputDirectory>
<useStandardDocletOptions>false</useStandardDocletOptions>
<additionalOptions>
<additionalOption>-docBasePath ${project.basedir}/swagger</additionalOption>
<additionalOption>-projectVersion ${project.version}</additionalOption>
</additionalOptions>
<additionalDependencies>
<additionalDependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</additionalDependency>
</additionalDependencies>
</configuration>
<goals>
<goal>aggregate-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
<?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>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yanxuan-qc-change-system-assembly</artifactId>
<dependencies>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-web</artifactId>
</dependency>
</dependencies>
<build>
<finalName>yanxuan-qc-change-system</finalName>
<directory>../build</directory>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>yanxuan-qc-change-system</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/assembly/assembly-descriptor.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>yanxuan-qc-change-system</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<file>
<source>../deploy/env/setenv.sh</source>
<outputDirectory>/</outputDirectory>
<destName>setenv.sh</destName>
<fileMode>0755</fileMode>
<lineEnding>unix</lineEnding>
<filtered>true</filtered>
</file>
<file>
<source>../build/yanxuan-qc-change-system.jar</source>
<outputDirectory>/</outputDirectory>
<fileMode>0755</fileMode>
</file>
</files>
</assembly>
package com.netease.mail.yanxuan.change.assembly;
import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import com.netease.yanxuan.missa.client.annotation.EnableMissaClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
/**
* 项目启动类
*/
@ComponentScan(basePackages = "com.netease.mail.yanxuan.change")
@EnableApolloConfig
@EnableMissaClients(basePackages = "com.netease.mail.yanxuan.change")
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
<?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>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yanxuan-qc-change-system-biz</artifactId>
<dependencies>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-client</artifactId>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-integration</artifactId>
</dependency>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-dal</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
/**
* 枚举对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.biz.meta.enums;
/**
* bo对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.biz.meta.model.bo;
/**
* <p>
* 核心业务逻辑,接口定义以Service结尾,例如:AbcService。
* 接口定义可以根据业务场景,定义业务分包。对应实现放到[impl]子包中,
* 接口实现以ServiceImpl结尾,例如:AbcServiceImpl
* </p>
*
* @author hzwangliyuan.
* @date 2019/11/28.
*/
package com.netease.mail.yanxuan.change.biz;
/**
* 服务实现
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.biz.service.impl;
/**
* 服务接口
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.biz.service;
dev.meta=http://dev.yx.localhost:8550/proxy/dev.apolloy-configservice.service.mailsaas
test.meta=http://127.0.0.1:8550/proxy/test.apolloy-configservice.service.mailsaas/
release.meta=http://10.200.169.113:8080
pressure.meta=http://10.200.168.231:8080
regression.meta=http://127.0.0.1:8550/proxy/regression.apolloy-configservice.service.mailsaas/
online.meta=http://127.0.0.1:8550/proxy/online.apolloy-configservice.service.mailsaas/
\ No newline at end of file
app.id=yanxuan-qc-change-system
apollo.cluster=default
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<!-- scan dschedule config package -->
<!-- <context:component-scan base-package="com.netease.mail.yanxuan.dschedule.core.config">-->
<!-- </context:component-scan>-->
<!-- dschedule执行器 -->
<!-- <bean id="dscheduleExecutor"-->
<!-- class="com.netease.mail.yanxuan.dschedule.core.executor.DscheduleExecutor"-->
<!-- init-method="start" destroy-method="destroy"/>-->
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="60 seconds">
<contextName>yanxuan-qc-change-system</contextName>
<!--引入missa-->
<springProfile name="!dev">
<include resource="logback-missa.xml"/>
</springProfile>
<!-- 获取application配置文件中的配置 -->
<springProperty scope="context" name="log.level"
source="log.level"/>
<springProperty scope="context" name="log.path"
source="log.path"/>
<springProperty scope="context" name="log.maxHistory"
source="log.maxHistory"/>
<springProperty scope="context" name="log.maxSize"
source="log.maxSize"/>
<!--日志平台应用日志标准格式-->
<property name="patternValue"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] [%X{XTraceId}] %m%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${patternValue}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--默认日志输出 -->
<appender name="default" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/default.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/default.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${log.maxSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${patternValue}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--默认异步日志输出 -->
<appender name="default_ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>512</queueSize>
<!-- 提取调用者数据 -->
<includeCallerData>true</includeCallerData>
<!-- 添加附加的appender,最多只能添加一个 -->
<appender-ref ref="default"/>
</appender>
<root level="${log.level}">
<appender-ref ref="console"/>
<appender-ref ref="default_ASYNC"/>
</root>
</configuration>
<?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">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>yanxuan-qc-change-system</artifactId>
<groupId>com.netease.yanxuan</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
/**
* dto对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.client.meta.model.dto;
/**
* 本层的定义意在实现本系统的能力暴露,以便于依赖方可以通过这个jar包直接访问我们web层的接口
*
* @author hzwangliyuan.
* @date 2019/11/28.
*/
package com.netease.mail.yanxuan.change.client;
<?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>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yanxuan-qc-change-system-common</artifactId>
</project>
\ No newline at end of file
/**
* @(#)FastJsonSerializer.java, 2020/12/11.
* <p/>
* Copyright 2020 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.common.json;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
/**
* json序列化
*
* @author: 莫闲
* @date: 2020-12-11 09:36
**/
public class FastJsonSerializer {
public FastJsonSerializer() {}
public static String serialize(Object obj) {
return JSON.toJSONString(obj,
new SerializerFeature[] { SerializerFeature.WriteClassName });
}
public static Object deserialize(String content) {
return JSON.parse(content);
}
static {
ParserConfig.getGlobalInstance().addAccept("com.netease.");
}
}
/**
* common模块则提供了基础的公用的工具服务
*
* @author hzwangliyuan.
* @date 2019/11/28.
*/
package com.netease.mail.yanxuan.change.common;
\ No newline at end of file
<?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>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yanxuan-qc-change-system-dal</artifactId>
<dependencies>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-common</artifactId>
</dependency>
<!-- store-db
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>netease.ddb</groupId>
<artifactId>db</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
-->
<!-- store-redis
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
-->
</dependencies>
</project>
\ No newline at end of file
/**
* dao对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.dal.dao;
/**
* mapper对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.dal.mapper;
/**
* po对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.dal.meta.model.po;
/**
* dao包作为可选包,用于融合值得复用的mapper层的统一处理,例如参数的调整、适配,
* 多个mapper关联的情况等,当然这些也可以考虑在service实现。
* dao=data access object,所以这里把NoSQL,例如mongo的访问封装也放到这里。
*
* @author hzwangliyuan.
* @date 2019/11/28.
*/
package com.netease.mail.yanxuan.change.dal;
<?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>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yanxuan-qc-change-system-integration</artifactId>
<dependencies>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-common</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
/**
* 分包规则按照依赖源(比如系统名)来定义,内部的类命名以Client结尾,例如AbcClient。
* 为了兼容spring的通用模式,也建议在外部定义接口类
*
* @author hzwangliyuan.
* @date 2019/11/28.
*/
package com.netease.mail.yanxuan.change.integration;
<?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>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yanxuan-qc-change-system-web</artifactId>
<dependencies>
<dependency>
<groupId>com.netease.yanxuan</groupId>
<artifactId>yanxuan-qc-change-system-biz</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.netease.mail.yanxuan.change.web.controller;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Consul健康检查服务
*
* @author hzwangliyuan.
* @date 2018/5/3.
*/
@RestController
public class HealthCheckController {
/**
* 健康检查接口
*
* @return HttpStatus.OK 表示成功
*/
@RequestMapping("/i/health")
public ResponseEntity checkHealth() {
return new ResponseEntity(HttpStatus.OK);
}
}
/**
* vo对象
*
* @author 莫闲.
* @date 2021/1/29.
*/
package com.netease.mail.yanxuan.change.web.meta.model.vo;
/**
* web 部分一般包含常见的Controller,Servlet等组件
*
* @author hzwangliyuan.
* @date 2019/11/28.
*/
package com.netease.mail.yanxuan.change.web;
spring:
application:
name: yanxuan-qc-change-system
profiles:
active: dev
log:
level: info
path: /home/logs/yanxuan-qc-change-system
maxHistory: 15
maxSize: 200MB
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
</beans>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment