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=""
This diff is collapsed. Click to expand it.
<?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