Sfoglia il codice sorgente

规则过滤保险公司增加参数校验功能,防止后端异常

wanghao 1 mese fa
parent
commit
d4497d1df4

+ 17 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java

@@ -21,6 +21,7 @@ import com.jzg.commons.entity.agreement.dispatch.vo.ValidateDispatchRuleVo;
 import com.jzg.commons.entity.agreement.po.PtlAgreementAttribution;
 import com.jzg.commons.entity.costs.vo.ValidateSchemeRuleVo;
 import com.jzg.commons.entity.po.*;
+import com.jzg.commons.entity.quote.vo.CarInfoVo;
 import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
 import com.jzg.commons.entity.quote.vo.SalespersonInfoVo;
 import com.jzg.commons.entity.scheme.po.*;
@@ -419,6 +420,8 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
      */
     @Override
     public List<PtlAgreementInsCompanyVo> ruleFilterCompany(SchemeRuleFilterVo schemeRuleFilterVo) {
+        // 参数过滤
+        schemeRuleFilterValidateParam(schemeRuleFilterVo);
         String userSystemCode = baseController.getUserSystemCode();
         String systemCode = baseController.getSystemCode();
         log.info("租户匹配保司以及保司下的协议等信息。 schemeRuleFilterVo=[{}],userSystemCode=[{}],systemCode=[{}]", JSONUtil.toJsonStr(schemeRuleFilterVo), userSystemCode, systemCode);
@@ -605,6 +608,20 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
         }
         return resVo;
     }
+    /**
+     *  报价公司过滤入参统一校验
+     * @param schemeRuleFilterVo 请求参数
+     */
+    private void schemeRuleFilterValidateParam(SchemeRuleFilterVo schemeRuleFilterVo) {
+        AssertionUtils.isEmpty(schemeRuleFilterVo, "查询保司过滤规则:入参schemeRuleFilterVo不能为空");
+        AssertionUtils.isEmpty(schemeRuleFilterVo.getProductId(), "产品ID productId不能为空");
+        CarInfoVo carInfo = schemeRuleFilterVo.getCarInfo();
+        AssertionUtils.isEmpty(carInfo, "车辆信息carInfo不能为空");
+        AssertionUtils.isEmpty(carInfo.getEnergyTypeCode(), "车辆能源类型energyTypeCode不能为空");
+        AssertionUtils.isEmpty(carInfo.getCarNatureCode(), "车辆使用性质carNatureCode不能为空");
+        AssertionUtils.isEmpty(carInfo.getCarKindCode(), "车辆种类carKindCode不能为空");
+    }
+
 
     @Override
     public SchemeResultVo getSchemeResult(String companyId, String productId, String seatCount,String energyType,String vehicleType,String carnature) {