浏览代码

问题处理

yzc 1 年之前
父节点
当前提交
0e136fd7fa
共有 1 个文件被更改,包括 20 次插入3 次删除
  1. 20 3
      hx-tenant/src/main/java/com/fjhx/tenant/utils/DictCodingService.java

+ 20 - 3
hx-tenant/src/main/java/com/fjhx/tenant/utils/DictCodingService.java

@@ -4,12 +4,17 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import com.fjhx.tenant.entity.dict.po.DictCommonType;
+import com.fjhx.tenant.entity.dict.po.DictTenantType;
 import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictCommonDataService;
+import com.fjhx.tenant.service.dict.DictCommonTypeService;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.fjhx.tenant.service.dict.DictTenantTypeService;
 import com.ruoyi.common.exception.ServiceException;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -30,11 +35,15 @@ public class DictCodingService {
 
     private final DictTenantDataService dictTenantDataService;
     private final DictCommonDataService dictCommonDataService;
+    private final DictTenantTypeService dictTenantTypeService;
+    private final DictCommonTypeService dictCommonTypeService;
 
     @Autowired
-    public DictCodingService(DictTenantDataService dictTenantDataService, DictCommonDataService dictCommonDataService) {
+    public DictCodingService(DictTenantDataService dictTenantDataService, DictCommonDataService dictCommonDataService, DictTenantTypeService dictTenantTypeService, DictCommonTypeService dictCommonTypeService) {
         this.dictTenantDataService = dictTenantDataService;
         this.dictCommonDataService = dictCommonDataService;
+        this.dictTenantTypeService = dictTenantTypeService;
+        this.dictCommonTypeService = dictCommonTypeService;
     }
 
     @DSTransactional
@@ -42,9 +51,17 @@ public class DictCodingService {
         StringBuilder codeBuilder = new StringBuilder();
 
         DictTenantDataVo dictTenantDataVo = DictUtils.getDictDataMap(dictCode).get(dictKey);
+        String dictName;
+        if (dictTenantDataVo.getType() == 1) {
+            DictCommonType one = dictCommonTypeService.getOne(q -> q.eq(DictCommonType::getCode, dictCode));
+            dictName = one.getName();
+        } else {
+            DictTenantType one = dictTenantTypeService.getOne(q -> q.eq(DictTenantType::getCode, dictCode));
+            dictName = one.getName();
+        }
         List<RuleVo> ruleVoList = JSON.parseArray(dictTenantDataVo.getRuleJson(), RuleVo.class);
-        if (ObjectUtil.isEmpty(ruleVoList) && ruleVoList.size() == 0) {
-            throw new ServiceException("客户类型编码生成规则为空,请先前往【业务字典】-【客户类型】配置编码生成规则!");
+        if (ObjectUtil.isEmpty(ruleVoList) || ruleVoList.size() == 0) {
+            throw new ServiceException(StrUtil.indexedFormat("{0}编码生成规则为空,请先前往【业务字典】-【{0}】配置编码生成规则!", dictName));
         }
 
         for (RuleVo ruleVo : ruleVoList) {