Explorar el Código

核保规则(原有规则逻辑废弃 清理无用代码)

li.pengfei hace 2 años
padre
commit
9078df0be2

+ 3 - 9
src/main/java/com/ydtech/modules/order/components/InsOrdersComponents.java

@@ -6,7 +6,6 @@ import com.ydtech.modules.order.constants.OrderCacheConstant;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.service.InsOrdersService;
-import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Component;
@@ -22,15 +21,11 @@ public class InsOrdersComponents {
 
     private final InsOrdersComponents proxyService;
 
-    private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
-
 
     public InsOrdersComponents(InsOrdersService insOrdersService, StringRedisTemplate redisTemplate,
-                               PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService,
                                @Lazy InsOrdersComponents proxyService) {
         this.insOrdersService = insOrdersService;
         this.redisTemplate = redisTemplate;
-        this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
         this.proxyService = proxyService;
     }
 
@@ -73,14 +68,13 @@ public class InsOrdersComponents {
     //查询子订单
 
     /**
-     * 通订单号判断核保规则
+     * 核保规则调整为可配置多套的,并且核保因子中添加算费后因子
+     * 该逻辑暂时清理掉,留入口  后续如果做前置校验规则时,可以使用
      *
      * @param orderNo 订单ID
      */
     public void getQuoteRules(String orderNo, String agreementId) {
-        String s = redisTemplate.opsForValue().get(OrderCacheConstant.QUOTE_RULES_KEY + orderNo);
-        JSONObject jsonObject = JSON.parseObject(s);
-       // ptlAgreementUnderwritingRulesService.ruleComparison(jsonObject, agreementId, 0);
+
     }
 
 }

+ 0 - 18
src/main/java/com/ydtech/modules/protocol/dao/PtlAgreementUnderwritingRulesMapper.java

@@ -1,18 +0,0 @@
-package com.ydtech.modules.protocol.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
-
-/**
- * @author wenks
- * @description 针对表【ptl_agreement_underwriting_rules(协议承保规则)】的数据库操作Mapper
- * @createDate 2023-06-05 17:59:52
- * @Entity com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules
- */
-public interface PtlAgreementUnderwritingRulesMapper extends BaseMapper<PtlAgreementUnderwritingRules> {
-
-}
-
-
-
-

+ 0 - 34
src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementUnderwritingRulesSaveDto.java

@@ -1,34 +0,0 @@
-package com.ydtech.modules.protocol.entity.dto;
-
-import com.alibaba.fastjson.JSON;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-@Data
-@ApiModel("承包规则")
-public class PtlAgreementUnderwritingRulesSaveDto {
-
-    @ApiModelProperty("规则类型(0满足拒保 1满足承包)")
-    private Integer rulesType;
-
-    @ApiModelProperty("规则因子")
-    private List<PtlAgreementCostsFactorSaveDto> rulesFactor;
-
-    public static List<PtlAgreementUnderwritingRules> toPtlAgreementUnderwritingRulesList(String agreementId, List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules) {
-        return underwritingRules.stream().map(x -> PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRules(agreementId, x)).collect(Collectors.toList());
-    }
-
-    public static PtlAgreementUnderwritingRules toPtlAgreementUnderwritingRules(String agreementId, PtlAgreementUnderwritingRulesSaveDto ptlAgreementUnderwritingRulesSaveDto) {
-        PtlAgreementUnderwritingRules ptlAgreementUnderwritingRules = new PtlAgreementUnderwritingRules();
-        ptlAgreementUnderwritingRules.setRulesType(ptlAgreementUnderwritingRulesSaveDto.getRulesType());
-        ptlAgreementUnderwritingRules.setAgreementId(agreementId);
-        ptlAgreementUnderwritingRules.setRulesFactor(JSON.parseArray(JSON.toJSONString(ptlAgreementUnderwritingRulesSaveDto.getRulesFactor())));
-        return ptlAgreementUnderwritingRules;
-    }
-
-}

+ 0 - 52
src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementUnderwritingRules.java

@@ -1,52 +0,0 @@
-package com.ydtech.modules.protocol.entity.po;
-
-import com.alibaba.fastjson.JSONArray;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-
-/**
- * 协议承保规则
- *
- * @TableName ptl_agreement_underwriting_rules
- */
-@TableName(value = "ptl_agreement_underwriting_rules", autoResultMap = true)
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class PtlAgreementUnderwritingRules implements Serializable {
-
-    private static final long serialVersionUID = -5917413561899040616L;
-
-    /**
-     * 主键/自增
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private String id;
-
-    /**
-     * 协议id
-     */
-    @TableField(value = "agreement_id")
-    private String agreementId;
-
-    /**
-     * 规则类型(0满足拒保 1满足承包)
-     */
-    @TableField(value = "rules_type")
-    private Integer rulesType;
-
-    /**
-     * 规则因子
-     */
-    @TableField(value = "rules_factor", typeHandler = FastjsonTypeHandler.class)
-    private JSONArray rulesFactor;
-
-}

+ 0 - 1
src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementUndwrtRules.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementUndwrtRulesSaveDto;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 0 - 112
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementUnderwritingRulesService.java

@@ -1,112 +0,0 @@
-package com.ydtech.modules.protocol.service;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementCostsFactorSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlFactorDto;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
-
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * @author wenks
- * @description 针对表【ptl_agreement_underwriting_rules(协议承保规则)】的数据库操作Service
- * @createDate 2023-06-05 17:59:52
- */
-public interface PtlAgreementUnderwritingRulesService extends IService<PtlAgreementUnderwritingRules> {
-
-    /**
-     * 根据 协议id 删除承保规则
-     *
-     * @param agreementId 协议id
-     */
-    default void deleteByAgreementId(String agreementId) {
-        LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
-        remove(wrapper);
-    }
-
-    /**
-     * 根据 协议id 承保规则查询承保规则
-     *
-     * @param agreementId 协议id
-     * @return List<PtlAgreementUnderwritingRulesQueryDto>
-     */
-    default List<PtlAgreementUnderwritingRules> getByAgreementId(String agreementId) {
-        LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
-        return list(wrapper);
-    }
-
-    /**
-     * 根据协议id批量添加承保规则
-     *
-     * @param agreementId       协议id
-     * @param underwritingRules 承保规则
-     */
-    void saveBatchUnderwritingRules(String agreementId, List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules);
-
-    /**
-     * 通过协议id 和 规则类型 获取 配置规则
-     *
-     * @param agreementId 协议id
-     * @param rulesType   规则类型
-     * @return Map<String, PtlFactorDto>
-     */
-    default Map<String, PtlFactorDto> getMapPtlFactorDto(String agreementId, Integer rulesType) {
-        LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId)
-                .eq(PtlAgreementUnderwritingRules::getRulesType, rulesType);
-        PtlAgreementUnderwritingRules rules = getOne(wrapper);
-        return PtlAgreementCostsFactorSaveDto.toMapPtlFactorDto(rules.getRulesFactor());
-    }
-
-    /**
-     * 通过 协议id 查询 list
-     *
-     * @param agreementIdList 协议id 集合
-     * @return 协议id 车牌集合
-     */
-    Map<String, List<String>> getByLicenseNo(List<String> agreementIdList);
-
-
-    /**
-     * 通过协议id 和 规则类型 比较规则
-     *
-     * @param quoteRules  协议规则
-     * @param agreementId 协议id
-     * @param rulesType   规则类型
-     */
-    void ruleComparison(Map<String, Object> quoteRules, String agreementId, Integer rulesType);
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 1 - 4
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -46,8 +46,6 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
     private final PtlAgreementProductCostsService ptlAgreementProductCostsService;
 
-    private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
-
     private final PtlAgreementAttributionService ptlAgreementAttributionService;
 
     private final PtlAgreementDeptService ptlAgreementDeptService;
@@ -64,12 +62,11 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
     private final PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService;
 
-    public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService,
+    public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService,
                                    PtlAgreementAttributionService ptlAgreementAttributionService, PtlAgreementDeptService ptlAgreementDeptService,
                                    EsmInsCompanyService esmInsCompanyService, PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService,
                                    @Lazy InsCrawlerOrderService insCrawlerOrderController, @Lazy PtlAgreementService proxyObject,PtlNonCarInsuranceProductService ptlNonCarInsuranceProductService,@Lazy PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService) {
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
-        this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
         this.ptlAgreementDeptService = ptlAgreementDeptService;
         this.esmInsCompanyService = esmInsCompanyService;

+ 0 - 88
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementUnderwritingRulesServiceImpl.java

@@ -1,88 +0,0 @@
-package com.ydtech.modules.protocol.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.modules.protocol.dao.PtlAgreementUnderwritingRulesMapper;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementCostsFactorSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlFactorDto;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
-import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
-import com.ydtech.modules.protocol.utils.AssertionUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-
-import java.util.*;
-
-/**
- * @author wenks
- * @description 针对表【ptl_agreement_underwriting_rules(协议承保规则)】的数据库操作Service实现
- * @createDate 2023-06-05 17:59:52
- */
-@Service
-public class PtlAgreementUnderwritingRulesServiceImpl extends ServiceImpl<PtlAgreementUnderwritingRulesMapper, PtlAgreementUnderwritingRules>
-        implements PtlAgreementUnderwritingRulesService {
-
-    @Override
-    @Transactional
-    public void saveBatchUnderwritingRules(String agreementId, List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules) {
-        List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRulesList(agreementId, underwritingRules);
-        boolean b = saveBatch(ptlAgreementUnderwritingRulesList);
-        AssertionUtils.isSucceed(b, "批量添加协议承保规则失败");
-    }
-
-    @Override
-    public Map<String, List<String>> getByLicenseNo(List<String> agreementIdList) {
-        Map<String, List<String>> map = new HashMap<>();
-        if (!agreementIdList.isEmpty()) {
-            LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
-            wrapper.in(PtlAgreementUnderwritingRules::getAgreementId, agreementIdList)
-                    .eq(PtlAgreementUnderwritingRules::getRulesType, 1);
-
-            List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRules = baseMapper.selectList(wrapper);
-
-            ptlAgreementUnderwritingRules.forEach(x -> {
-                Map<String, PtlFactorDto> mapPtlFactorDto = PtlAgreementCostsFactorSaveDto.toMapPtlFactorDto(x.getRulesFactor());
-                PtlFactorDto ptlFactorDto = mapPtlFactorDto.get("LicenseNo");
-                List<String> licenseNo = ObjectUtils.isEmpty(ptlFactorDto) ? Collections.emptyList() : ptlFactorDto.getParameter();
-                map.put(x.getAgreementId(), licenseNo);
-            });
-        }
-
-        return map;
-    }
-
-    @Override
-    public void ruleComparison(Map<String, Object> quoteRules, String agreementId, Integer rulesType) {
-        Map<String, PtlFactorDto> mapPtlFactorDto = getMapPtlFactorDto(agreementId, rulesType);
-        Set<String> strings = mapPtlFactorDto.keySet();
-
-        for (String s : strings) {
-            Object o = quoteRules.get(s);
-
-            // 过滤没有的字段
-            if (ObjectUtils.isEmpty(o)) {
-                continue;
-            }
-            PtlFactorDto ptlFactorDto = mapPtlFactorDto.get(s);
-            List<String> parameter = ptlFactorDto.getParameter();
-
-            // 参数包含校验
-            if (parameter != null && !parameter.isEmpty()) {
-                assert o instanceof String;
-                boolean contains = parameter.contains(o);
-                AssertionUtils.isSucceed(contains, String.format("%s 不在 %s 包含范围内", o, ptlFactorDto.getName()));
-            }
-
-            Integer minValue = ptlFactorDto.getMinValue();
-            Integer maxValue = ptlFactorDto.getMaxValue();
-            // 参数最大值最小值校验
-            if (minValue != 0 || maxValue != 0) {
-                AssertionUtils.isSucceed(minValue <= (Integer) o && (Integer) o <= maxValue, String.format("%s 应该在 %d 和 %d 范围内 ", ptlFactorDto.getName(), minValue, maxValue));
-            }
-
-        }
-
-    }
-}

+ 0 - 20
src/main/resources/mapper/modules/protocol/PtlAgreementUnderwritingRulesMapper.xml

@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ydtech.modules.protocol.dao.PtlAgreementUnderwritingRulesMapper">
-
-    <resultMap id="BaseResultMap" type="com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules">
-        <id property="id" column="id" jdbcType="INTEGER"/>
-        <result property="agreementId" column="agreement_id" jdbcType="BIGINT"/>
-        <result property="rulesType" column="rules_type" jdbcType="TINYINT"/>
-        <result property="rulesFactor" column="rules_factor" javaType="com.alibaba.fastjson.JSONArray"
-                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id,agreement_id,rules_type,
-        rules_factor
-    </sql>
-
-</mapper>