Ver Fonte

feat: 增加提示连续审批风险

huangzqa há 1 ano atrás
pai
commit
04e9de48ca

+ 1 - 1
approve-core-service/src/main/resources/application-base.yml

@@ -80,5 +80,5 @@ logging:
 app:
   auditlog:
     qmtj:
-      host-address: https://10.254.11.185:8443
+      host-address: https://127.0.0.1:8443
 

+ 63 - 0
approve-core-service/src/test/java/com/dragonsoft/dcuc/approve/business/impl/RiskBusinessImplTest.java

@@ -2,13 +2,18 @@ package com.dragonsoft.dcuc.approve.business.impl;
 
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
 import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
+import com.dragonsoft.dcuc.approve.model.ApproveCirculationInfo;
 import com.dragonsoft.dcuc.approve.model.RiskScheme;
+import com.dragonsoft.dcuc.approve.service.IApproveCirculationService;
 import com.dragonsoft.dcuc.approve.service.IRiskSchemeService;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
 
+import java.util.Arrays;
+
 /**
  * <p>
  *
@@ -42,4 +47,62 @@ public class RiskBusinessImplTest {
         Assert.assertTrue(ResponseUtil.isSuccess(responseStatus1));
 
     }
+
+    @Test
+    public void singleApproveRisk() {
+
+        String approveRecordId = UUIDUtils.getUUID();
+        String operateIdcard = "421302198608160200";
+        String userName = "燕菊黛";
+
+        IRiskSchemeService riskSchemeService = Mockito.mock(IRiskSchemeService.class);
+
+        RiskScheme riskScheme = new RiskScheme();
+        riskScheme.setContinuousApproveNum(String.valueOf(2));
+        Mockito.when(riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK))
+                .thenReturn(riskScheme);
+
+        ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
+        approveCirculationInfo.setNodeName("开始");
+        approveCirculationInfo.setOperateUserId(operateIdcard);
+
+        ApproveCirculationInfo approveCirculationInfo1 = new ApproveCirculationInfo();
+        approveCirculationInfo1.setNodeName("节点1");
+        approveCirculationInfo1.setOperateUserId(operateIdcard);
+
+
+        ApproveCirculationInfo approveCirculationInfo2 = new ApproveCirculationInfo();
+        approveCirculationInfo2.setNodeName("节点2");
+        approveCirculationInfo2.setOperateUserId(operateIdcard);
+
+        IApproveCirculationService approveCirculationService = Mockito.mock(IApproveCirculationService.class);
+        Mockito.when(approveCirculationService.getListByApproveRecordIdAndAgree(approveRecordId))
+                .thenReturn(Arrays.asList(approveCirculationInfo, approveCirculationInfo1, approveCirculationInfo2));
+
+
+        RiskBusinessImpl riskBusiness = new RiskBusinessImpl();
+        riskBusiness.setRiskSchemeService(riskSchemeService);
+        riskBusiness.setApproveCirculationService(approveCirculationService);
+
+        ResponseStatus responseStatus = riskBusiness.singleApproveRisk(approveRecordId, operateIdcard, userName);
+        Assert.assertTrue(ResponseUtil.isFail(responseStatus));
+        Assert.assertEquals("审批流程流转过程中,连续2个节点审批人相同,审批人都是:燕菊黛(421302198608160200)。", responseStatus.getMessage());
+
+
+        RiskScheme riskScheme1 = new RiskScheme();
+        riskScheme1.setContinuousApproveNum(String.valueOf(3));
+        Mockito.when(riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK))
+                .thenReturn(riskScheme1);
+
+        ResponseStatus responseStatus1 = riskBusiness.singleApproveRisk(approveRecordId, operateIdcard, userName);
+        Assert.assertTrue(ResponseUtil.isSuccess(responseStatus1));
+
+        approveCirculationInfo2.setNodeName("节点1");
+        Mockito.when(riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK))
+                .thenReturn(riskScheme);
+
+        ResponseStatus responseStatus2 = riskBusiness.singleApproveRisk(approveRecordId, operateIdcard, userName);
+        Assert.assertTrue(ResponseUtil.isSuccess(responseStatus2));
+
+    }
 }