| 
					
				 | 
			
			
				@@ -2,13 +2,11 @@ package cn.iocoder.yudao.module.system.service.errorcode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.collection.CollUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.framework.common.pojo.PageResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeAutoGenerateReqDTO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeCreateReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeExportReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodePageReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeUpdateReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import cn.iocoder.yudao.module.system.convert.errorcode.ErrorCodeConvert; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.iocoder.yudao.module.system.controller.admin.errorcode.vo.ErrorCodeSaveReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.module.system.dal.dataobject.errorcode.ErrorCodeDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.module.system.dal.mysql.errorcode.ErrorCodeMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.iocoder.yudao.module.system.enums.errorcode.ErrorCodeTypeEnum; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,12 +41,12 @@ public class ErrorCodeServiceImpl implements ErrorCodeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ErrorCodeMapper errorCodeMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public Long createErrorCode(ErrorCodeCreateReqVO createReqVO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Long createErrorCode(ErrorCodeSaveReqVO createReqVO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 校验 code 重复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         validateCodeDuplicate(createReqVO.getCode(), null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ErrorCodeDO errorCode = ErrorCodeConvert.INSTANCE.convert(createReqVO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ErrorCodeDO errorCode = BeanUtils.toBean(createReqVO, ErrorCodeDO.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .setType(ErrorCodeTypeEnum.MANUAL_OPERATION.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         errorCodeMapper.insert(errorCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 返回 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,14 +54,14 @@ public class ErrorCodeServiceImpl implements ErrorCodeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void updateErrorCode(ErrorCodeUpdateReqVO updateReqVO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void updateErrorCode(ErrorCodeSaveReqVO updateReqVO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 校验存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         validateErrorCodeExists(updateReqVO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 校验 code 重复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         validateCodeDuplicate(updateReqVO.getCode(), updateReqVO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ErrorCodeDO updateObj = ErrorCodeConvert.INSTANCE.convert(updateReqVO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ErrorCodeDO updateObj = BeanUtils.toBean(updateReqVO, ErrorCodeDO.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .setType(ErrorCodeTypeEnum.MANUAL_OPERATION.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         errorCodeMapper.updateById(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -116,11 +114,6 @@ public class ErrorCodeServiceImpl implements ErrorCodeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return errorCodeMapper.selectPage(pageReqVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public List<ErrorCodeDO> getErrorCodeList(ErrorCodeExportReqVO exportReqVO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return errorCodeMapper.selectList(exportReqVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void autoGenerateErrorCodes(List<ErrorCodeAutoGenerateReqDTO> autoGenerateDTOs) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,40 +127,40 @@ public class ErrorCodeServiceImpl implements ErrorCodeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 遍历 autoGenerateBOs 数组,逐个插入或更新。考虑到每次量级不大,就不走批量了 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         autoGenerateDTOs.forEach(autoGenerateDTO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ErrorCodeDO errorCodeDO = errorCodeDOMap.get(autoGenerateDTO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ErrorCodeDO errorCode = errorCodeDOMap.get(autoGenerateDTO.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 不存在,则进行新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (errorCodeDO == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errorCodeDO = ErrorCodeConvert.INSTANCE.convert(autoGenerateDTO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (errorCode == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                errorCode = BeanUtils.toBean(autoGenerateDTO, ErrorCodeDO.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .setType(ErrorCodeTypeEnum.AUTO_GENERATION.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errorCodeMapper.insert(errorCodeDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                errorCodeMapper.insert(errorCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 存在,则进行更新。更新有三个前置条件: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 条件 1. 只更新自动生成的错误码,即 Type 为 ErrorCodeTypeEnum.AUTO_GENERATION 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!ErrorCodeTypeEnum.AUTO_GENERATION.getType().equals(errorCodeDO.getType())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!ErrorCodeTypeEnum.AUTO_GENERATION.getType().equals(errorCode.getType())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 条件 2. 分组 applicationName 必须匹配,避免存在错误码冲突的情况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!autoGenerateDTO.getApplicationName().equals(errorCodeDO.getApplicationName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!autoGenerateDTO.getApplicationName().equals(errorCode.getApplicationName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 log.error("[autoGenerateErrorCodes][自动创建({}/{}) 错误码失败,数据库中已经存在({}/{})]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         autoGenerateDTO.getCode(), autoGenerateDTO.getApplicationName(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        errorCodeDO.getCode(), errorCodeDO.getApplicationName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        errorCode.getCode(), errorCode.getApplicationName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 条件 3. 错误提示语存在差异 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (autoGenerateDTO.getMessage().equals(errorCodeDO.getMessage())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (autoGenerateDTO.getMessage().equals(errorCode.getMessage())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 最终匹配,进行更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            errorCodeMapper.updateById(new ErrorCodeDO().setId(errorCodeDO.getId()).setMessage(autoGenerateDTO.getMessage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            errorCodeMapper.updateById(new ErrorCodeDO().setId(errorCode.getId()).setMessage(autoGenerateDTO.getMessage())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public List<ErrorCodeRespDTO> getErrorCodeList(String applicationName, LocalDateTime minUpdateTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<ErrorCodeDO> errorCodeDOs = errorCodeMapper.selectListByApplicationNameAndUpdateTimeGt( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<ErrorCodeDO> list = errorCodeMapper.selectListByApplicationNameAndUpdateTimeGt( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 applicationName, minUpdateTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return ErrorCodeConvert.INSTANCE.convertList03(errorCodeDOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return BeanUtils.toBean(list, ErrorCodeRespDTO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |