Commit 7a86a61079598f4ed24f421505068934bdb89a22

Authored by YunaiV
1 parent 992e2053

【重构】新增 `yudao-spring-boot-starter-biz-error-code` 错误码组件

Showing 21 changed files with 182 additions and 61 deletions
yudao-dependencies/pom.xml
@@ -119,6 +119,11 @@ @@ -119,6 +119,11 @@
119 <artifactId>yudao-spring-boot-starter-biz-social</artifactId> 119 <artifactId>yudao-spring-boot-starter-biz-social</artifactId>
120 <version>${revision}</version> 120 <version>${revision}</version>
121 </dependency> 121 </dependency>
  122 + <dependency>
  123 + <groupId>cn.iocoder.boot</groupId>
  124 + <artifactId>yudao-spring-boot-starter-biz-error-code</artifactId>
  125 + <version>${revision}</version>
  126 + </dependency>
122 127
123 <!-- Spring 核心 --> 128 <!-- Spring 核心 -->
124 <dependency> 129 <dependency>
yudao-framework/pom.xml
@@ -29,12 +29,15 @@ @@ -29,12 +29,15 @@
29 <module>yudao-spring-boot-starter-biz-operatelog</module> 29 <module>yudao-spring-boot-starter-biz-operatelog</module>
30 <module>yudao-spring-boot-starter-biz-dict</module> 30 <module>yudao-spring-boot-starter-biz-dict</module>
31 <module>yudao-spring-boot-starter-biz-sms</module> 31 <module>yudao-spring-boot-starter-biz-sms</module>
32 - <module>yudao-spring-boot-starter-activiti</module> 32 +
33 <module>yudao-spring-boot-starter-biz-pay</module> 33 <module>yudao-spring-boot-starter-biz-pay</module>
34 <module>yudao-spring-boot-starter-biz-weixin</module> 34 <module>yudao-spring-boot-starter-biz-weixin</module>
35 <module>yudao-spring-boot-starter-biz-social</module> 35 <module>yudao-spring-boot-starter-biz-social</module>
36 <module>yudao-spring-boot-starter-biz-tenant</module> 36 <module>yudao-spring-boot-starter-biz-tenant</module>
37 <module>yudao-spring-boot-starter-biz-data-permission</module> 37 <module>yudao-spring-boot-starter-biz-data-permission</module>
  38 + <module>yudao-spring-boot-starter-biz-error-code</module>
  39 +
  40 + <module>yudao-spring-boot-starter-activiti</module>
38 <module>yudao-spring-boot-starter-flowable</module> 41 <module>yudao-spring-boot-starter-flowable</module>
39 </modules> 42 </modules>
40 43
yudao-framework/yudao-spring-boot-starter-biz-error-code/pom.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>yudao-framework</artifactId>
  7 + <groupId>cn.iocoder.boot</groupId>
  8 + <version>${revision}</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 + <artifactId>yudao-spring-boot-starter-biz-error-code</artifactId>
  12 + <packaging>jar</packaging>
  13 +
  14 + <name>${project.artifactId}</name>
  15 + <description>
  16 + 错误码 ErrorCode 的自动配置功能,提供如下功能:
  17 + 1. 远程读取:项目启动时,从 system-server 服务,读取数据库中的 ErrorCode 错误码,实现错误码的提水可配置;
  18 + 2. 自动更新:管理员在管理后台修数据库中的 ErrorCode 错误码时,项目自动从 system-server 服务加载最新的 ErrorCode 错误码;
  19 + 3. 自动写入:项目启动时,将项目本地的错误码写到 system-server 服务中,方便管理员在管理后台编辑;
  20 + </description>
  21 + <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
  22 +
  23 + <dependencies>
  24 + <dependency>
  25 + <groupId>cn.iocoder.boot</groupId>
  26 + <artifactId>yudao-common</artifactId>
  27 + </dependency>
  28 +
  29 + <!-- Spring 核心 -->
  30 + <dependency>
  31 + <groupId>org.springframework.boot</groupId>
  32 + <artifactId>spring-boot-starter</artifactId>
  33 + </dependency>
  34 +
  35 + <!-- 业务组件 -->
  36 + <dependency>
  37 + <groupId>cn.iocoder.boot</groupId>
  38 + <artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行操作日志的记录 -->
  39 + <version>${revision}</version>
  40 + </dependency>
  41 +
  42 + <dependency>
  43 + <groupId>jakarta.validation</groupId>
  44 + <artifactId>jakarta.validation-api</artifactId>
  45 + <scope>provided</scope> <!-- 设置为 provided,主要是 ErrorCodeProperties 使用到 -->
  46 + </dependency>
  47 + </dependencies>
  48 +
  49 +</project>
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/config/ErrorCodeConfiguration.java renamed to yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/config/ErrorCodeConfiguration.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.config; 1 +package cn.iocoder.yudao.framework.errorcode.config;
2 2
3 -import cn.iocoder.yudao.module.system.framework.errorcode.core.generator.ErrorCodeAutoGenerator;  
4 -import cn.iocoder.yudao.module.system.framework.errorcode.core.loader.ErrorCodeLoader;  
5 -import cn.iocoder.yudao.module.system.framework.errorcode.core.service.ErrorCodeFrameworkService;  
6 -import cn.iocoder.yudao.module.system.framework.errorcode.core.loader.ErrorCodeLoaderImpl;  
7 -import cn.iocoder.yudao.module.system.framework.errorcode.core.generator.ErrorCodeAutoGeneratorImpl; 3 +import cn.iocoder.yudao.framework.errorcode.core.generator.ErrorCodeAutoGenerator;
  4 +import cn.iocoder.yudao.framework.errorcode.core.generator.ErrorCodeAutoGeneratorImpl;
  5 +import cn.iocoder.yudao.framework.errorcode.core.loader.ErrorCodeLoader;
  6 +import cn.iocoder.yudao.framework.errorcode.core.loader.ErrorCodeLoaderImpl;
  7 +import cn.iocoder.yudao.module.system.api.errorcode.ErrorCodeApi;
8 import org.springframework.beans.factory.annotation.Value; 8 import org.springframework.beans.factory.annotation.Value;
9 import org.springframework.boot.context.properties.EnableConfigurationProperties; 9 import org.springframework.boot.context.properties.EnableConfigurationProperties;
10 import org.springframework.context.annotation.Bean; 10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration; 11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.scheduling.annotation.EnableScheduling; 12 import org.springframework.scheduling.annotation.EnableScheduling;
13 13
14 -// TODO 芋艿:貌似放的位置有问题  
15 /** 14 /**
16 * 错误码配置类 15 * 错误码配置类
  16 + *
  17 + * @author 芋道源码
17 */ 18 */
18 @Configuration 19 @Configuration
19 @EnableConfigurationProperties(ErrorCodeProperties.class) 20 @EnableConfigurationProperties(ErrorCodeProperties.class)
@@ -23,15 +24,14 @@ public class ErrorCodeConfiguration { @@ -23,15 +24,14 @@ public class ErrorCodeConfiguration {
23 @Bean 24 @Bean
24 public ErrorCodeAutoGenerator errorCodeAutoGenerator(@Value("${spring.application.name}") String applicationName, 25 public ErrorCodeAutoGenerator errorCodeAutoGenerator(@Value("${spring.application.name}") String applicationName,
25 ErrorCodeProperties errorCodeProperties, 26 ErrorCodeProperties errorCodeProperties,
26 - ErrorCodeFrameworkService errorCodeFrameworkService) {  
27 - return new ErrorCodeAutoGeneratorImpl(applicationName, errorCodeProperties.getConstantsClassList(),  
28 - errorCodeFrameworkService); 27 + ErrorCodeApi errorCodeApi) {
  28 + return new ErrorCodeAutoGeneratorImpl(applicationName, errorCodeProperties.getConstantsClassList(), errorCodeApi);
29 } 29 }
30 30
31 @Bean 31 @Bean
32 public ErrorCodeLoader errorCodeLoader(@Value("${spring.application.name}") String applicationName, 32 public ErrorCodeLoader errorCodeLoader(@Value("${spring.application.name}") String applicationName,
33 - ErrorCodeFrameworkService errorCodeFrameworkService) {  
34 - return new ErrorCodeLoaderImpl(applicationName, errorCodeFrameworkService); 33 + ErrorCodeApi errorCodeApi) {
  34 + return new ErrorCodeLoaderImpl(applicationName, errorCodeApi);
35 } 35 }
36 36
37 } 37 }
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/config/ErrorCodeProperties.java renamed to yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/config/ErrorCodeProperties.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.config; 1 +package cn.iocoder.yudao.framework.errorcode.config;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import org.springframework.boot.context.properties.ConfigurationProperties; 4 import org.springframework.boot.context.properties.ConfigurationProperties;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java renamed to yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/core/generator/ErrorCodeAutoGenerator.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.generator; 1 +package cn.iocoder.yudao.framework.errorcode.core.generator;
2 2
3 /** 3 /**
4 * 错误码的自动生成器 4 * 错误码的自动生成器
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java renamed to yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/core/generator/ErrorCodeAutoGeneratorImpl.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.generator; 1 +package cn.iocoder.yudao.framework.errorcode.core.generator;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.exceptions.ExceptionUtil; 4 import cn.hutool.core.exceptions.ExceptionUtil;
5 import cn.hutool.core.util.ClassUtil; 5 import cn.hutool.core.util.ClassUtil;
6 import cn.hutool.core.util.ReflectUtil; 6 import cn.hutool.core.util.ReflectUtil;
7 import cn.iocoder.yudao.framework.common.exception.ErrorCode; 7 import cn.iocoder.yudao.framework.common.exception.ErrorCode;
8 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeAutoGenerateReqDTO;  
9 -import cn.iocoder.yudao.module.system.framework.errorcode.core.service.ErrorCodeFrameworkService; 8 +import cn.iocoder.yudao.module.system.api.errorcode.ErrorCodeApi;
  9 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
10 import lombok.RequiredArgsConstructor; 10 import lombok.RequiredArgsConstructor;
11 import lombok.extern.slf4j.Slf4j; 11 import lombok.extern.slf4j.Slf4j;
12 import org.springframework.boot.context.event.ApplicationReadyEvent; 12 import org.springframework.boot.context.event.ApplicationReadyEvent;
@@ -36,9 +36,9 @@ public class ErrorCodeAutoGeneratorImpl implements ErrorCodeAutoGenerator { @@ -36,9 +36,9 @@ public class ErrorCodeAutoGeneratorImpl implements ErrorCodeAutoGenerator {
36 */ 36 */
37 private final List<String> constantsClassList; 37 private final List<String> constantsClassList;
38 /** 38 /**
39 - * 错误码 Service 39 + * 错误码 Api
40 */ 40 */
41 - private final ErrorCodeFrameworkService errorCodeService; 41 + private final ErrorCodeApi errorCodeApi;
42 42
43 @Override 43 @Override
44 @EventListener(ApplicationReadyEvent.class) 44 @EventListener(ApplicationReadyEvent.class)
@@ -49,7 +49,7 @@ public class ErrorCodeAutoGeneratorImpl implements ErrorCodeAutoGenerator { @@ -49,7 +49,7 @@ public class ErrorCodeAutoGeneratorImpl implements ErrorCodeAutoGenerator {
49 log.info("[execute][解析到错误码数量为 ({}) 个]", autoGenerateDTOs.size()); 49 log.info("[execute][解析到错误码数量为 ({}) 个]", autoGenerateDTOs.size());
50 50
51 // 第二步,写入到 system 服务 51 // 第二步,写入到 system 服务
52 - errorCodeService.autoGenerateErrorCodes(autoGenerateDTOs); 52 + errorCodeApi.autoGenerateErrorCodes(autoGenerateDTOs);
53 log.info("[execute][写入到 system 组件完成]"); 53 log.info("[execute][写入到 system 组件完成]");
54 } 54 }
55 55
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/loader/ErrorCodeLoader.java renamed to yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/core/loader/ErrorCodeLoader.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.loader; 1 +package cn.iocoder.yudao.framework.errorcode.core.loader;
2 2
3 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; 3 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
4 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java renamed to yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/core/loader/ErrorCodeLoaderImpl.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.loader; 1 +package cn.iocoder.yudao.framework.errorcode.core.loader;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeRespDTO;  
5 -import cn.iocoder.yudao.module.system.framework.errorcode.core.service.ErrorCodeFrameworkService;  
6 import cn.iocoder.yudao.framework.common.util.date.DateUtils; 4 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
  5 +import cn.iocoder.yudao.module.system.api.errorcode.ErrorCodeApi;
  6 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
7 import lombok.RequiredArgsConstructor; 7 import lombok.RequiredArgsConstructor;
8 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
9 import org.springframework.boot.context.event.ApplicationReadyEvent; 9 import org.springframework.boot.context.event.ApplicationReadyEvent;
@@ -34,9 +34,9 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader { @@ -34,9 +34,9 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
34 */ 34 */
35 private final String applicationName; 35 private final String applicationName;
36 /** 36 /**
37 - * 错误码 Service 37 + * 错误码 Api
38 */ 38 */
39 - private final ErrorCodeFrameworkService errorCodeService; 39 + private final ErrorCodeApi errorCodeApi;
40 40
41 /** 41 /**
42 * 缓存错误码的最大更新时间,用于后续的增量轮询,判断是否有更新 42 * 缓存错误码的最大更新时间,用于后续的增量轮询,判断是否有更新
@@ -55,7 +55,7 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader { @@ -55,7 +55,7 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
55 55
56 private void loadErrorCodes0() { 56 private void loadErrorCodes0() {
57 // 加载错误码 57 // 加载错误码
58 - List<ErrorCodeRespDTO> errorCodeRespDTOs = errorCodeService.getErrorCodeList(applicationName, maxUpdateTime); 58 + List<ErrorCodeRespDTO> errorCodeRespDTOs = errorCodeApi.getErrorCodeList(applicationName, maxUpdateTime);
59 if (CollUtil.isEmpty(errorCodeRespDTOs)) { 59 if (CollUtil.isEmpty(errorCodeRespDTOs)) {
60 return; 60 return;
61 } 61 }
yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/package-info.java 0 → 100644
  1 +/**
  2 + * 错误码 ErrorCode 的自动配置功能,提供如下功能:
  3 + *
  4 + * 1. 远程读取:项目启动时,从 system-service 服务,读取数据库中的 ErrorCode 错误码,实现错误码的提水可配置;
  5 + * 2. 自动更新:管理员在管理后台修数据库中的 ErrorCode 错误码时,项目自动从 system-service 服务加载最新的 ErrorCode 错误码;
  6 + * 3. 自动写入:项目启动时,将项目本地的错误码写到 system-server 服务中,方便管理员在管理后台编辑;
  7 + *
  8 + * @author 芋道源码
  9 + */
  10 +package cn.iocoder.yudao.framework.errorcode;
yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/resources/META-INF/spring.factories 0 → 100644
  1 +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  2 + cn.iocoder.yudao.framework.errorcode.config.ErrorCodeConfiguration
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/service/ErrorCodeFrameworkService.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/ErrorCodeApi.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.service; 1 +package cn.iocoder.yudao.module.system.api.errorcode;
2 2
3 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeAutoGenerateReqDTO;  
4 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeRespDTO; 3 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
  4 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
5 5
6 import javax.validation.Valid; 6 import javax.validation.Valid;
7 import java.util.Date; 7 import java.util.Date;
8 import java.util.List; 8 import java.util.List;
9 9
10 /** 10 /**
11 - * 错误码 Framework Service 接口 11 + * 错误码 Api 接口
12 * 12 *
13 * @author 芋道源码 13 * @author 芋道源码
14 */ 14 */
15 -public interface ErrorCodeFrameworkService { 15 +public interface ErrorCodeApi {
16 16
17 /** 17 /**
18 * 自动创建错误码 18 * 自动创建错误码
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/dto/ErrorCodeAutoGenerateReqDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/dto/ErrorCodeAutoGenerateReqDTO.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.dto; 1 +package cn.iocoder.yudao.module.system.api.errorcode.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/core/dto/ErrorCodeRespDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/dto/ErrorCodeRespDTO.java
1 -package cn.iocoder.yudao.module.system.framework.errorcode.core.dto; 1 +package cn.iocoder.yudao.module.system.api.errorcode.dto;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/errorcode/ErrorCodeApiImpl.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.errorcode;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
  4 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
  5 +import cn.iocoder.yudao.module.system.service.errorcode.ErrorCodeService;
  6 +import org.springframework.stereotype.Service;
  7 +
  8 +import javax.annotation.Resource;
  9 +import java.util.Date;
  10 +import java.util.List;
  11 +
  12 +/**
  13 + * 错误码 Api 实现类
  14 + *
  15 + * @author 芋道源码
  16 + */
  17 +@Service
  18 +public class ErrorCodeApiImpl implements ErrorCodeApi {
  19 +
  20 + @Resource
  21 + private ErrorCodeService errorCodeService;
  22 +
  23 + @Override
  24 + public void autoGenerateErrorCodes(List<ErrorCodeAutoGenerateReqDTO> autoGenerateDTOs) {
  25 + errorCodeService.autoGenerateErrorCodes(autoGenerateDTOs);
  26 + }
  27 +
  28 + @Override
  29 + public List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, Date minUpdateTime) {
  30 + return errorCodeService.getErrorCodeList(applicationName, minUpdateTime);
  31 + }
  32 +
  33 +}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/errorcode/ErrorCodeConvert.java
1 package cn.iocoder.yudao.module.system.convert.errorcode; 1 package cn.iocoder.yudao.module.system.convert.errorcode;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
  5 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
4 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; 6 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO;
5 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExcelVO; 7 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExcelVO;
6 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeRespVO; 8 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeRespVO;
7 -import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;  
8 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeAutoGenerateReqDTO;  
9 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeRespDTO;  
10 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; 9 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO;
  10 +import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
11 import org.mapstruct.Mapper; 11 import org.mapstruct.Mapper;
12 import org.mapstruct.factory.Mappers; 12 import org.mapstruct.factory.Mappers;
13 13
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/errorcode/package-info.java deleted
1 -/**  
2 - * 错误码组件  
3 - *  
4 - * 将错误码缓存在内存中,同时通过定时器每 n 分钟更新  
5 - */  
6 -package cn.iocoder.yudao.module.system.framework.errorcode;  
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/errorcode/ErrorCodeService.java
1 package cn.iocoder.yudao.module.system.service.errorcode; 1 package cn.iocoder.yudao.module.system.service.errorcode;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 -import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;  
5 -import cn.iocoder.yudao.module.system.framework.errorcode.core.service.ErrorCodeFrameworkService; 4 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
  5 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
6 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; 6 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO;
7 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; 7 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO;
8 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; 8 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO;
9 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; 9 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO;
  10 +import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
10 11
11 import javax.validation.Valid; 12 import javax.validation.Valid;
  13 +import java.util.Date;
12 import java.util.List; 14 import java.util.List;
13 15
14 /** 16 /**
@@ -16,7 +18,25 @@ import java.util.List; @@ -16,7 +18,25 @@ import java.util.List;
16 * 18 *
17 * @author 芋道源码 19 * @author 芋道源码
18 */ 20 */
19 -public interface ErrorCodeService extends ErrorCodeFrameworkService { 21 +public interface ErrorCodeService {
  22 +
  23 + /**
  24 + * 自动创建错误码
  25 + *
  26 + * @param autoGenerateDTOs 错误码信息
  27 + */
  28 + void autoGenerateErrorCodes(@Valid List<ErrorCodeAutoGenerateReqDTO> autoGenerateDTOs);
  29 +
  30 + /**
  31 + * 增量获得错误码数组
  32 + *
  33 + * 如果 minUpdateTime 为空时,则获取所有错误码
  34 + *
  35 + * @param applicationName 应用名
  36 + * @param minUpdateTime 最小更新时间
  37 + * @return 错误码数组
  38 + */
  39 + List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, Date minUpdateTime);
20 40
21 /** 41 /**
22 * 创建错误码 42 * 创建错误码
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/errorcode/ErrorCodeServiceImpl.java
@@ -2,14 +2,14 @@ package cn.iocoder.yudao.module.system.service.errorcode; @@ -2,14 +2,14 @@ package cn.iocoder.yudao.module.system.service.errorcode;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
  6 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
5 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; 7 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO;
6 -import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO;  
7 -import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;  
8 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeAutoGenerateReqDTO;  
9 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeRespDTO;  
10 -import cn.iocoder.yudao.module.system.convert.errorcode.ErrorCodeConvert;  
11 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; 8 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO;
12 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; 9 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO;
  10 +import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO;
  11 +import cn.iocoder.yudao.module.system.convert.errorcode.ErrorCodeConvert;
  12 +import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
13 import cn.iocoder.yudao.module.system.dal.mysql.errorcode.ErrorCodeMapper; 13 import cn.iocoder.yudao.module.system.dal.mysql.errorcode.ErrorCodeMapper;
14 import cn.iocoder.yudao.module.system.enums.errorcode.ErrorCodeTypeEnum; 14 import cn.iocoder.yudao.module.system.enums.errorcode.ErrorCodeTypeEnum;
15 import com.google.common.annotations.VisibleForTesting; 15 import com.google.common.annotations.VisibleForTesting;
@@ -24,9 +24,10 @@ import java.util.List; @@ -24,9 +24,10 @@ import java.util.List;
24 import java.util.Map; 24 import java.util.Map;
25 25
26 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 26 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
27 -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;  
28 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; 27 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
29 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 28 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
  29 +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_DUPLICATE;
  30 +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_NOT_EXISTS;
30 31
31 /** 32 /**
32 * 错误码 Service 实现类 33 * 错误码 Service 实现类
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/errorcode/ErrorCodeServiceTest.java
1 package cn.iocoder.yudao.module.system.service.errorcode; 1 package cn.iocoder.yudao.module.system.service.errorcode;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 -import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;  
5 -import cn.iocoder.yudao.module.system.framework.errorcode.core.dto.ErrorCodeAutoGenerateReqDTO; 4 +import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
  5 +import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
  6 +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
  7 +import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO;
6 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; 8 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO;
7 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; 9 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO;
8 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; 10 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO;
9 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; 11 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO;
  12 +import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO;
10 import cn.iocoder.yudao.module.system.dal.mysql.errorcode.ErrorCodeMapper; 13 import cn.iocoder.yudao.module.system.dal.mysql.errorcode.ErrorCodeMapper;
11 import cn.iocoder.yudao.module.system.enums.errorcode.ErrorCodeTypeEnum; 14 import cn.iocoder.yudao.module.system.enums.errorcode.ErrorCodeTypeEnum;
12 -import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;  
13 -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;  
14 -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;  
15 import org.assertj.core.util.Lists; 15 import org.assertj.core.util.Lists;
16 import org.junit.jupiter.api.Test; 16 import org.junit.jupiter.api.Test;
17 import org.springframework.context.annotation.Import; 17 import org.springframework.context.annotation.Import;
@@ -21,12 +21,12 @@ import java.util.List; @@ -21,12 +21,12 @@ import java.util.List;
21 import java.util.function.Consumer; 21 import java.util.function.Consumer;
22 22
23 import static cn.hutool.core.util.RandomUtil.randomEle; 23 import static cn.hutool.core.util.RandomUtil.randomEle;
24 -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_DUPLICATE;  
25 -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_NOT_EXISTS; 24 +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 25 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
27 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 26 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
28 -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;  
29 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 27 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
  28 +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_DUPLICATE;
  29 +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ERROR_CODE_NOT_EXISTS;
30 import static org.junit.jupiter.api.Assertions.*; 30 import static org.junit.jupiter.api.Assertions.*;
31 31
32 @Import(ErrorCodeServiceImpl.class) 32 @Import(ErrorCodeServiceImpl.class)
yudao-server/pom.xml
@@ -52,6 +52,10 @@ @@ -52,6 +52,10 @@
52 <!-- <artifactId>yudao-module-bpm-biz-activiti</artifactId>--> 52 <!-- <artifactId>yudao-module-bpm-biz-activiti</artifactId>-->
53 <!-- <version>${revision}</version>--> 53 <!-- <version>${revision}</version>-->
54 <!-- </dependency>--> 54 <!-- </dependency>-->
  55 + <dependency>
  56 + <groupId>cn.iocoder.boot</groupId>
  57 + <artifactId>yudao-spring-boot-starter-biz-error-code</artifactId>
  58 + </dependency>
55 59
56 <!-- spring boot 配置所需依赖 --> 60 <!-- spring boot 配置所需依赖 -->
57 <dependency> 61 <dependency>