From 234b6411f0c9ab394957d08c57d6fe9048e93477 Mon Sep 17 00:00:00 2001 From: aikai Date: Fri, 1 Nov 2024 17:54:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BAhrm=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 + .../src/main/resources/application.yaml | 16 ++ yudao-module-hrm/pom.xml | 25 ++ yudao-module-hrm/yudao-module-hrm-api/pom.xml | 47 ++++ .../yudao/module/hrm}/api/package-info.java | 2 +- .../yudao/module/hrm}/enums/ApiConstants.java | 6 +- .../module/hrm}/enums/DictTypeConstants.java | 2 +- .../module/hrm}/enums/ErrorCodeConstants.java | 2 +- .../yudao-module-hrm-biz/Dockerfile | 19 ++ yudao-module-hrm/yudao-module-hrm-biz/pom.xml | 176 ++++++++++++++ .../module/hrm/HrmServerApplication.java | 30 +++ .../yudao/module/hrm/api/package-info.java | 1 + .../admin/definition/HrmTestController.java | 23 ++ .../hrm/controller/app/package-info.java | 4 + .../module/hrm}/controller/package-info.java | 2 +- .../module/hrm}/convert/package-info.java | 2 +- ...g Boot 对象转换 MapStruct 入门》.md | 0 .../yudao/module/hrm/enums/package-info.java | 4 + .../hrm/framework/codegen/package-info.java | 4 + .../config/AdminServerConfiguration.java | 2 +- .../hrm}/framework/monitor/package-info.java | 2 +- ...pring Boot 监控工具 Admin 入门》.md | 0 .../module/hrm}/framework/package-info.java | 2 +- .../rpc/config/RpcConfiguration.java | 2 +- .../hrm/framework/rpc/package-info.java | 4 + .../config/SecurityConfiguration.java | 2 +- .../framework/security/core/package-info.java | 4 + .../yudao/module/hrm/job/package-info.java | 4 + .../module/hrm/mq/consumer/package-info.java | 4 + .../module/hrm/mq/message/package-info.java | 4 + .../module/hrm/mq/producer/package-info.java | 4 + .../yudao/module/hrm}/package-info.java | 2 +- .../src/main/resources/application-dev.yaml | 130 ++++++++++ .../src/main/resources/application-local.yaml | 152 ++++++++++++ .../src/main/resources/application-prod.yaml | 152 ++++++++++++ .../src/main/resources/application.yaml | 162 +++++++++++++ .../src/main/resources/bootstrap-dev.yaml | 23 ++ .../src/main/resources/bootstrap-local.yaml | 23 ++ .../src/main/resources/bootstrap-prod.yaml | 23 ++ .../src/main/resources/bootstrap.yaml | 15 ++ .../src/main/resources/logback-spring.xml | 76 ++++++ .../service/DefaultDatabaseQueryTest.java | 2 +- .../test/resources/application-unit-test.yaml | 53 ++++ .../src/test/resources/logback.xml | 4 + .../src/test/resources/sql/clean.sql | 12 + .../src/test/resources/sql/create_tables.sql | 228 ++++++++++++++++++ 46 files changed, 1442 insertions(+), 15 deletions(-) create mode 100644 yudao-module-hrm/pom.xml create mode 100644 yudao-module-hrm/yudao-module-hrm-api/pom.xml rename {yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm}/api/package-info.java (60%) rename {yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm}/enums/ApiConstants.java (76%) rename {yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm}/enums/DictTypeConstants.java (67%) rename {yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm}/enums/ErrorCodeConstants.java (75%) create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/Dockerfile create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/pom.xml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/HrmServerApplication.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/definition/HrmTestController.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/app/package-info.java rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/controller/package-info.java (84%) rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/convert/package-info.java (63%) rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md (100%) create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/enums/package-info.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/codegen/package-info.java rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/framework/monitor/config/AdminServerConfiguration.java (78%) rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/framework/monitor/package-info.java (53%) rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/framework/monitor/《芋道 Spring Boot 监控工具 Admin 入门》.md (100%) rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/framework/package-info.java (53%) rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/framework/rpc/config/RpcConfiguration.java (85%) create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/package-info.java rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/framework/security/config/SecurityConfiguration.java (97%) create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/core/package-info.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/job/package-info.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/consumer/package-info.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/message/package-info.java create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/producer/package-info.java rename {yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm}/package-info.java (92%) create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-dev.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-local.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-prod.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-dev.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-local.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-prod.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/logback-spring.xml rename {yudao-module-wms/yudao-module-wms-biz/src/test/java/cn/iocoder/yudao/module/wms => yudao-module-hrm/yudao-module-hrm-biz/src/test/java/cn/iocoder/yudao/module/hrm}/service/DefaultDatabaseQueryTest.java (97%) create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/application-unit-test.yaml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/logback.xml create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/clean.sql create mode 100644 yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/create_tables.sql diff --git a/pom.xml b/pom.xml index e6c4b20a..484f562b 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,7 @@ yudao-module-mall zn-module-smartfactory yudao-module-wms + yudao-module-hrm ${project.artifactId} diff --git a/yudao-gateway/src/main/resources/application.yaml b/yudao-gateway/src/main/resources/application.yaml index 0e99405e..69c7864d 100644 --- a/yudao-gateway/src/main/resources/application.yaml +++ b/yudao-gateway/src/main/resources/application.yaml @@ -33,6 +33,19 @@ spring: - Path=/app-api/wms/** filters: - RewritePath=/app-api/wms/v3/api-docs, /v3/api-docs + ## hrm-server服务 + - id: hrm-admin-api # 路由的编号 + uri: grayLb://hrm-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/admin-api/hrm/** + filters: + - RewritePath=/admin-api/hrm/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v2/api-docs + - id: hrm-app-api # 路由的编号 + uri: grayLb://hrm-server + predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 + - Path=/app-api/hrm/** + filters: + - RewritePath=/app-api/hrm/v3/api-docs, /v3/api-docs ## system-server 服务 - id: system-admin-api # 路由的编号 uri: grayLb://system-server @@ -184,6 +197,9 @@ knife4j: - name: wms-server service-name: wms-server url: /admin-api/wms/v3/api-docs + - name: hrm-server + service-name: hrm-server + url: /admin-api/hrm/v3/api-docs - name: system-server service-name: system-server url: /admin-api/system/v3/api-docs diff --git a/yudao-module-hrm/pom.xml b/yudao-module-hrm/pom.xml new file mode 100644 index 00000000..7acc007c --- /dev/null +++ b/yudao-module-hrm/pom.xml @@ -0,0 +1,25 @@ + + + + cn.iocoder.cloud + yudao + ${revision} + + 4.0.0 + + yudao-module-hrm-api + yudao-module-hrm-biz + + yudao-module-hrm + pom + + ${project.artifactId} + + infra 模块,主要提供两块能力: + 1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等 + 2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等 + + + diff --git a/yudao-module-hrm/yudao-module-hrm-api/pom.xml b/yudao-module-hrm/yudao-module-hrm-api/pom.xml new file mode 100644 index 00000000..9dae80ae --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-api/pom.xml @@ -0,0 +1,47 @@ + + + + cn.iocoder.cloud + yudao-module-hrm + ${revision} + + 4.0.0 + yudao-module-hrm-api + jar + + ${project.artifactId} + + infra 模块 API,暴露给其它模块调用 + + + + + cn.iocoder.cloud + yudao-common + + + + + org.springdoc + springdoc-openapi-ui + provided + + + + + org.springframework.boot + spring-boot-starter-validation + true + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + true + + + + diff --git a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/api/package-info.java b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java similarity index 60% rename from yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/api/package-info.java rename to yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java index 299f681f..7abae7a2 100644 --- a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/api/package-info.java +++ b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java @@ -1,4 +1,4 @@ /** * infra API 包,定义暴露给其它模块的 API */ -package cn.iocoder.yudao.module.wms.api; +package cn.iocoder.yudao.module.hrm.api; diff --git a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/ApiConstants.java b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ApiConstants.java similarity index 76% rename from yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/ApiConstants.java rename to yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ApiConstants.java index 3d534436..c5d9ca6a 100644 --- a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/ApiConstants.java +++ b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ApiConstants.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.enums; +package cn.iocoder.yudao.module.hrm.enums; import cn.iocoder.yudao.framework.common.enums.RpcConstants; @@ -12,9 +12,9 @@ public class ApiConstants { *

* 注意,需要保证和 spring.application.name 保持一致 */ - public static final String NAME = "wms-server"; + public static final String NAME = "hrm-server"; - public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/wms"; + public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/hrm"; public static final String VERSION = "1.0.0"; diff --git a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/DictTypeConstants.java b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/DictTypeConstants.java similarity index 67% rename from yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/DictTypeConstants.java rename to yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/DictTypeConstants.java index 2a0e3085..7c30f4b9 100644 --- a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/DictTypeConstants.java +++ b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/DictTypeConstants.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.enums; +package cn.iocoder.yudao.module.hrm.enums; /** * Infra 字典类型的枚举类 diff --git a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ErrorCodeConstants.java similarity index 75% rename from yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java rename to yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ErrorCodeConstants.java index f4764657..22bb0b23 100644 --- a/yudao-module-wms/yudao-module-wms-api/src/main/java/cn/iocoder/yudao/module/wms/enums/ErrorCodeConstants.java +++ b/yudao-module-hrm/yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ErrorCodeConstants.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.enums; +package cn.iocoder.yudao.module.hrm.enums; /** * Infra 错误码枚举类 diff --git a/yudao-module-hrm/yudao-module-hrm-biz/Dockerfile b/yudao-module-hrm/yudao-module-hrm-biz/Dockerfile new file mode 100644 index 00000000..578cba76 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/Dockerfile @@ -0,0 +1,19 @@ +## AdoptOpenJDK 停止发布 OpenJDK 二进制,而 Eclipse Temurin 是它的延伸,提供更好的稳定性 +## 感谢复旦核博士的建议!灰子哥,牛皮! +FROM eclipse-temurin:8-jre + +## 创建目录,并使用它作为工作目录 +RUN mkdir -p /yudao-module-infra-biz +WORKDIR /yudao-module-infra-biz +## 将后端项目的 Jar 文件,复制到镜像中 +COPY ./target/yudao-module-infra-biz.jar app.jar + +## 设置 TZ 时区 +## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖 +ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m" + +## 暴露后端项目的 48080 端口 +EXPOSE 48082 + +## 启动后端项目 +CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar diff --git a/yudao-module-hrm/yudao-module-hrm-biz/pom.xml b/yudao-module-hrm/yudao-module-hrm-biz/pom.xml new file mode 100644 index 00000000..64ae1008 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/pom.xml @@ -0,0 +1,176 @@ + + + + cn.iocoder.cloud + yudao-module-hrm + ${revision} + + 4.0.0 + yudao-module-hrm-biz + jar + + ${project.artifactId} + + infra 模块,主要提供两块能力: + 1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等 + 2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等 + + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + + + cn.iocoder.cloud + yudao-module-hrm-api + ${revision} + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-banner + + + cn.iocoder.cloud + yudao-spring-boot-starter-biz-operatelog + + + cn.iocoder.cloud + yudao-spring-boot-starter-biz-tenant + + + cn.iocoder.cloud + yudao-spring-boot-starter-biz-error-code + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-security + + + + cn.iocoder.cloud + yudao-spring-boot-starter-websocket + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-mybatis + + + com.baomidou + mybatis-plus-generator + + + + cn.iocoder.cloud + yudao-spring-boot-starter-redis + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-rpc + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-job + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-mq + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-test + test + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-excel + + + + org.apache.velocity + velocity-engine-core + + + + cn.smallbun.screw + screw-core + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-monitor + + + + de.codecentric + spring-boot-admin-starter-server + + + + + cn.iocoder.cloud + yudao-spring-boot-starter-file + + + cn.iocoder.cloud + zn-module-smartfactory-api + 2.0.0-jdk8-snapshot + compile + + + + + + ${project.artifactId} + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring.boot.version} + + + + repackage + + + + + + + + diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/HrmServerApplication.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/HrmServerApplication.java new file mode 100644 index 00000000..1e7f2734 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/HrmServerApplication.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.hrm; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * 项目的启动类 + *

+ * + * + * + * + + */ +@SpringBootApplication +public class HrmServerApplication { + + public static void main(String[] args) { + // + // + // + + SpringApplication.run(HrmServerApplication.class, args); + + // + // + // + } + +} diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java new file mode 100644 index 00000000..f8d471a0 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/api/package-info.java @@ -0,0 +1 @@ +package cn.iocoder.yudao.module.hrm.api; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/definition/HrmTestController.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/definition/HrmTestController.java new file mode 100644 index 00000000..14421a7d --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/definition/HrmTestController.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.hrm.controller.admin.definition; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - hrm管理demo") +@RestController +@RequestMapping("/hrm/damo") +@Validated +public class HrmTestController { + @GetMapping("/test") + @Operation(summary = "测试案例", description = "测试案例") + public CommonResult test() { + return success("你好"); + } +} diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/app/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/app/package-info.java new file mode 100644 index 00000000..546ad042 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/app/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package cn.iocoder.yudao.module.hrm.controller.app; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/controller/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/package-info.java similarity index 84% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/controller/package-info.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/package-info.java index c75d9df6..d3803837 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/controller/package-info.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/controller/package-info.java @@ -3,4 +3,4 @@ * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目 * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分 */ -package cn.iocoder.yudao.module.wms.controller; +package cn.iocoder.yudao.module.hrm.controller; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/convert/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/convert/package-info.java similarity index 63% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/convert/package-info.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/convert/package-info.java index d5c4aaf1..c5007f15 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/convert/package-info.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/convert/package-info.java @@ -3,4 +3,4 @@ * * 目前使用 MapStruct 框架 */ -package cn.iocoder.yudao.module.wms.convert; +package cn.iocoder.yudao.module.hrm.convert; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md similarity index 100% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/enums/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/enums/package-info.java new file mode 100644 index 00000000..ff6fc667 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/enums/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package cn.iocoder.yudao.module.hrm.enums; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/codegen/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/codegen/package-info.java new file mode 100644 index 00000000..0b42d7d1 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/codegen/package-info.java @@ -0,0 +1,4 @@ +/** + * 代码生成器 + */ +package cn.iocoder.yudao.module.hrm.framework.codegen; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/config/AdminServerConfiguration.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/config/AdminServerConfiguration.java similarity index 78% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/config/AdminServerConfiguration.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/config/AdminServerConfiguration.java index d7f5d1e3..257a1f64 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/config/AdminServerConfiguration.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/config/AdminServerConfiguration.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.framework.monitor.config; +package cn.iocoder.yudao.module.hrm.framework.monitor.config; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.context.annotation.Configuration; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/package-info.java similarity index 53% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/package-info.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/package-info.java index 810c98dc..4eea9a74 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/package-info.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/package-info.java @@ -1,4 +1,4 @@ /** * 使用 Spring Boot Admin 实现简单的监控平台 */ -package cn.iocoder.yudao.module.wms.framework.monitor; +package cn.iocoder.yudao.module.hrm.framework.monitor; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/《芋道 Spring Boot 监控工具 Admin 入门》.md b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/《芋道 Spring Boot 监控工具 Admin 入门》.md similarity index 100% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/monitor/《芋道 Spring Boot 监控工具 Admin 入门》.md rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/monitor/《芋道 Spring Boot 监控工具 Admin 入门》.md diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/package-info.java similarity index 53% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/package-info.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/package-info.java index 2ea1946a..fae4b9c3 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/package-info.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/package-info.java @@ -3,4 +3,4 @@ * */ -package cn.iocoder.yudao.module.wms.framework; +package cn.iocoder.yudao.module.hrm.framework; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/rpc/config/RpcConfiguration.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/config/RpcConfiguration.java similarity index 85% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/rpc/config/RpcConfiguration.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/config/RpcConfiguration.java index fa80f6e1..dcd44c15 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/rpc/config/RpcConfiguration.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/config/RpcConfiguration.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.framework.rpc.config; +package cn.iocoder.yudao.module.hrm.framework.rpc.config; import cn.iocoder.yudao.module.smartfactory.api.factoryInfo.FactoryInfoApi; import org.springframework.cloud.openfeign.EnableFeignClients; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/package-info.java new file mode 100644 index 00000000..551baa1a --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/rpc/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package cn.iocoder.yudao.module.hrm.framework.rpc; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/security/config/SecurityConfiguration.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/config/SecurityConfiguration.java similarity index 97% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/security/config/SecurityConfiguration.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/config/SecurityConfiguration.java index 68ecd4a1..93e94da5 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/framework/security/config/SecurityConfiguration.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/config/SecurityConfiguration.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.framework.security.config; +package cn.iocoder.yudao.module.hrm.framework.security.config; import cn.iocoder.yudao.framework.security.config.AuthorizeRequestsCustomizer; import cn.iocoder.yudao.module.infra.enums.ApiConstants; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/core/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/core/package-info.java new file mode 100644 index 00000000..e963745b --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/framework/security/core/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package cn.iocoder.yudao.module.hrm.framework.security.core; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/job/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/job/package-info.java new file mode 100644 index 00000000..66a9a8e6 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/job/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位,无特殊含义 + */ +package cn.iocoder.yudao.module.hrm.job; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/consumer/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/consumer/package-info.java new file mode 100644 index 00000000..756ad310 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/consumer/package-info.java @@ -0,0 +1,4 @@ +/** + * 消息队列的消费者 + */ +package cn.iocoder.yudao.module.hrm.mq.consumer; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/message/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/message/package-info.java new file mode 100644 index 00000000..d16405bd --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/message/package-info.java @@ -0,0 +1,4 @@ +/** + * 消息队列的消息 + */ +package cn.iocoder.yudao.module.hrm.mq.message; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/producer/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/producer/package-info.java new file mode 100644 index 00000000..d3822c2b --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/mq/producer/package-info.java @@ -0,0 +1,4 @@ +/** + * 消息队列的生产者 + */ +package cn.iocoder.yudao.module.hrm.mq.producer; diff --git a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/package-info.java b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/package-info.java similarity index 92% rename from yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/package-info.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/package-info.java index 14eb95dd..b3dce06b 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/main/java/cn/iocoder/yudao/module/wms/package-info.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/java/cn/iocoder/yudao/module/hrm/package-info.java @@ -6,4 +6,4 @@ * 1. Controller URL:以 /infra/ 开头,避免和其它 Module 冲突 * 2. DataObject 表名:以 infra_ 开头,方便在数据库中区分 */ -package cn.iocoder.yudao.module.wms; +package cn.iocoder.yudao.module.hrm; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-dev.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-dev.yaml new file mode 100644 index 00000000..65e07f99 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-dev.yaml @@ -0,0 +1,130 @@ +--- #################### 数据库相关配置 #################### +spring: + # 数据源配置项 + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 + datasource: + druid: # Druid 【监控】相关的全局配置 + web-stat-filter: + enabled: true + stat-view-servlet: + enabled: true + allow: # 设置白名单,不填则允许所有访问 + url-pattern: /druid/* + login-username: # 控制台管理用户名和密码 + login-password: + filter: + stat: + enabled: true + log-slow-sql: true # 慢 SQL 记录 + slow-sql-millis: 100 + merge-sql: true + wall: + config: + multi-statement-allow: true + dynamic: # 多数据源配置 + druid: # Druid 【连接池】相关的全局配置 + initial-size: 5 # 初始连接数 + min-idle: 10 # 最小连接池数量 + max-active: 20 # 最大连接池数量 + max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒 + time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒 + min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒 + max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒 + validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效 + test-while-idle: true + test-on-borrow: false + test-on-return: false + primary: master + datasource: + master: + name: ruoyi-vue-pro-dev + url: jdbc:mysql://rm-bp1yloyj508qld78jno.mysql.rds.aliyuncs.com:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + driver-class-name: com.mysql.jdbc.Driver + username: root + password: Znalyrds2024 + slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 + name: ruoyi-vue-pro-dev + url: jdbc:mysql://rm-bp1yloyj508qld78jno.mysql.rds.aliyuncs.com:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + driver-class-name: com.mysql.jdbc.Driver + username: root + password: Znalyrds2024 + + # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 + redis: + host: 127.0.0.1 # 地址 + port: 6379 # 端口 + database: 1 # 数据库索引 +# password: yhtkj@2024! # 密码,建议生产环境开启 + +--- #################### MQ 消息队列相关配置 #################### + +# rocketmq 配置项,对应 RocketMQProperties 配置类 +rocketmq: + name-server: 127.0.0.1:9876 # RocketMQ Namesrv + +spring: + # RabbitMQ 配置项,对应 RabbitProperties 配置类 + rabbitmq: + host: 127.0.0.1 # RabbitMQ 服务的地址 + port: 5672 # RabbitMQ 服务的端口 + username: guest # RabbitMQ 服务的账号 + password: guest # RabbitMQ 服务的密码 + # Kafka 配置项,对应 KafkaProperties 配置类 + kafka: + bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔 + +--- #################### 定时任务相关配置 #################### +xxl: + job: + enabled: false # 是否开启调度中心,默认为 true 开启 + admin: + addresses: http://127.0.0.1:9090/xxl-job-admin # 调度中心部署跟地址 + +--- #################### 服务保障相关配置 #################### + +# Lock4j 配置项 +lock4j: + acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒 + expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒 + +--- #################### 监控相关配置 #################### + +# Actuator 监控端点的配置项 +management: + endpoints: + web: + base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator + exposure: + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + +# Spring Boot Admin 配置项 +spring: + boot: + admin: + # Spring Boot Admin Client 客户端的相关配置 + client: + instance: + service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME] + # Spring Boot Admin Server 服务端的相关配置 + context-path: /admin # 配置 Spring + +--- #################### 芋道相关配置 #################### + +# 芋道配置项,设置当前项目所有自定义的配置 +yudao: + env: # 多环境的配置项 + tag: ${HOSTNAME} + security: + mock-enable: true + xss: + enable: false + exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 + - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 + - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 + access-log: # 访问日志的配置项 + enable: false + error-code: # 错误码相关配置项 + enable: false + demo: false # 关闭演示模式 diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-local.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-local.yaml new file mode 100644 index 00000000..da798a8d --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-local.yaml @@ -0,0 +1,152 @@ +--- #################### 数据库相关配置 #################### +spring: + + # 数据源配置项 + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 + - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 + - de.codecentric.boot.admin.server.cloud.config.AdminServerDiscoveryAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 + - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 + - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 + datasource: + druid: # Druid 【监控】相关的全局配置 + web-stat-filter: + enabled: true + stat-view-servlet: + enabled: true + allow: # 设置白名单,不填则允许所有访问 + url-pattern: /druid/* + login-username: # 控制台管理用户名和密码 + login-password: + filter: + stat: + enabled: true + log-slow-sql: true # 慢 SQL 记录 + slow-sql-millis: 100 + merge-sql: true + wall: + config: + multi-statement-allow: true + dynamic: # 多数据源配置 + druid: # Druid 【连接池】相关的全局配置 + initial-size: 1 # 初始连接数 + min-idle: 1 # 最小连接池数量 + max-active: 20 # 最大连接池数量 + max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒 + time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒 + min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒 + max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒 + validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效 + test-while-idle: true + test-on-borrow: false + test-on-return: false + primary: master + datasource: + master: + name: ruoyi-vue-pro + url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 + # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.master.name} # PostgreSQL 连接的示例 + # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 + # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例 + username: root + password: root + # username: sa + # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W + slave: # 模拟从库,可根据自己需要修改 + name: ruoyi-vue-pro + url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 + # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例 + # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 + # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例 + username: root + password: root + # username: sa + # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W + + # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 + redis: + host: 127.0.0.1 # 地址 + port: 6379 # 端口 + database: 0 # 数据库索引 +# password: 123456 # 密码,建议生产环境开启 + +--- #################### MQ 消息队列相关配置 #################### + +# rocketmq 配置项,对应 RocketMQProperties 配置类 +rocketmq: + name-server: 127.0.0.1:9876 # RocketMQ Namesrv + +spring: + # RabbitMQ 配置项,对应 RabbitProperties 配置类 + rabbitmq: + host: 127.0.0.1 # RabbitMQ 服务的地址 + port: 5672 # RabbitMQ 服务的端口 + username: guest # RabbitMQ 服务的账号 + password: guest # RabbitMQ 服务的密码 + # Kafka 配置项,对应 KafkaProperties 配置类 + kafka: + bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔 + +--- #################### 定时任务相关配置 #################### +xxl: + job: + enabled: false # 是否开启调度中心,默认为 true 开启 + admin: + addresses: http://127.0.0.1:9090/xxl-job-admin # 调度中心部署跟地址 + +--- #################### 服务保障相关配置 #################### + +# Lock4j 配置项 +lock4j: + acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒 + expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒 + +--- #################### 监控相关配置 #################### + +# Actuator 监控端点的配置项 +management: + endpoints: + web: + base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator + exposure: + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + +# Spring Boot Admin 配置项 +spring: + boot: + admin: + # Spring Boot Admin Client 客户端的相关配置 + client: + instance: + service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME] + # Spring Boot Admin Server 服务端的相关配置 + context-path: /admin # 配置 Spring + +# 日志文件配置 +logging: + level: + # 配置自己写的 MyBatis Mapper 打印日志 + cn.iocoder.yudao.module.hrm.dal.mysql: debug + cn.iocoder.yudao.module.hrm.dal.mysql.file.FileConfigMapper: INFO # 配置 FileConfigMapper 的日志级别为 info + +--- #################### 芋道相关配置 #################### + +# 芋道配置项,设置当前项目所有自定义的配置 +yudao: + env: # 多环境的配置项 + tag: ${HOSTNAME} + security: + mock-enable: true + xss: + enable: false + exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 + - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 + - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 + access-log: # 访问日志的配置项 + enable: false + error-code: # 错误码相关配置项 + enable: false + demo: false # 关闭演示模式 diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-prod.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-prod.yaml new file mode 100644 index 00000000..45fbc916 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application-prod.yaml @@ -0,0 +1,152 @@ +--- #################### 数据库相关配置 #################### +spring: + + # 数据源配置项 + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 + - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 + - de.codecentric.boot.admin.server.cloud.config.AdminServerDiscoveryAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 + - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 + - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 + datasource: + druid: # Druid 【监控】相关的全局配置 + web-stat-filter: + enabled: true + stat-view-servlet: + enabled: true + allow: # 设置白名单,不填则允许所有访问 + url-pattern: /druid/* + login-username: # 控制台管理用户名和密码 + login-password: + filter: + stat: + enabled: true + log-slow-sql: true # 慢 SQL 记录 + slow-sql-millis: 100 + merge-sql: true + wall: + config: + multi-statement-allow: true + dynamic: # 多数据源配置 + druid: # Druid 【连接池】相关的全局配置 + initial-size: 1 # 初始连接数 + min-idle: 1 # 最小连接池数量 + max-active: 20 # 最大连接池数量 + max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒 + time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒 + min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒 + max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒 + validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效 + test-while-idle: true + test-on-borrow: false + test-on-return: false + primary: master + datasource: + master: + name: ruoyi-vue-pro + url: jdbc:mysql://rm-bp1yloyj508qld78jno.mysql.rds.aliyuncs.com:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 + # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.master.name} # PostgreSQL 连接的示例 + # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 + # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例 + username: root + password: Znalyrds2024 + # username: sa + # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W + slave: # 模拟从库,可根据自己需要修改 + name: ruoyi-vue-pro + url: jdbc:mysql://rm-bp1yloyj508qld78jno.mysql.rds.aliyuncs.com:3306/${spring.datasource.dynamic.datasource.slave.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 + # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例 + # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 + # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例 + username: root + password: Znalyrds2024 + # username: sa + # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W + + # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 + redis: + host: 127.0.0.1 # 地址 + port: 6379 # 端口 + database: 0 # 数据库索引 + password: yhtkj@2024! # 密码,建议生产环境开启 + +--- #################### MQ 消息队列相关配置 #################### + +# rocketmq 配置项,对应 RocketMQProperties 配置类 +rocketmq: + name-server: 127.0.0.1:9876 # RocketMQ Namesrv + +spring: + # RabbitMQ 配置项,对应 RabbitProperties 配置类 + rabbitmq: + host: 127.0.0.1 # RabbitMQ 服务的地址 + port: 5672 # RabbitMQ 服务的端口 + username: guest # RabbitMQ 服务的账号 + password: guest # RabbitMQ 服务的密码 + # Kafka 配置项,对应 KafkaProperties 配置类 + kafka: + bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔 + +--- #################### 定时任务相关配置 #################### +xxl: + job: + enabled: false # 是否开启调度中心,默认为 true 开启 + admin: + addresses: http://127.0.0.1:9090/xxl-job-admin # 调度中心部署跟地址 + +--- #################### 服务保障相关配置 #################### + +# Lock4j 配置项 +lock4j: + acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒 + expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒 + +--- #################### 监控相关配置 #################### + +# Actuator 监控端点的配置项 +management: + endpoints: + web: + base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator + exposure: + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + +# Spring Boot Admin 配置项 +spring: + boot: + admin: + # Spring Boot Admin Client 客户端的相关配置 + client: + instance: + service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME] + # Spring Boot Admin Server 服务端的相关配置 + context-path: /admin # 配置 Spring + +# 日志文件配置 +logging: + level: + # 配置自己写的 MyBatis Mapper 打印日志 + cn.iocoder.yudao.module.hrm.dal.mysql: debug + cn.iocoder.yudao.module.hrm.dal.mysql.file.FileConfigMapper: INFO # 配置 FileConfigMapper 的日志级别为 info + +--- #################### 芋道相关配置 #################### + +# 芋道配置项,设置当前项目所有自定义的配置 +yudao: + env: # 多环境的配置项 + tag: ${HOSTNAME} + security: + mock-enable: true + xss: + enable: false + exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 + - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 + - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 + access-log: # 访问日志的配置项 + enable: false + error-code: # 错误码相关配置项 + enable: false + demo: false # 关闭演示模式 diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application.yaml new file mode 100644 index 00000000..b700bd8e --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/application.yaml @@ -0,0 +1,162 @@ +spring: + main: + allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 + allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务 + + # Servlet 配置 + servlet: + # 文件上传相关配置项 + multipart: + max-file-size: 16MB # 单个文件大小 + max-request-size: 32MB # 设置总上传的文件大小 + mvc: + pathmatch: + matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类 + + # Jackson 配置项 + jackson: + serialization: + write-dates-as-timestamps: true # 设置 LocalDateTime 的格式,使用时间戳 + write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401 + write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳 + fail-on-empty-beans: false # 允许序列化无属性的 Bean + + # Cache 配置项 + cache: + type: REDIS + redis: + time-to-live: 1h # 设置过期时间为 1 小时 + +--- #################### 接口文档配置 #################### + +springdoc: + api-docs: + enabled: true # 1. 是否开启 Swagger 接文档的元数据 + path: /v3/api-docs + swagger-ui: + enabled: true # 2.1 是否开启 Swagger 文档的官方 UI 界面 + path: /swagger-ui.html + default-flat-param-object: true # 参见 https://doc.xiaominfo.com/docs/faq/v4/knife4j-parameterobject-flat-param 文档 + +knife4j: + enable: true # 2.2 是否开启 Swagger 文档的 Knife4j UI 界面 + setting: + language: zh_cn + +# MyBatis Plus 的配置项 +mybatis-plus: + configuration: + map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 + global-config: + db-config: + id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 + # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库 + # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库 + # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解 + logic-delete-value: 1 # 逻辑已删除值(默认为 1) + logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) + banner: false # 关闭控制台的 Banner 打印 + type-aliases-package: ${yudao.info.base-package}.dal.dataobject + encryptor: + password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成 + +mybatis-plus-join: + banner: false # 关闭控制台的 Banner 打印 + +# Spring Data Redis 配置 +spring: + data: + redis: + repositories: + enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度 + +--- #################### RPC 远程调用相关配置 #################### + +--- #################### 消息队列相关 #################### + +# rocketmq 配置项,对应 RocketMQProperties 配置类 +rocketmq: + # Producer 配置项 + producer: + group: ${spring.application.name}_PRODUCER # 生产者分组 + +spring: + # Kafka 配置项,对应 KafkaProperties 配置类 + kafka: + # Kafka Producer 配置项 + producer: + acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。 + retries: 3 # 发送失败时,重试发送的次数 + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化 + # Kafka Consumer 配置项 + consumer: + auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解 + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + properties: + spring.json.trusted.packages: '*' + # Kafka Consumer Listener 监听器配置 + listener: + missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错 + +--- #################### 定时任务相关配置 #################### + +xxl: + job: + executor: + appname: ${spring.application.name} # 执行器 AppName + logpath: ${user.home}/logs/xxl-job/${spring.application.name} # 执行器运行日志文件存储磁盘路径 + accessToken: default_token # 执行器通讯TOKEN + +--- #################### 芋道相关配置 #################### + +yudao: + info: + version: 1.0.0 + base-package: cn.iocoder.yudao.module.hrm + web: + admin-ui: + url: http://sys.znkjfw.com # Admin 管理后台 UI 的地址 + websocket: + enable: true # websocket的开关 + path: /hrm/ws # 路径 + sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq + sender-rocketmq: + topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic + consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group + sender-rabbitmq: + exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange + queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue + sender-kafka: + topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic + consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group + swagger: + title: hrm管理后台 + description: 提供管理员管理的所有功能 + version: ${yudao.info.version} + base-package: ${yudao.info.base-package} + codegen: + base-package: cn.iocoder.yudao + db-schemas: ${spring.datasource.dynamic.datasource.master.name} + front-type: 10 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类 + error-code: # 错误码相关配置项 + constants-class-list: + - cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants + tenant: # 多租户相关配置项 + enable: true + ignore-urls: + - /admin-api/hrm/file/*/get/** # 获取图片,和租户无关 + ignore-tables: + - hrm_codegen_column + - hrm_codegen_table + - hrm_test_demo + - hrm_config + - hrm_file_config + - hrm_file + - hrm_file_content + - hrm_job + - hrm_job_log + - hrm_job_log + - hrm_data_source_config + - sys_region + +debug: false diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-dev.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-dev.yaml new file mode 100644 index 00000000..2de0efbf --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-dev.yaml @@ -0,0 +1,23 @@ +--- #################### 注册中心相关配置 #################### + +spring: + cloud: + nacos: + server-addr: 127.0.0.1:8848 + discovery: + namespace: dev # 命名空间。这里使用 dev 开发环境 + metadata: + version: 1.0.0 # 服务实例的版本号,可用于灰度发布 + +--- #################### 配置中心相关配置 #################### + +spring: + cloud: + nacos: + # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 + config: + server-addr: 127.0.0.1:8848 # Nacos 服务器地址 + namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境 + group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP + name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name + file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-local.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-local.yaml new file mode 100644 index 00000000..2de0efbf --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-local.yaml @@ -0,0 +1,23 @@ +--- #################### 注册中心相关配置 #################### + +spring: + cloud: + nacos: + server-addr: 127.0.0.1:8848 + discovery: + namespace: dev # 命名空间。这里使用 dev 开发环境 + metadata: + version: 1.0.0 # 服务实例的版本号,可用于灰度发布 + +--- #################### 配置中心相关配置 #################### + +spring: + cloud: + nacos: + # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 + config: + server-addr: 127.0.0.1:8848 # Nacos 服务器地址 + namespace: dev # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境 + group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP + name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name + file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-prod.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-prod.yaml new file mode 100644 index 00000000..a33845dd --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap-prod.yaml @@ -0,0 +1,23 @@ +--- #################### 注册中心相关配置 #################### + +spring: + cloud: + nacos: + server-addr: 127.0.0.1:8848 + discovery: + namespace: prod # 命名空间。这里使用 dev 开发环境 + metadata: + version: 1.0.0 # 服务实例的版本号,可用于灰度发布 + +--- #################### 配置中心相关配置 #################### + +spring: + cloud: + nacos: + # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 + config: + server-addr: 127.0.0.1:8848 # Nacos 服务器地址 + namespace: prod # 命名空间 dev 的ID,不能直接使用 dev 名称。创建命名空间的时候需要指定ID为 dev,这里使用 dev 开发环境 + group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP + name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name + file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap.yaml new file mode 100644 index 00000000..d100c8ee --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/bootstrap.yaml @@ -0,0 +1,15 @@ +spring: + application: + name: hrm-server + + profiles: + active: dev #local +# active: prod + +server: + port: 48088 + +# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件 +logging: + file: + name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径 diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/logback-spring.xml b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/logback-spring.xml new file mode 100644 index 00000000..b1b9f3fa --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/main/resources/logback-spring.xml @@ -0,0 +1,76 @@ + + + + + + + + + +       + + + ${PATTERN_DEFAULT} + + + + + + + + + + ${PATTERN_DEFAULT} + + + + ${LOG_FILE} + + + ${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz} + + ${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false} + + ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB} + + ${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0} + + ${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30} + + + + + + 0 + + 256 + + + + + + + + ${PATTERN_DEFAULT} + + + + + + + + + + + + + + + + + + + + + + diff --git a/yudao-module-wms/yudao-module-wms-biz/src/test/java/cn/iocoder/yudao/module/wms/service/DefaultDatabaseQueryTest.java b/yudao-module-hrm/yudao-module-hrm-biz/src/test/java/cn/iocoder/yudao/module/hrm/service/DefaultDatabaseQueryTest.java similarity index 97% rename from yudao-module-wms/yudao-module-wms-biz/src/test/java/cn/iocoder/yudao/module/wms/service/DefaultDatabaseQueryTest.java rename to yudao-module-hrm/yudao-module-hrm-biz/src/test/java/cn/iocoder/yudao/module/hrm/service/DefaultDatabaseQueryTest.java index 560e7086..0383f059 100644 --- a/yudao-module-wms/yudao-module-wms-biz/src/test/java/cn/iocoder/yudao/module/wms/service/DefaultDatabaseQueryTest.java +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/test/java/cn/iocoder/yudao/module/hrm/service/DefaultDatabaseQueryTest.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.wms.service; +package cn.iocoder.yudao.module.hrm.service; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.generator.query.DefaultQuery; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/application-unit-test.yaml b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/application-unit-test.yaml new file mode 100644 index 00000000..38e0a1c3 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/application-unit-test.yaml @@ -0,0 +1,53 @@ +spring: + main: + lazy-initialization: true # 开启懒加载,加快速度 + banner-mode: off # 单元测试,禁用 Banner + +--- #################### 数据库相关配置 #################### + +spring: + # 数据源配置项 + datasource: + name: ruoyi-vue-pro + url: jdbc:h2:mem:testdb;MODE=MYSQL;DATABASE_TO_UPPER=false;NON_KEYWORDS=value; # MODE 使用 MySQL 模式;DATABASE_TO_UPPER 配置表和字段使用小写 + driver-class-name: org.h2.Driver + username: sa + password: + druid: + async-init: true # 单元测试,异步初始化 Druid 连接池,提升启动速度 + initial-size: 1 # 单元测试,配置为 1,提升启动速度 + sql: + init: + schema-locations: classpath:/sql/create_tables.sql + + # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 + redis: + host: 127.0.0.1 # 地址 + port: 16379 # 端口(单元测试,使用 16379 端口) + database: 0 # 数据库索引 + +mybatis-plus: + lazy-initialization: true # 单元测试,设置 MyBatis Mapper 延迟加载,加速每个单元测试 + type-aliases-package: ${yudao.info.base-package}.dal.dataobject + global-config: + db-config: + id-type: AUTO # H2 主键递增 + +--- #################### 定时任务相关配置 #################### + +--- #################### 配置中心相关配置 #################### + +--- #################### 服务保障相关配置 #################### + +# Lock4j 配置项(单元测试,禁用 Lock4j) + +# Resilience4j 配置项 + +--- #################### 监控相关配置 #################### + +--- #################### 芋道相关配置 #################### + +# 芋道配置项,设置当前项目所有自定义的配置 +yudao: + info: + base-package: cn.iocoder.yudao.module.infra diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/logback.xml b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/logback.xml new file mode 100644 index 00000000..daf756bf --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/logback.xml @@ -0,0 +1,4 @@ + + + + diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/clean.sql b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/clean.sql new file mode 100644 index 00000000..a3e0fd02 --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/clean.sql @@ -0,0 +1,12 @@ +DELETE FROM "infra_config"; +DELETE FROM "infra_file_config"; +DELETE FROM "infra_file"; +DELETE FROM "infra_job"; +DELETE FROM "infra_job_log"; +DELETE FROM "infra_api_access_log"; +DELETE FROM "infra_api_error_log"; +DELETE FROM "infra_file_config"; +DELETE FROM "infra_test_demo"; +DELETE FROM "infra_data_source_config"; +DELETE FROM "infra_codegen_table"; +DELETE FROM "infra_codegen_column"; diff --git a/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/create_tables.sql b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/create_tables.sql new file mode 100644 index 00000000..a5f896ce --- /dev/null +++ b/yudao-module-hrm/yudao-module-hrm-biz/src/test/resources/sql/create_tables.sql @@ -0,0 +1,228 @@ + +CREATE TABLE IF NOT EXISTS "infra_config" ( + "id" bigint(20) NOT NULL GENERATED BY DEFAULT AS IDENTITY COMMENT '编号', + "category" varchar(50) NOT NULL, + "type" tinyint NOT NULL, + "name" varchar(100) NOT NULL DEFAULT '' COMMENT '名字', + "config_key" varchar(100) NOT NULL DEFAULT '', + "value" varchar(500) NOT NULL DEFAULT '', + "visible" bit NOT NULL, + "remark" varchar(500) DEFAULT NULL, + "creator" varchar(64) DEFAULT '', + "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '', + "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + PRIMARY KEY ("id") +) COMMENT '参数配置表'; + +CREATE TABLE IF NOT EXISTS "infra_file_config" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "name" varchar(63) NOT NULL, + "storage" tinyint NOT NULL, + "remark" varchar(255), + "master" bit(1) NOT NULL, + "config" varchar(4096) NOT NULL, + "creator" varchar(64) DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + PRIMARY KEY ("id") +) COMMENT '文件配置表'; + +CREATE TABLE IF NOT EXISTS "infra_file" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "config_id" bigint NOT NULL, + "name" varchar(256), + "path" varchar(512), + "url" varchar(1024), + "type" varchar(63) DEFAULT NULL, + "size" bigint NOT NULL, + "creator" varchar(64) DEFAULT '', + "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '', + "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + "tenant_id" bigint not null default '0', + PRIMARY KEY ("id") +) COMMENT '文件表'; + +CREATE TABLE IF NOT EXISTS "infra_job" ( + "id" bigint(20) NOT NULL GENERATED BY DEFAULT AS IDENTITY COMMENT '任务编号', + "name" varchar(32) NOT NULL COMMENT '任务名称', + "status" tinyint(4) NOT NULL COMMENT '任务状态', + "handler_name" varchar(64) NOT NULL COMMENT '处理器的名字', + "handler_param" varchar(255) DEFAULT NULL COMMENT '处理器的参数', + "cron_expression" varchar(32) NOT NULL COMMENT 'CRON 表达式', + "retry_count" int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', + "retry_interval" int(11) NOT NULL DEFAULT '0' COMMENT '重试间隔', + "monitor_timeout" int(11) NOT NULL DEFAULT '0' COMMENT '监控超时时间', + "creator" varchar(64) DEFAULT '' COMMENT '创建者', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + "updater" varchar(64) DEFAULT '' COMMENT '更新者', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + "deleted" bit NOT NULL DEFAULT FALSE COMMENT '是否删除', + PRIMARY KEY ("id") +) COMMENT='定时任务表'; + +CREATE TABLE IF NOT EXISTS "infra_job_log" ( + "id" bigint(20) NOT NULL GENERATED BY DEFAULT AS IDENTITY COMMENT '日志编号', + "job_id" bigint(20) NOT NULL COMMENT '任务编号', + "handler_name" varchar(64) NOT NULL COMMENT '处理器的名字', + "handler_param" varchar(255) DEFAULT NULL COMMENT '处理器的参数', + "execute_index" tinyint(4) NOT NULL DEFAULT '1' COMMENT '第几次执行', + "begin_time" datetime NOT NULL COMMENT '开始执行时间', + "end_time" datetime DEFAULT NULL COMMENT '结束执行时间', + "duration" int(11) DEFAULT NULL COMMENT '执行时长', + "status" tinyint(4) NOT NULL COMMENT '任务状态', + "result" varchar(4000) DEFAULT '' COMMENT '结果数据', + "creator" varchar(64) DEFAULT '' COMMENT '创建者', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + "updater" varchar(64) DEFAULT '' COMMENT '更新者', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + "deleted" bit(1) NOT NULL DEFAULT FALSE COMMENT '是否删除', + PRIMARY KEY ("id") +)COMMENT='定时任务日志表'; + +CREATE TABLE IF NOT EXISTS "infra_api_access_log" ( + "id" bigint not null GENERATED BY DEFAULT AS IDENTITY, + "trace_id" varchar(64) not null default '', + "user_id" bigint not null default '0', + "user_type" tinyint not null default '0', + "application_name" varchar(50) not null, + "request_method" varchar(16) not null default '', + "request_url" varchar(255) not null default '', + "request_params" varchar(8000) not null default '', + "user_ip" varchar(50) not null, + "user_agent" varchar(512) not null, + "begin_time" timestamp not null, + "end_time" timestamp not null, + "duration" integer not null, + "result_code" integer not null default '0', + "result_msg" varchar(512) default '', + "creator" varchar(64) default '', + "create_time" timestamp not null default current_timestamp, + "updater" varchar(64) default '', + "update_time" timestamp not null default current_timestamp, + "deleted" bit not null default false, + "tenant_id" bigint not null default '0', + primary key ("id") + ) COMMENT 'API 访问日志表'; + +CREATE TABLE IF NOT EXISTS "infra_api_error_log" ( + "id" bigint not null GENERATED BY DEFAULT AS IDENTITY, + "trace_id" varchar(64) not null, + "user_id" bigint not null default '0', + "user_type" tinyint not null default '0', + "application_name" varchar(50) not null, + "request_method" varchar(16) not null, + "request_url" varchar(255) not null, + "request_params" varchar(8000) not null, + "user_ip" varchar(50) not null, + "user_agent" varchar(512) not null, + "exception_time" timestamp not null, + "exception_name" varchar(128) not null default '', + "exception_message" clob not null, + "exception_root_cause_message" clob not null, + "exception_stack_trace" clob not null, + "exception_class_name" varchar(512) not null, + "exception_file_name" varchar(512) not null, + "exception_method_name" varchar(512) not null, + "exception_line_number" integer not null, + "process_status" tinyint not null, + "process_time" timestamp default null, + "process_user_id" bigint default '0', + "creator" varchar(64) default '', + "create_time" timestamp not null default current_timestamp, + "updater" varchar(64) default '', + "update_time" timestamp not null default current_timestamp, + "deleted" bit not null default false, + "tenant_id" bigint not null default '0', + primary key ("id") +) COMMENT '系统异常日志'; + +CREATE TABLE IF NOT EXISTS "infra_test_demo" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "name" varchar(100) NOT NULL, + "status" tinyint NOT NULL, + "type" tinyint NOT NULL, + "category" tinyint NOT NULL, + "remark" varchar(500), + "creator" varchar(64) DEFAULT '''', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '''', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + PRIMARY KEY ("id") +) COMMENT '字典类型表'; + +CREATE TABLE IF NOT EXISTS "infra_data_source_config" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "name" varchar(100) NOT NULL, + "url" varchar(1024) NOT NULL, + "username" varchar(255) NOT NULL, + "password" varchar(255) NOT NULL, + "creator" varchar(64) DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + PRIMARY KEY ("id") +) COMMENT '数据源配置表'; + +CREATE TABLE IF NOT EXISTS "infra_codegen_table" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "data_source_config_id" bigint not null, + "scene" tinyint not null DEFAULT 1, + "table_name" varchar(200) NOT NULL, + "table_comment" varchar(500) NOT NULL, + "remark" varchar(500) NOT NULL, + "module_name" varchar(30) NOT NULL, + "business_name" varchar(30) NOT NULL, + "class_name" varchar(100) NOT NULL, + "class_comment" varchar(50) NOT NULL, + "author" varchar(50) NOT NULL, + "template_type" tinyint not null DEFAULT 1, + "front_type" tinyint not null, + "parent_menu_id" bigint not null, + "master_table_id" bigint not null, + "sub_join_column_id" bigint not null, + "sub_join_many" bit not null, + "tree_parent_column_id" bigint not null, + "tree_name_column_id" bigint not null, + "creator" varchar(64) DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + PRIMARY KEY ("id") +) COMMENT '代码生成表定义表'; + +CREATE TABLE IF NOT EXISTS "infra_codegen_column" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "table_id" bigint not null, + "column_name" varchar(200) NOT NULL, + "data_type" varchar(100) NOT NULL, + "column_comment" varchar(500) NOT NULL, + "nullable" tinyint not null, + "primary_key" tinyint not null, + "auto_increment" varchar(5) not null, + "ordinal_position" int not null, + "java_type" varchar(32) NOT NULL, + "java_field" varchar(64) NOT NULL, + "dict_type" varchar(200) NOT NULL, + "example" varchar(64) NOT NULL, + "create_operation" bit not null, + "update_operation" bit not null, + "list_operation" bit not null, + "list_operation_condition" varchar(32) not null, + "list_operation_result" bit not null, + "html_type" varchar(32) NOT NULL, + "creator" varchar(64) DEFAULT '', + "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updater" varchar(64) DEFAULT '', + "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + "deleted" bit NOT NULL DEFAULT FALSE, + PRIMARY KEY ("id") +) COMMENT '代码生成表字段定义表'; \ No newline at end of file