Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

shenweidong 1 rok temu
rodzic
commit
65bacfd475
16 zmienionych plików z 278 dodań i 395 usunięć
  1. 25 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/enums/base/QuoteRuleCategory.java
  2. 36 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/enums/base/QuoteRuleGroup.java
  3. 52 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/converter/QuoteInfoConverter.java
  4. 0 118
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteKindConfig.java
  5. 0 210
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteKindMapping.java
  6. 42 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteRuleConfig.java
  7. 73 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteRuleMapping.java
  8. 2 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteRuleConfigMapper.java
  9. 2 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteRuleMappingMapper.java
  10. 2 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteRuleConfigService.java
  11. 5 5
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteRuleMappingService.java
  12. 17 35
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsuranceCompanyRequestServiceImpl.java
  13. 5 5
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteRuleConfigServiceImpl.java
  14. 11 10
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteRuleMappingServiceImpl.java
  15. 2 2
      tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteRuleConfigMapper.xml
  16. 4 4
      tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteRuleMappingMapper.xml

+ 25 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/enums/base/QuoteRuleCategory.java

@@ -0,0 +1,25 @@
+package com.jzg.quotation.commons.constant.enums.base;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+
+/**
+ * @version
+ * @description: 报价属性规则分类
+ * @author: wenks
+ * @date: 2025/2/24 10:51
+ **/
+@Getter
+@AllArgsConstructor
+public enum QuoteRuleCategory {
+
+    KIND("KIND", "险种信息"),
+    QUOTE_INFO("QUOTE_INFO", "报价信息");
+
+    private final String code;
+
+    private final String description;
+
+}

+ 36 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/enums/base/QuoteRuleGroup.java

@@ -0,0 +1,36 @@
+package com.jzg.quotation.commons.constant.enums.base;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * @version
+ * @description: 报价属性规则分类 分组
+ * @author: wenks
+ * @date: 2025/2/24 10:56
+ **/
+@Getter
+@AllArgsConstructor
+public enum QuoteRuleGroup {
+
+    BUS_KIND("BUS_KIND", "客车险种"),
+    FREIGHT_CAR_KIND("FREIGHT_CAR_KIND", "货车险种"),
+    NEW_ENERGY_KIND("NEW_ENERGY_KIND", "新能源险种"),
+    CAR_NATURE("CAR_NATURE", "使用性质"),
+    VEHICLE_USE("VEHICLE_USE", "车辆用途"),
+    CAR_KIND("CAR_KIND", "车辆种类"),
+    ENERGY_TYPE("ENERGY_TYPE", "能源类型"),
+    PROPERTY("PROPERTY", "所属性质"),
+    TRANSFER_SIGN("TRANSFER_SIGN", "过户标志"),
+    VEHICLE_INSPECTION_STATUS("VEHICLE_INSPECTION_STATUS", "验车情况"),
+    POLICYHOLDER_INSURED_RELATIONSHIP("POLICYHOLDER_INSURED_RELATIONSHIP", "投被保人关系"),
+    CAR_KIND_DETAIL("CAR_KIND_DETAIL", "车种明细"),
+    LICENSE_COLOR("LICENSE_COLOR", "号牌颜色"),
+    LICENSE_KIND("LICENSE_KIND", "号牌种类");
+
+    private final String code;
+
+    private final String description;
+
+}

+ 52 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/converter/QuoteInfoConverter.java

@@ -0,0 +1,52 @@
+package com.jzg.quotation.summary.converter;
+
+import com.jzg.quotation.commons.constant.enums.base.QuoteRuleGroup;
+import com.jzg.quotation.commons.entity.vo.quote.CarInfoVo;
+import com.jzg.quotation.commons.entity.vo.quote.KindInfoVo;
+import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @description: 报价信息转换
+ * @author: wenks
+ * @date: 2025/2/24 11:06
+ **/
+public class QuoteInfoConverter {
+
+    /**
+     * 车辆信息转换
+     *
+     * @param carInfoVo            车辆信息
+     * @param quoteRuleMappingList 报价规则映射
+     */
+    public static void converterCarInfoVo(CarInfoVo carInfoVo, List<QuoteRuleMapping> quoteRuleMappingList) {
+        Map<String, Map<String, String>> groupCodeMap = quoteRuleMappingList.stream()
+                .collect(Collectors.groupingBy(QuoteRuleMapping::getGroupCode, Collectors.toMap(QuoteRuleMapping::getPlatformCode, QuoteRuleMapping::getRuleCode)));
+        carInfoVo.setCarNatureCode(groupCodeMap.get(QuoteRuleGroup.CAR_NATURE.getCode()).get(carInfoVo.getCarNatureCode()));
+        carInfoVo.setVehicleUseCode(groupCodeMap.get(QuoteRuleGroup.VEHICLE_USE.getCode()).get(carInfoVo.getVehicleUseCode()));
+        carInfoVo.setCarKindCode(groupCodeMap.get(QuoteRuleGroup.CAR_KIND.getCode()).get(carInfoVo.getCarKindCode()));
+        carInfoVo.setEnergyTypeCode(groupCodeMap.get(QuoteRuleGroup.ENERGY_TYPE.getCode()).get(carInfoVo.getEnergyTypeCode()));
+        carInfoVo.setPropertyCode(groupCodeMap.get(QuoteRuleGroup.PROPERTY.getCode()).get(carInfoVo.getPropertyCode()));
+    }
+
+    /**
+     *
+     * @param kindInfoVo 险种信息
+     * @param quoteRuleMappingList 报价规则映射
+     */
+    public static void converterKindInfoVo(List<KindInfoVo> kindInfoVo, List<QuoteRuleMapping> quoteRuleMappingList) {
+        Map<String, QuoteRuleMapping> ruleMappingMap = quoteRuleMappingList.stream()
+                .collect(Collectors.toMap(QuoteRuleMapping::getPlatformCode, x -> x));
+
+        kindInfoVo.forEach(kind -> {
+            QuoteRuleMapping quoteRuleMapping = ruleMappingMap.get(kind.getKindCode());
+            kind.setKindCode(quoteRuleMapping.getRuleCode());
+            kind.setKindName(quoteRuleMapping.getRuleName());
+        });
+    }
+
+
+}

+ 0 - 118
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteKindConfig.java

@@ -1,118 +0,0 @@
-package com.jzg.quotation.summary.entity.po;
-
-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 java.io.Serializable;
-
-/**
- * 报价险种规则配置
- * @TableName quote_kind_config
- */
-@TableName(value ="quote_kind_config")
-public class QuoteKindConfig implements Serializable {
-    /**
-     * 主键
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-
-    /**
-     * 分类代码
-     */
-    @TableField(value = "group_code")
-    private String groupCode;
-
-    /**
-     * 分类名称
-     */
-    @TableField(value = "group_name")
-    private String groupName;
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 主键
-     */
-    public Integer getId() {
-        return id;
-    }
-
-    /**
-     * 主键
-     */
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    /**
-     * 分类代码
-     */
-    public String getGroupCode() {
-        return groupCode;
-    }
-
-    /**
-     * 分类代码
-     */
-    public void setGroupCode(String groupCode) {
-        this.groupCode = groupCode;
-    }
-
-    /**
-     * 分类名称
-     */
-    public String getGroupName() {
-        return groupName;
-    }
-
-    /**
-     * 分类名称
-     */
-    public void setGroupName(String groupName) {
-        this.groupName = groupName;
-    }
-
-    @Override
-    public boolean equals(Object that) {
-        if (this == that) {
-            return true;
-        }
-        if (that == null) {
-            return false;
-        }
-        if (getClass() != that.getClass()) {
-            return false;
-        }
-        QuoteKindConfig other = (QuoteKindConfig) that;
-        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
-            && (this.getGroupCode() == null ? other.getGroupCode() == null : this.getGroupCode().equals(other.getGroupCode()))
-            && (this.getGroupName() == null ? other.getGroupName() == null : this.getGroupName().equals(other.getGroupName()));
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
-        result = prime * result + ((getGroupCode() == null) ? 0 : getGroupCode().hashCode());
-        result = prime * result + ((getGroupName() == null) ? 0 : getGroupName().hashCode());
-        return result;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", id=").append(id);
-        sb.append(", groupCode=").append(groupCode);
-        sb.append(", groupName=").append(groupName);
-        sb.append(", serialVersionUID=").append(serialVersionUID);
-        sb.append("]");
-        return sb.toString();
-    }
-}

+ 0 - 210
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteKindMapping.java

@@ -1,210 +0,0 @@
-package com.jzg.quotation.summary.entity.po;
-
-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 java.io.Serializable;
-
-/**
- * 报价险种映射
- * @TableName quote_kind_mapping
- */
-@TableName(value ="quote_kind_mapping")
-public class QuoteKindMapping implements Serializable {
-    /**
-     * 主键
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-
-    /**
-     * 保险公司编码
-     */
-    @TableField(value = "insurance_company_code")
-    private String insuranceCompanyCode;
-
-    /**
-     * 分类代码
-     */
-    @TableField(value = "group_code")
-    private String groupCode;
-
-    /**
-     * 分类名称
-     */
-    @TableField(value = "group_name")
-    private String groupName;
-
-    /**
-     * 险种
-     */
-    @TableField(value = "insurance")
-    private String insurance;
-
-    /**
-     * 保险公司编码
-     */
-    @TableField(value = "insurance_code")
-    private String insuranceCode;
-
-    /**
-     * 默认代码
-     */
-    @TableField(value = "platform_code")
-    private String platformCode;
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 主键
-     */
-    public Integer getId() {
-        return id;
-    }
-
-    /**
-     * 主键
-     */
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    /**
-     * 保险公司编码
-     */
-    public String getInsuranceCompanyCode() {
-        return insuranceCompanyCode;
-    }
-
-    /**
-     * 保险公司编码
-     */
-    public void setInsuranceCompanyCode(String insuranceCompanyCode) {
-        this.insuranceCompanyCode = insuranceCompanyCode;
-    }
-
-    /**
-     * 分类代码
-     */
-    public String getGroupCode() {
-        return groupCode;
-    }
-
-    /**
-     * 分类代码
-     */
-    public void setGroupCode(String groupCode) {
-        this.groupCode = groupCode;
-    }
-
-    /**
-     * 分类名称
-     */
-    public String getGroupName() {
-        return groupName;
-    }
-
-    /**
-     * 分类名称
-     */
-    public void setGroupName(String groupName) {
-        this.groupName = groupName;
-    }
-
-    /**
-     * 险种
-     */
-    public String getInsurance() {
-        return insurance;
-    }
-
-    /**
-     * 险种
-     */
-    public void setInsurance(String insurance) {
-        this.insurance = insurance;
-    }
-
-    /**
-     * 保险公司编码
-     */
-    public String getInsuranceCode() {
-        return insuranceCode;
-    }
-
-    /**
-     * 保险公司编码
-     */
-    public void setInsuranceCode(String insuranceCode) {
-        this.insuranceCode = insuranceCode;
-    }
-
-    /**
-     * 默认代码
-     */
-    public String getPlatformCode() {
-        return platformCode;
-    }
-
-    /**
-     * 默认代码
-     */
-    public void setPlatformCode(String platformCode) {
-        this.platformCode = platformCode;
-    }
-
-    @Override
-    public boolean equals(Object that) {
-        if (this == that) {
-            return true;
-        }
-        if (that == null) {
-            return false;
-        }
-        if (getClass() != that.getClass()) {
-            return false;
-        }
-        QuoteKindMapping other = (QuoteKindMapping) that;
-        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
-            && (this.getInsuranceCompanyCode() == null ? other.getInsuranceCompanyCode() == null : this.getInsuranceCompanyCode().equals(other.getInsuranceCompanyCode()))
-            && (this.getGroupCode() == null ? other.getGroupCode() == null : this.getGroupCode().equals(other.getGroupCode()))
-            && (this.getGroupName() == null ? other.getGroupName() == null : this.getGroupName().equals(other.getGroupName()))
-            && (this.getInsurance() == null ? other.getInsurance() == null : this.getInsurance().equals(other.getInsurance()))
-            && (this.getInsuranceCode() == null ? other.getInsuranceCode() == null : this.getInsuranceCode().equals(other.getInsuranceCode()))
-            && (this.getPlatformCode() == null ? other.getPlatformCode() == null : this.getPlatformCode().equals(other.getPlatformCode()));
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
-        result = prime * result + ((getInsuranceCompanyCode() == null) ? 0 : getInsuranceCompanyCode().hashCode());
-        result = prime * result + ((getGroupCode() == null) ? 0 : getGroupCode().hashCode());
-        result = prime * result + ((getGroupName() == null) ? 0 : getGroupName().hashCode());
-        result = prime * result + ((getInsurance() == null) ? 0 : getInsurance().hashCode());
-        result = prime * result + ((getInsuranceCode() == null) ? 0 : getInsuranceCode().hashCode());
-        result = prime * result + ((getPlatformCode() == null) ? 0 : getPlatformCode().hashCode());
-        return result;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", id=").append(id);
-        sb.append(", insuranceCompanyCode=").append(insuranceCompanyCode);
-        sb.append(", groupCode=").append(groupCode);
-        sb.append(", groupName=").append(groupName);
-        sb.append(", insurance=").append(insurance);
-        sb.append(", insuranceCode=").append(insuranceCode);
-        sb.append(", platformCode=").append(platformCode);
-        sb.append(", serialVersionUID=").append(serialVersionUID);
-        sb.append("]");
-        return sb.toString();
-    }
-}

+ 42 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteRuleConfig.java

@@ -0,0 +1,42 @@
+package com.jzg.quotation.summary.entity.po;
+
+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 lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 报价险种规则配置
+ * @TableName quote_kind_config
+ */
+@Data
+@TableName(value ="quote_rule_config")
+public class QuoteRuleConfig implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 分类代码
+     */
+    @TableField(value = "group_code")
+    private String groupCode;
+
+    /**
+     * 分类名称
+     */
+    @TableField(value = "group_name")
+    private String groupName;
+
+    @Serial
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+
+}

+ 73 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/QuoteRuleMapping.java

@@ -0,0 +1,73 @@
+package com.jzg.quotation.summary.entity.po;
+
+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 lombok.Data;
+import lombok.Getter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 报价险种映射
+ *
+ * @TableName quote_kind_mapping
+ */
+@Data
+@TableName(value = "quote_rule_mapping")
+public class QuoteRuleMapping implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 分类
+     */
+    @TableField(value = "category")
+    private String category;
+
+    /**
+     * 保险公司编码
+     */
+    @TableField(value = "insurance_company_code")
+    private String insuranceCompanyCode;
+
+    /**
+     * 分类代码
+     */
+    @TableField(value = "group_code")
+    private String groupCode;
+
+    /**
+     * 分类名称
+     */
+    @TableField(value = "group_name")
+    private String groupName;
+
+    /**
+     * 规则名称
+     */
+    @TableField(value = "rule_name")
+    private String ruleName;
+
+    /**
+     * 规则编码
+     */
+    @TableField(value = "rule_code")
+    private String ruleCode;
+
+    /**
+     * 默认代码
+     */
+    @TableField(value = "platform_code")
+    private String platformCode;
+
+    @Serial
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+}

+ 2 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteKindConfigMapper.java → tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteRuleConfigMapper.java

@@ -1,6 +1,6 @@
 package com.jzg.quotation.summary.mapper;
 package com.jzg.quotation.summary.mapper;
 
 
-import com.jzg.quotation.summary.entity.po.QuoteKindConfig;
+import com.jzg.quotation.summary.entity.po.QuoteRuleConfig;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 
 /**
 /**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 * @createDate 2025-02-20 11:00:39
 * @createDate 2025-02-20 11:00:39
 * @Entity generator.domain.QuoteKindConfig
 * @Entity generator.domain.QuoteKindConfig
 */
 */
-public interface QuoteKindConfigMapper extends BaseMapper<QuoteKindConfig> {
+public interface QuoteRuleConfigMapper extends BaseMapper<QuoteRuleConfig> {
 
 
 }
 }
 
 

+ 2 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteKindMappingMapper.java → tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteRuleMappingMapper.java

@@ -1,6 +1,6 @@
 package com.jzg.quotation.summary.mapper;
 package com.jzg.quotation.summary.mapper;
 
 
-import com.jzg.quotation.summary.entity.po.QuoteKindMapping;
+import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 
 /**
 /**
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 * @createDate 2025-02-20 11:00:39
 * @createDate 2025-02-20 11:00:39
 * @Entity generator.domain.QuoteKindMapping
 * @Entity generator.domain.QuoteKindMapping
 */
 */
-public interface QuoteKindMappingMapper extends BaseMapper<QuoteKindMapping> {
+public interface QuoteRuleMappingMapper extends BaseMapper<QuoteRuleMapping> {
 
 
 }
 }
 
 

+ 2 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteKindConfigService.java → tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteRuleConfigService.java

@@ -1,6 +1,6 @@
 package com.jzg.quotation.summary.service;
 package com.jzg.quotation.summary.service;
 
 
-import com.jzg.quotation.summary.entity.po.QuoteKindConfig;
+import com.jzg.quotation.summary.entity.po.QuoteRuleConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
 /**
 /**
@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 * @description 针对表【quote_kind_config(报价险种规则配置)】的数据库操作Service
 * @description 针对表【quote_kind_config(报价险种规则配置)】的数据库操作Service
 * @createDate 2025-02-20 11:00:39
 * @createDate 2025-02-20 11:00:39
 */
 */
-public interface QuoteKindConfigService extends IService<QuoteKindConfig> {
+public interface QuoteRuleConfigService extends IService<QuoteRuleConfig> {
 
 
 
 
 
 

+ 5 - 5
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteKindMappingService.java → tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteRuleMappingService.java

@@ -1,8 +1,9 @@
 package com.jzg.quotation.summary.service;
 package com.jzg.quotation.summary.service;
 
 
-import com.jzg.quotation.summary.entity.po.QuoteKindMapping;
+import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -10,15 +11,14 @@ import java.util.Map;
 * @description 针对表【quote_kind_mapping(报价险种映射)】的数据库操作Service
 * @description 针对表【quote_kind_mapping(报价险种映射)】的数据库操作Service
 * @createDate 2025-02-20 11:00:39
 * @createDate 2025-02-20 11:00:39
 */
 */
-public interface QuoteKindMappingService extends IService<QuoteKindMapping> {
+public interface QuoteRuleMappingService extends IService<QuoteRuleMapping> {
 
 
     /**
     /**
-     * 获取数据库中的映射关系
+     * 根据保险公司获取保险公司报价映射规则
      * @param insuranceCompanyCode 保险公司code
      * @param insuranceCompanyCode 保险公司code
-     * @param groupCode 分组code
      * @return 映射关系
      * @return 映射关系
      */
      */
-    Map<String, QuoteKindMapping> getByGroupCode(String insuranceCompanyCode, String groupCode);
+    Map<String, List<QuoteRuleMapping>> getByInsuranceCompanyCode(String insuranceCompanyCode);
 
 
 
 
 }
 }

+ 17 - 35
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsuranceCompanyRequestServiceImpl.java

@@ -2,16 +2,19 @@ package com.jzg.quotation.summary.service.impl;
 
 
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.constant.enums.base.ApiType;
 import com.jzg.quotation.commons.constant.enums.base.ApiType;
+import com.jzg.quotation.commons.constant.enums.base.QuoteRuleCategory;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
 import com.jzg.quotation.commons.entity.vo.quote.CarInfoVo;
 import com.jzg.quotation.commons.entity.vo.quote.CarInfoVo;
 import com.jzg.quotation.commons.entity.vo.quote.KindInfoVo;
 import com.jzg.quotation.commons.entity.vo.quote.KindInfoVo;
 import com.jzg.quotation.commons.service.QuotationApiBaseService;
 import com.jzg.quotation.commons.service.QuotationApiBaseService;
+import com.jzg.quotation.commons.service.QuotationBaseService;
 import com.jzg.quotation.commons.service.QuotationCrawlerBaseService;
 import com.jzg.quotation.commons.service.QuotationCrawlerBaseService;
-import com.jzg.quotation.summary.entity.po.QuoteKindMapping;
+import com.jzg.quotation.summary.converter.QuoteInfoConverter;
+import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
 import com.jzg.quotation.summary.service.InsuranceCompanyRequestService;
 import com.jzg.quotation.summary.service.InsuranceCompanyRequestService;
-import com.jzg.quotation.summary.service.QuoteKindMappingService;
+import com.jzg.quotation.summary.service.QuoteRuleMappingService;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -27,7 +30,7 @@ import java.util.Map;
 @RequiredArgsConstructor
 @RequiredArgsConstructor
 public class InsuranceCompanyRequestServiceImpl implements InsuranceCompanyRequestService {
 public class InsuranceCompanyRequestServiceImpl implements InsuranceCompanyRequestService {
 
 
-    private final QuoteKindMappingService quoteKindMappingService;
+    private final QuoteRuleMappingService quoteRuleMappingService;
 
 
     private final Map<String, QuotationApiBaseService> quoteApiBaseServiceMap;
     private final Map<String, QuotationApiBaseService> quoteApiBaseServiceMap;
 
 
@@ -39,45 +42,24 @@ public class InsuranceCompanyRequestServiceImpl implements InsuranceCompanyReque
         return input.matches(regex) ? input : input.replaceAll("(?i).*?([A-Z]+).*", "$1");
         return input.matches(regex) ? input : input.replaceAll("(?i).*?([A-Z]+).*", "$1");
     }
     }
 
 
-    public static void main(String[] args) {
-        String ssss1213SS = extractEnglishChars("SSSS1213SS");
-        String ss120000 = extractEnglishChars("SS120000");
-        String poi789456141 = extractEnglishChars("POI789456141");
-        String poi789456123 = extractEnglishChars("POI789456123");
-        System.out.println(ssss1213SS);
-        System.out.println(ss120000);
-        System.out.println(poi789456141);
-        System.out.println(poi789456123);
-
+    private QuotationBaseService getQuotationBase(int apiType, String insuranceCode) {
+        if(ApiType.API_1.getCode() == apiType){
+            return quoteApiBaseServiceMap.get(insuranceCode);
+        } else if (ApiType.API_2.getCode() == apiType) {
+            return quotationCrawlerBaseServiceMap.get(insuranceCode);
+        }
+        throw new SystemException("");
     }
     }
 
 
-
     @Override
     @Override
     public QuoteResultsVo quote(QuoteVo quoteVo) {
     public QuoteResultsVo quote(QuoteVo quoteVo) {
-        CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
         OrderBase order = quoteVo.getOrder();
         OrderBase order = quoteVo.getOrder();
         String insuranceCompanyCode = order.getInsuranceCompanyCode();
         String insuranceCompanyCode = order.getInsuranceCompanyCode();
         String insuranceCode = extractEnglishChars(insuranceCompanyCode);
         String insuranceCode = extractEnglishChars(insuranceCompanyCode);
-        Map<String, QuoteKindMapping> quoteKindMappingMap = quoteKindMappingService.getByGroupCode(insuranceCode, "");
-        // 替换保险公司的险种代码
-        List<KindInfoVo> kindInfoVo = quoteVo.getKindInfoVo();
-        kindInfoVo.forEach(kind -> {
-            QuoteKindMapping quoteKindMapping = quoteKindMappingMap.get(kind.getKindCode());
-            kind.setKindCode(quoteKindMapping.getInsuranceCode());
-            kind.setKindName(quoteKindMapping.getInsurance());
-        });
-
-        if(ApiType.API_1.getCode() == order.getApiType()){
-            return quoteApiBaseServiceMap.get(insuranceCode).quote(quoteVo);
-        } else if (ApiType.API_2.getCode() == order.getApiType()) {
-            return quotationCrawlerBaseServiceMap.get(insuranceCode).quote(quoteVo);
-        }
-
-        throw new SystemException("");
+        Map<String, List<QuoteRuleMapping>> quoteKindMappingMap = quoteRuleMappingService.getByInsuranceCompanyCode(insuranceCode);
+        QuoteInfoConverter.converterCarInfoVo(quoteVo.getCarInfoVo(), quoteKindMappingMap.get(QuoteRuleCategory.QUOTE_INFO.getCode()));
+        QuoteInfoConverter.converterKindInfoVo(quoteVo.getKindInfoVo(), quoteKindMappingMap.get(QuoteRuleCategory.KIND.getCode()));
+        return getQuotationBase(order.getApiType(), insuranceCode).quote(quoteVo);
     }
     }
 
 
-
-
-
-
 }
 }

+ 5 - 5
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteKindConfigServiceImpl.java → tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteRuleConfigServiceImpl.java

@@ -1,9 +1,9 @@
 package com.jzg.quotation.summary.service.impl;
 package com.jzg.quotation.summary.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.jzg.quotation.summary.entity.po.QuoteKindConfig;
-import com.jzg.quotation.summary.mapper.QuoteKindConfigMapper;
-import com.jzg.quotation.summary.service.QuoteKindConfigService;
+import com.jzg.quotation.summary.entity.po.QuoteRuleConfig;
+import com.jzg.quotation.summary.mapper.QuoteRuleConfigMapper;
+import com.jzg.quotation.summary.service.QuoteRuleConfigService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
@@ -12,8 +12,8 @@ import org.springframework.stereotype.Service;
 * @createDate 2025-02-20 11:00:39
 * @createDate 2025-02-20 11:00:39
 */
 */
 @Service
 @Service
-public class QuoteKindConfigServiceImpl extends ServiceImpl<QuoteKindConfigMapper, QuoteKindConfig>
-    implements QuoteKindConfigService{
+public class QuoteRuleConfigServiceImpl extends ServiceImpl<QuoteRuleConfigMapper, QuoteRuleConfig>
+    implements QuoteRuleConfigService{
 
 
 }
 }
 
 

+ 11 - 10
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteKindMappingServiceImpl.java → tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteRuleMappingServiceImpl.java

@@ -2,9 +2,9 @@ package com.jzg.quotation.summary.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.exception.SystemException;
-import com.jzg.quotation.summary.entity.po.QuoteKindMapping;
-import com.jzg.quotation.summary.service.QuoteKindMappingService;
-import com.jzg.quotation.summary.mapper.QuoteKindMappingMapper;
+import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
+import com.jzg.quotation.summary.service.QuoteRuleMappingService;
+import com.jzg.quotation.summary.mapper.QuoteRuleMappingMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
@@ -18,21 +18,22 @@ import java.util.stream.Collectors;
  * @createDate 2025-02-20 11:00:39
  * @createDate 2025-02-20 11:00:39
  */
  */
 @Service
 @Service
-public class QuoteKindMappingServiceImpl extends ServiceImpl<QuoteKindMappingMapper, QuoteKindMapping>
-        implements QuoteKindMappingService {
+public class QuoteRuleMappingServiceImpl extends ServiceImpl<QuoteRuleMappingMapper, QuoteRuleMapping>
+        implements QuoteRuleMappingService {
 
 
     @Override
     @Override
-    public Map<String, QuoteKindMapping> getByGroupCode(String insuranceCompanyCode, String groupCode) {
-        List<QuoteKindMapping> list = lambdaQuery()
-                .eq(QuoteKindMapping::getInsuranceCompanyCode, insuranceCompanyCode)
-                .eq(QuoteKindMapping::getGroupCode, groupCode)
+    public Map<String, List<QuoteRuleMapping>> getByInsuranceCompanyCode(String insuranceCompanyCode) {
+        List<QuoteRuleMapping> list = lambdaQuery()
+                .eq(QuoteRuleMapping::getInsuranceCompanyCode, insuranceCompanyCode)
                 .list();
                 .list();
+
         if (list.isEmpty()) {
         if (list.isEmpty()) {
             throw new SystemException("该保险公司未配置险种映射");
             throw new SystemException("该保险公司未配置险种映射");
         }
         }
+
         return list.stream()
         return list.stream()
                 .filter(quoteKindMapping -> StringUtils.hasLength(quoteKindMapping.getPlatformCode()))
                 .filter(quoteKindMapping -> StringUtils.hasLength(quoteKindMapping.getPlatformCode()))
-                .collect(Collectors.toMap(QuoteKindMapping::getPlatformCode, x -> x));
+                .collect(Collectors.groupingBy(QuoteRuleMapping::getCategory));
     }
     }
 
 
 }
 }

+ 2 - 2
tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteKindConfigMapper.xml → tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteRuleConfigMapper.xml

@@ -2,9 +2,9 @@
 <!DOCTYPE mapper
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.jzg.quotation.summary.mapper.QuoteKindConfigMapper">
+<mapper namespace="com.jzg.quotation.summary.mapper.QuoteRuleConfigMapper">
 
 
-    <resultMap id="BaseResultMap" type="com.jzg.quotation.summary.entity.po.QuoteKindConfig">
+    <resultMap id="BaseResultMap" type="com.jzg.quotation.summary.entity.po.QuoteRuleConfig">
             <id property="id" column="id" jdbcType="INTEGER"/>
             <id property="id" column="id" jdbcType="INTEGER"/>
             <result property="groupCode" column="group_code" jdbcType="VARCHAR"/>
             <result property="groupCode" column="group_code" jdbcType="VARCHAR"/>
             <result property="groupName" column="group_name" jdbcType="VARCHAR"/>
             <result property="groupName" column="group_name" jdbcType="VARCHAR"/>

+ 4 - 4
tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteKindMappingMapper.xml → tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteRuleMappingMapper.xml

@@ -2,15 +2,15 @@
 <!DOCTYPE mapper
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.jzg.quotation.summary.mapper.QuoteKindMappingMapper">
+<mapper namespace="com.jzg.quotation.summary.mapper.QuoteRuleMappingMapper">
 
 
-    <resultMap id="BaseResultMap" type="com.jzg.quotation.summary.entity.po.QuoteKindMapping">
+    <resultMap id="BaseResultMap" type="com.jzg.quotation.summary.entity.po.QuoteRuleMapping">
             <id property="id" column="id" jdbcType="INTEGER"/>
             <id property="id" column="id" jdbcType="INTEGER"/>
             <result property="insuranceCompanyCode" column="insurance_company_code" jdbcType="VARCHAR"/>
             <result property="insuranceCompanyCode" column="insurance_company_code" jdbcType="VARCHAR"/>
             <result property="groupCode" column="group_code" jdbcType="VARCHAR"/>
             <result property="groupCode" column="group_code" jdbcType="VARCHAR"/>
             <result property="groupName" column="group_name" jdbcType="VARCHAR"/>
             <result property="groupName" column="group_name" jdbcType="VARCHAR"/>
-            <result property="insurance" column="insurance" jdbcType="VARCHAR"/>
-            <result property="insuranceCode" column="insurance_code" jdbcType="VARCHAR"/>
+            <result property="ruleName" column="rule_name" jdbcType="VARCHAR"/>
+            <result property="ruleCode" column="rule_code" jdbcType="VARCHAR"/>
             <result property="platformCode" column="platform_code" jdbcType="VARCHAR"/>
             <result property="platformCode" column="platform_code" jdbcType="VARCHAR"/>
     </resultMap>
     </resultMap>