diff --git a/chushang-modules/chushang-module-loan/.gitignore b/chushang-modules/chushang-module-loan/.gitignore new file mode 100644 index 0000000..8c1ecef --- /dev/null +++ b/chushang-modules/chushang-module-loan/.gitignore @@ -0,0 +1,64 @@ +### gradle ### +.gradle +/build/ +!gradle/wrapper/gradle-wrapper.jar + +### STS ### +.settings/ +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +bin/ + +### IntelliJ IDEA ### +.idea/* +*.iws +*.iml +*.ipr +rebel.xml + +### NetBeans ### +nbproject/private/ +build/ +nbbuild/ +nbdist/ +.nb-gradle/ + +### maven ### +target/ +*.war +*.ear +*.zip +*.tar +*.tar.gz + +### vscode ### +.vscode + +### logs ### +/logs/ +*.log +*.log.gz + +### xxl-job log ### +/xxl-job/ + + +### temp ignore ### +*.cache +*.diff +*.patch +*.tmp +*.java~ +*.properties~ +*.xml~ + +### system ignore ### +.DS_Store +Thumbs.db +Servers +.metadata +.fastRequest diff --git a/chushang-modules/chushang-module-loan/loan-feign/pom.xml b/chushang-modules/chushang-module-loan/loan-feign/pom.xml new file mode 100644 index 0000000..192803a --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-feign/pom.xml @@ -0,0 +1,30 @@ + + 4.0.0 + + com.chushang + chushang-module-loan + 1.0.0 + + loan-feign + + + + com.chushang + chushang-common-feign + + + + com.chushang + chushang-common-data-scope + + + com.chushang + chushang-common-dict + + + com.chushang + chushang-common-log + + + diff --git a/chushang-modules/chushang-module-loan/loan-service/pom.xml b/chushang-modules/chushang-module-loan/loan-service/pom.xml new file mode 100644 index 0000000..bb44f20 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/pom.xml @@ -0,0 +1,118 @@ + + + + chushang-module-loan + com.chushang + 1.0.0 + + 4.0.0 + + 1.0.0 + loan-service + + + 17 + 17 + + + + com.chushang + loan-feign + + + com.chushang + chushang-common-redis + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + **/application.yml + **/bootstrap.yml + **/logback-nacos.xml + + + + true + + lib/ + + false + + com.chushang.LoanApplication + + + + ./config/ + + + ${project.build.directory} + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + org.springframework.boot + spring-boot-maven-plugin + + ${project.build.finalName} + + true + + + + + + repackage + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + copy-resources + package + + copy-resources + + + + + src/main/resources + + application.yml + bootstrap.yml + logback-nacos.xml + + true + + + + + UTF-8 + ${project.build.directory}/config + + + + + + ${project.artifactId} + + + diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/LoanApplication.java b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/LoanApplication.java new file mode 100644 index 0000000..eb5916c --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/java/com/chushang/LoanApplication.java @@ -0,0 +1,48 @@ +package com.chushang; + +import com.chushang.common.core.enums.AppStartType; +import com.chushang.common.feign.annotation.EnableOnnFeignClients; +import com.chushang.common.feign.annotation.EnableTransferFeign; +import com.chushang.security.annotation.EnableCustomConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * 认证授权中心 + * + * @author ruoyi + */ +@EnableDiscoveryClient +@EnableOnnFeignClients +@SpringBootApplication(scanBasePackages = {"com.chushang.**"}) +@EnableTransferFeign +@EnableCustomConfig +@EnableTransactionManagement +public class LoanApplication extends SpringBootServletInitializer +{ + private final static Logger log = LoggerFactory.getLogger(TaskApplication.class); + private final static String APP_NAME = "分期服务应用"; + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + log.info(AppStartType.START_FORMAT, AppStartType.web_server.type(), APP_NAME); + SpringApplicationBuilder run = application.sources(TaskApplication.class); + log.info(AppStartType.END_FORMAT, AppStartType.web_server.type(), APP_NAME); + return run; + } + + public static void main(String[] args) throws Exception { + log.info(AppStartType.START_FORMAT, AppStartType.main.type(), APP_NAME); + SpringApplication.run(TaskApplication.class, args); + log.info(AppStartType.END_FORMAT, AppStartType.main.type(), APP_NAME); + } + +} diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/resources/application.yml b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/application.yml new file mode 100644 index 0000000..a424c40 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/application.yml @@ -0,0 +1,126 @@ +server: + #开启优雅停机 + shutdown: graceful + port: 8086 + servlet: + context-path: /task + tomcat: + uri-encoding: UTF-8 + threads: + max: 800 + min-spare: 100 +spring: + servlet: + multipart: + # 修改上传文件临时路径为 /data1/tmp + location: /data1/tmp + max-file-size: 100MB + max-request-size: 100MB + application: + name: @artifactId@ + # 如果需要使用读写分离, 此处需要改造, 有没有办法不用改? + datasource: + type: com.zaxxer.hikari.HikariDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: ${config.jdbc.master.task.username} + password: ${config.jdbc.master.task.password} + url: jdbc:mysql://${config.jdbc.master.task.host}:${config.jdbc.master.task.port}/${config.jdbc.master.task.database}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai + hikari: + # 最大线程池数量 + maximum-pool-size: 30 + # 最小线程池数量 + minimum-idle: 5 + # 检测连接 + connection-test-query: SELECT 1 + # 连接超时时间 默认30分钟 + connection-timeout: 30000 + # 连接最大生存期间, 默认30分钟 + #max-lifetime: 300000 + devtools: + restart: + enabled: true + jackson: + default-property-inclusion: ALWAYS + time-zone: GMT+8 + date-format: yyyy-MM-dd HH:mm:ss +# mybaits-plus配置 +mybatis-plus: + # 全局刷新 mapper + mapper-locations: classpath:/mapper/**/*.xml + global-config: + refresh: + enable: true + db-config: + id-type: auto + table-underline: true + logic-delete-value: 1 + logic-not-delete-value: 0 + configuration: + map-underscore-to-camel-case: true + cache-enabled: false + call-setters-on-nulls: true + jdbc-type-for-null: 'null' + default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +# feign 配置 +feign: + sentinel: + enabled: true + okhttp: + enabled: true + httpclient: + enabled: false + client: + config: + default: + connectTimeout: 10000 + readTimeout: 10000 + compression: + request: + enabled: true + response: + enabled: true +# 暴露监控端点 +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS + +# 日志监听配置 -- 如果启用的话,需要配置 kafka 的路径 +logging: + config: classpath:logback-nacos.xml +rocketmq: + name-server: ${config.rocketmq.name-server} + producer: + # 生产者分组 + group: ${config.rocketmq.producer.group} + # 发送消息超时时间, 单位毫秒, 默认3000 + send-message-timeout: 10000 + # 消息压缩阈值, 当消息体的大小超过该阈值时进行消息压缩,默认为4*1024B + compress-message-body-threshold: 4096 + # 消息体的最大允许大小,默认为4*1024*1024B + max-message-size: 4194304 + # 同步发送消息时,失败重试次数,默认2 + retry-times-when-send-failed: 2 + # 异步发送消息时,失败重试次数,默认2 + retry-times-when-send-async-failed: 2 + # 发送消息给broker 时,发送失败是否重试另一台broker, 默认为false + retry-next-server: false + access-key: # Access Key ,可阅读 https://github.com/apache/rocketmq/blob/master/docs/cn/acl/user_guide.md 文档 + secret-key: # Secret Key + # 是否开启消息轨迹功能,默认为false 可阅读 https://github.com/apache/rocketmq/blob/master/docs/cn/msg_trace/user_guide.md 文档 + enable-msg-trace: false + # 自定义消息轨迹的 Topic 。默认为 RMQ_SYS_TRACE_TOPIC 。 + customized-trace-topic: RMQ_SYS_TRACE_TOPIC + consumer: + # 配置某个消费分组,是否监听指定 Topic 。结构为 Map<消费者分组, > 。默认情况下,不配置表示监听。 + listeners: + # 关闭 test-consumer-group 对 topic1 的监听消费 + test-consumer-group: + topic1: false # 关闭 test-consumer-group 对 topic1 的监听消费 + + diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/resources/bootstrap.yml b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..22092f1 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +spring: + config: + import: + -: "classpath:application.yml" + cloud: + loadbalancer: + cache: + enabled: false + nacos: + server-addr: ${nacos.host} + username: ${nacos.username} + password: ${nacos.password} + discovery: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${nacos.namespace} + group: ${nacos.group} + service: ${spring.application.name} + config: + server-addr: ${spring.cloud.nacos.server-addr} + namespace: ${spring.cloud.nacos.discovery.namespace} + group: ${spring.cloud.nacos.discovery.group} + file-extension: yaml + refresh-enabled: true + shared-configs: + - dataId: application-common.${spring.cloud.nacos.config.file-extension} + group: ${nacos.group} + refresh: ${spring.cloud.nacos.config.refresh-enabled} + profiles: + active: @profiles.active@ diff --git a/chushang-modules/chushang-module-loan/loan-service/src/main/resources/logback-nacos.xml b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/logback-nacos.xml new file mode 100644 index 0000000..977c569 --- /dev/null +++ b/chushang-modules/chushang-module-loan/loan-service/src/main/resources/logback-nacos.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + + UTF-8 + + + + + ${log.path}/info.log + + ${log.path}/info.%d{yyyy-MM-dd}-%i.log + 5 + 500MB + + + ${CONSOLE_LOG_PATTERN} + + + info + + + + + ${log.path}/debug.log + + ${log.path}/debug.%d{yyyy-MM-dd}-%i.log + 5 + 500MB + + + ${CONSOLE_LOG_PATTERN} + + + debug + + + + + ${log.path}/error.log + + ${log.path}/error.%d{yyyy-MM-dd}-%i.log + 5 + 500MB + + + ${CONSOLE_LOG_PATTERN} + + + error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/chushang-modules/chushang-module-loan/pom.xml b/chushang-modules/chushang-module-loan/pom.xml new file mode 100644 index 0000000..652f2fe --- /dev/null +++ b/chushang-modules/chushang-module-loan/pom.xml @@ -0,0 +1,63 @@ + + + + chushang-modules + com.chushang + 1.0.0 + + 4.0.0 + + chushang-module-loan + pom + + loan-service + loan-feign + + + + 17 + 17 + + + + + + com.chushang + loan-feign + 1.0.0 + + + + + + + de.codecentric + spring-boot-admin-starter-client + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + org.springframework.boot + spring-boot-devtools + + + + diff --git a/chushang-modules/chushang-module-task/task-service/pom.xml b/chushang-modules/chushang-module-task/task-service/pom.xml index d12bf8c..e4db4e9 100644 --- a/chushang-modules/chushang-module-task/task-service/pom.xml +++ b/chushang-modules/chushang-module-task/task-service/pom.xml @@ -46,7 +46,7 @@ false - com.chushang.TaskApplication + com.chushang.LoanApplication diff --git a/chushang-modules/pom.xml b/chushang-modules/pom.xml index c187ce1..0beabc4 100644 --- a/chushang-modules/pom.xml +++ b/chushang-modules/pom.xml @@ -14,6 +14,7 @@ chushang-module-auth chushang-module-gateway + chushang-module-loan chushang-module-system chushang-module-oss chushang-module-task