Selaa lähdekoodia

核保费用匹配失败拦截

785834757 2 vuotta sitten
vanhempi
commit
61ed0d499f

+ 10 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.order.aop.aspect;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.service.SysUserRoleService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.order.components.InsOrdersComponents;
@@ -14,6 +15,8 @@ import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.protocol.service.PtlAgreementDeptService;
 import com.ydtech.modules.protocol.service.impl.TaxSourceServiceImpl;
+import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
+import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
@@ -35,6 +38,8 @@ public class AuditVerificationAspect {
 
     private final InsAreaCompanyAccidentalDrivingService insAreaCompanyAccidentalDrivingService;
 
+    private final InsFeeOrderNewService insFeeOrderNewService;
+
     @Before("@annotation(com.ydtech.modules.order.aop.AuditVerification)")
     public void doBefore(JoinPoint point) {
         Object[] args = point.getArgs();
@@ -51,7 +56,11 @@ public class AuditVerificationAspect {
             InsAreaCompanyAccidentalDriving insAreaCompanyAccidentalDriving = insAreaCompanyAccidentalDrivingService.getByCompanyId(insAreaCompany.getId());
             insAreaCompany.setAccidentalDriving(insAreaCompanyAccidentalDriving);
             InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
-
+            //查找费用 找不到则抛出异常
+            InsFeeOrderNew insFeeOrderNewByCompanyId = insFeeOrderNewService.getInsFeeOrderNewByCompanyId(companyId);
+            if(insFeeOrderNewByCompanyId == null){
+                throw new SystemException("费用信息不匹配");
+            }
             //再进行费用因子判断
             try {
                 //先进行承保规则判断

+ 1 - 3
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -6,6 +6,7 @@ import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.constants.enums.dict.agreement.ProductsType;
 import com.ydtech.constants.sys.SystemConstant;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.SysUserRole;
 import com.ydtech.modules.admin.service.SysUserRoleService;
@@ -101,8 +102,6 @@ public class QuoteVerificationAspect {
                     result.getData().setSumExportFee(subOrderExportFeeVo.getJqExportCosts()
                             .add(subOrderExportFeeVo.getSyExportCosts())
                             .add(subOrderExportFeeVo.getNoExportCosts()));
-                }else{
-                    result = HttpResult.error("费用匹配失败");
                 }
             } catch (Exception ignored) {
                 log.debug("费用因子异常,车牌号:" + insOrders.getLicenseno());
@@ -112,7 +111,6 @@ public class QuoteVerificationAspect {
                 for(StackTraceElement stackTraceElement : ignored.getStackTrace()){
                     log.debug(stackTraceElement.toString());
                 }
-                result = HttpResult.error("费用匹配失败");
             }
         }
     }