Explorar el Código

规则校验空判断提示

785834757 hace 1 año
padre
commit
8401273ce3

+ 11 - 0
src/main/java/com/ydtech/modules/scheme/service/impl/RuleFilteringServiceImpl.java

@@ -2,11 +2,13 @@ package com.ydtech.modules.scheme.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.constants.enums.dict.insurance.EnergyType;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.fee.dto.vo.RuleAttrMappingVo;
 import com.ydtech.modules.protocol.entity.po.PtlNewCarJudgeRules;
 import com.ydtech.modules.protocol.service.PtlNewCarJudgeRulesService;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsAttrLink;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementUndwrtRulesAttr;
+import com.ydtech.modules.protocols.service.PtlAgreementUndwrtRulesAttrService;
 import com.ydtech.modules.scheme.entity.po.PtlSchemeRulesAttr;
 import com.ydtech.modules.scheme.entity.po.PtlSchemeRulesAttrLink;
 import com.ydtech.modules.scheme.entity.vo.SchemeRuleAttrMappingVo;
@@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
@@ -29,6 +32,9 @@ public class RuleFilteringServiceImpl implements RuleFilteringService {
     @Autowired
     PtlNewCarJudgeRulesService ptlNewCarJudgeRulesService;
 
+    @Autowired
+    PtlAgreementUndwrtRulesAttrService ptlAgreementUndwrtRulesAttrService;
+
     @Override
     public boolean judgements(List<PtlSchemeRulesAttrLink> ptlSchemeRulesAttrLinks,
                                List<PtlSchemeRulesAttr> rulesAttrs, List<SchemeRuleAttrMappingVo> ruleAttrMappingVoList) {
@@ -70,6 +76,11 @@ public class RuleFilteringServiceImpl implements RuleFilteringService {
 
     private boolean attrEqual(PtlSchemeRulesAttrLink attrLink,
                               PtlSchemeRulesAttr rulesAttr, String value) {
+        if(Objects.isNull(value)){
+            PtlAgreementUndwrtRulesAttr one = ptlAgreementUndwrtRulesAttrService.getOne(new LambdaQueryWrapper<PtlAgreementUndwrtRulesAttr>()
+                    .eq(PtlAgreementUndwrtRulesAttr::getAttrCode, attrLink.getAttrCode()));
+            throw new SystemException(one.getAttrName() + "规则校验失败,请检查");
+        }
         if (rulesAttr.getAttrType().equals("checkbox")) {
             return checkBoxEqual(attrLink, value);
         } else if (rulesAttr.getAttrType().equals("inputNumber")) {