Răsfoiți Sursa

refactor: 优化代码

huangzqa 1 an în urmă
părinte
comite
3b22e79d55

+ 36 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/api/IApiV3ApproveBusiness.java

@@ -0,0 +1,36 @@
+package com.dragonsoft.dcuc.approve.business.api;
+
+import com.dragonsoft.dcuc.approve.enumresources.ReqBizDataEnum;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2023/11/14
+ */
+public interface IApiV3ApproveBusiness {
+
+
+    /**
+     * 检查业务数据
+     *
+     * @param bizDataMap 业务数据
+     * @return 状态
+     */
+    ResponseStatus checkBizData(Map<String, Object> bizDataMap);
+
+    /**
+     * 获取业务数据
+     *
+     * @param bizDataMap     业务数据
+     * @param reqBizDataEnum 业务数据枚举
+     * @param <T>            泛型
+     * @return 值
+     */
+    <T> T getBizData(Map<String, Object> bizDataMap, ReqBizDataEnum reqBizDataEnum);
+}

+ 85 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/api/impl/ApiV3ApproveBusinessImpl.java

@@ -0,0 +1,85 @@
+package com.dragonsoft.dcuc.approve.business.api.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.dragoninfo.dcuc.common.Constants;
+import com.dragoninfo.dcuc.common.utils.LangUtil;
+import com.dragonsoft.dcuc.approve.business.api.IApiV3ApproveBusiness;
+import com.dragonsoft.dcuc.approve.enumresources.ReqBizDataEnum;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.commons.util.date.DateConst;
+import com.dragonsoft.duceap.commons.util.date.DateUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.text.ParseException;
+import java.util.Map;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2023/11/14
+ */
+@Slf4j
+@Component
+public class ApiV3ApproveBusinessImpl implements IApiV3ApproveBusiness {
+
+    @Override
+    public ResponseStatus checkBizData(Map<String, Object> bizDataMap) {
+        if (CollUtil.isEmpty(bizDataMap)) {
+            return ResponseStatus.fail("业务数据不可为空");
+        }
+
+        StringBuilder errorMessageBuilder = new StringBuilder();
+        for (ReqBizDataEnum reqBizDataEnum : ReqBizDataEnum.values()) {
+            String value = reqBizDataEnum.getValue();
+            boolean containsKey = bizDataMap.containsKey(value);
+            if (!containsKey) {
+                if (reqBizDataEnum.isNeed()) {
+                    String errorMessage = String.format("字段:%s 必填 ", value);
+                    errorMessageBuilder.append(errorMessage).append(Constants.CHINESE_COMMA);
+                }
+            }
+        }
+        String errorMessage = errorMessageBuilder.toString();
+        if (StrUtil.isNotBlank(errorMessage)) {
+            return ResponseStatus.fail(LangUtil.subLastSymbol(errorMessage, Constants.CHINESE_COMMA));
+        }
+
+        return ResponseStatus.success();
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public <T> T getBizData(Map<String, Object> bizDataMap, ReqBizDataEnum reqBizDataEnum) {
+        Assert.notEmpty(bizDataMap);
+        Assert.notNull(reqBizDataEnum);
+        Object object = bizDataMap.get(reqBizDataEnum.getValue());
+        switch (reqBizDataEnum) {
+            case BIZ_TERM_START:
+            case BIZ_TERM_END:
+                String temString = object.toString();
+                try {
+                    object = DateUtils.getDate(temString, DateConst.HYPHEN_DISPLAY_TIME);
+                } catch (ParseException e) {
+                    log.error("parse to date error :{}", temString, e);
+                    return null;
+                }
+                break;
+            default:
+                break;
+        }
+
+        if (ObjectUtil.isNull(object)) {
+            return null;
+        }
+
+        return (T) object;
+    }
+
+}

+ 11 - 74
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/api/v3/ApiV3ApproveFacade.java

@@ -1,12 +1,8 @@
 package com.dragonsoft.dcuc.approve.facade.api.v3;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.lang.Assert;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.dragoninfo.dcuc.common.Constants;
 import com.dragoninfo.dcuc.common.entity.Proofs;
 import com.dragoninfo.dcuc.common.utils.LangUtil;
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
@@ -15,6 +11,7 @@ import com.dragonsoft.dcuc.approve.business.IApproveApiBusiness;
 import com.dragonsoft.dcuc.approve.business.IBimBusiness;
 import com.dragonsoft.dcuc.approve.business.IDcucBusiness;
 import com.dragonsoft.dcuc.approve.business.IWorkFlowBusiness;
+import com.dragonsoft.dcuc.approve.business.api.IApiV3ApproveBusiness;
 import com.dragonsoft.dcuc.approve.dto.OperateReqDTO;
 import com.dragonsoft.dcuc.approve.enumresources.*;
 import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
@@ -39,8 +36,6 @@ import com.dragonsoft.dcuc.approve.service.IApproveTaskClassService;
 import com.dragonsoft.dcuc.approve.threadlocal.ThreadLocalProofsHolder;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
-import com.dragonsoft.duceap.commons.util.date.DateConst;
-import com.dragonsoft.duceap.commons.util.date.DateUtils;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
 import com.dragonsoft.duceap.duwf.api.model.TaskRequest;
@@ -49,7 +44,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.text.ParseException;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
@@ -81,6 +75,13 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
 
     private IApproveTaskClassService approveTaskClassService;
 
+    private IApiV3ApproveBusiness apiV3ApproveBusiness;
+
+    @Autowired
+    public void setApiV3ApproveBusiness(IApiV3ApproveBusiness apiV3ApproveBusiness) {
+        this.apiV3ApproveBusiness = apiV3ApproveBusiness;
+    }
+
     @Autowired
     public void setApproveTaskClassService(IApproveTaskClassService approveTaskClassService) {
         this.approveTaskClassService = approveTaskClassService;
@@ -142,7 +143,7 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
 
         Map<String, List<Map<String, Object>>> bo = zeroTrustApproveCreateReqV3VO.getBo();
         Map<String, Object> bizData = zeroTrustApproveCreateReqV3VO.getBizData();
-        ResponseStatus checkBizDataStatus = checkBizData(bizData);
+        ResponseStatus checkBizDataStatus = apiV3ApproveBusiness.checkBizData(bizData);
         if (ResponseUtil.isFail(checkBizDataStatus)) {
             return ZeroTrustResultDataVO.operateFailMessage("bizData中key值:" + checkBizDataStatus.getMessage());
         }
@@ -204,8 +205,8 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
             BeanUtil.copyProperties(bizData, resourceInfoReqVO);
         }
 
-        Date startTime = getBizData(bizData, ReqBizDataEnum.BIZ_TERM_START);
-        Date startEnd = getBizData(bizData, ReqBizDataEnum.BIZ_TERM_END);
+        Date startTime = apiV3ApproveBusiness.getBizData(bizData, ReqBizDataEnum.BIZ_TERM_START);
+        Date startEnd = apiV3ApproveBusiness.getBizData(bizData, ReqBizDataEnum.BIZ_TERM_END);
 
         ApprovalInfoReqVO approvalInfoReqVO = new ApprovalInfoReqVO();
         approvalInfoReqVO.setProcessTitle(title);
@@ -303,68 +304,4 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
         return ZeroTrustMessageRespVO.messageEnumMessage(ZeroTrustBusinessRespEnum.SUCCESS);
     }
 
-    /**
-     * 检查业务数据
-     *
-     * @param bizDataMap 业务数据
-     * @return 状态
-     */
-    public ResponseStatus checkBizData(Map<String, Object> bizDataMap) {
-        if (CollUtil.isEmpty(bizDataMap)) {
-            return ResponseStatus.fail("业务数据不可为空");
-        }
-
-        StringBuilder errorMessageBuilder = new StringBuilder();
-        for (ReqBizDataEnum reqBizDataEnum : ReqBizDataEnum.values()) {
-            String value = reqBizDataEnum.getValue();
-            boolean containsKey = bizDataMap.containsKey(value);
-            if (!containsKey) {
-                if (reqBizDataEnum.isNeed()) {
-                    String errorMessage = String.format("字段:%s 必填 ", value);
-                    errorMessageBuilder.append(errorMessage).append(Constants.CHINESE_COMMA);
-                }
-            }
-        }
-        String errorMessage = errorMessageBuilder.toString();
-        if (StrUtil.isNotBlank(errorMessage)) {
-            return ResponseStatus.fail(LangUtil.subLastSymbol(errorMessage, Constants.CHINESE_COMMA));
-        }
-
-        return ResponseStatus.success();
-    }
-
-    /**
-     * 获取业务数据
-     *
-     * @param bizDataMap     业务数据
-     * @param reqBizDataEnum 业务数据枚举
-     * @param <T>            泛型
-     * @return 值
-     */
-    @SuppressWarnings("unchecked")
-    protected <T> T getBizData(Map<String, Object> bizDataMap, ReqBizDataEnum reqBizDataEnum) {
-        Assert.notEmpty(bizDataMap);
-        Assert.notNull(reqBizDataEnum);
-        Object object = bizDataMap.get(reqBizDataEnum.getValue());
-        switch (reqBizDataEnum) {
-            case BIZ_TERM_START:
-            case BIZ_TERM_END:
-                String temString = object.toString();
-                try {
-                    object = DateUtils.getDate(temString, DateConst.HYPHEN_DISPLAY_TIME);
-                } catch (ParseException e) {
-                    log.error("parse to date error :{}", temString, e);
-                    return null;
-                }
-                break;
-            default:
-                break;
-        }
-
-        if (ObjectUtil.isNull(object)) {
-            return null;
-        }
-
-        return (T) object;
-    }
 }