Преглед изворни кода

修改影像上传映射关系

wks пре 1 година
родитељ
комит
095fbed17e

+ 6 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/image/InsuranceImageVo.java

@@ -3,6 +3,7 @@ package com.jzg.quotation.commons.entity.vo.image;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -16,11 +17,16 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 @Data
+@Accessors(chain = true)
 public class InsuranceImageVo {
 
     /**
      * 影像类型
      */
+    private String imageCode;
+    /**
+     * 影像类型名称
+     */
     private String imageType;
 
     /**

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

@@ -0,0 +1,59 @@
+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.Serial;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 报价险种映射
+ * @TableName quote_image_rule_mapping
+ */
+@TableName(value ="quote_image_rule_mapping")
+@Data
+public class QuoteImageRuleMapping implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 保险公司编码
+     */
+    @TableField(value = "insurance_company_code")
+    private String insuranceCompanyCode;
+
+    /**
+     * 平台影像分类代码
+     */
+    @TableField(value = "image_code")
+    private String imageCode;
+
+    /**
+     * 平台影像分类名称
+     */
+    @TableField(value = "image_type")
+    private String imageType;
+
+    /**
+     * 保司影像分类代码
+     */
+    @TableField(value = "insurance_image_code")
+    private String insuranceImageCode;
+
+    /**
+     * 保司影像分类代码
+     */
+    @TableField(value = "insurance_image_type")
+    private String insuranceImageType;
+
+    @Serial
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+}

+ 18 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/QuoteImageRuleMappingMapper.java

@@ -0,0 +1,18 @@
+package com.jzg.quotation.summary.mapper;
+
+import com.jzg.quotation.summary.entity.po.QuoteImageRuleMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author Administrator
+* @description 针对表【quote_image_rule_mapping(报价险种映射)】的数据库操作Mapper
+* @createDate 2025-02-26 18:57:59
+* @Entity generator.domain.QuoteImageRuleMapping
+*/
+public interface QuoteImageRuleMappingMapper extends BaseMapper<QuoteImageRuleMapping> {
+
+}
+
+
+
+

+ 26 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/QuoteImageRuleMappingService.java

@@ -0,0 +1,26 @@
+package com.jzg.quotation.summary.service;
+
+import com.jzg.quotation.commons.entity.vo.aggregated.InsuranceUploadImageVo;
+import com.jzg.quotation.commons.entity.vo.image.ImageVo;
+import com.jzg.quotation.commons.entity.vo.image.InsuranceImageVo;
+import com.jzg.quotation.summary.entity.po.QuoteImageRuleMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Administrator
+ * @description 针对表【quote_image_rule_mapping(报价险种映射)】的数据库操作Service
+ * @createDate 2025-02-26 18:57:59
+ */
+public interface QuoteImageRuleMappingService extends IService<QuoteImageRuleMapping> {
+
+    /**
+     * 通过保险公司编码获取映射关系 构造InsuranceUploadImageVo对象
+     *
+     * @param insuranceCode 保险公司编码
+     * @return InsuranceUploadImageVo
+     */
+    List<InsuranceImageVo> buildInsuranceUploadImageVo(String insuranceCode, Map<String, ImageVo> imageVoMap);
+}

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

@@ -3,22 +3,28 @@ package com.jzg.quotation.summary.service.impl;
 import com.jzg.commons.exception.SystemException;
 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.InsuranceUploadImageVo;
 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.UploadImageVo;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
+import com.jzg.quotation.commons.entity.vo.image.ImageVo;
+import com.jzg.quotation.commons.entity.vo.image.InsuranceImageVo;
 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.summary.converter.QuoteInfoConverter;
+import com.jzg.quotation.summary.entity.po.QuoteImageRuleMapping;
 import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
 import com.jzg.quotation.summary.service.InsuranceCompanyRequestService;
+import com.jzg.quotation.summary.service.QuoteImageRuleMappingService;
 import com.jzg.quotation.summary.service.QuoteRuleMappingService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @description: TODO
@@ -31,6 +37,8 @@ public class InsuranceCompanyRequestServiceImpl implements InsuranceCompanyReque
 
     private final QuoteRuleMappingService quoteRuleMappingService;
 
+    private final QuoteImageRuleMappingService quoteImageRuleMappingService;
+
     private final Map<String, QuotationApiBaseService> quoteApiBaseServiceMap;
 
     private final Map<String, QuotationCrawlerBaseService> quotationCrawlerBaseServiceMap;
@@ -58,8 +66,7 @@ public class InsuranceCompanyRequestServiceImpl implements InsuranceCompanyReque
     @Override
     public QuoteResultsVo quote(QuoteVo quoteVo) {
         OrderBase order = quoteVo.getOrder();
-        String insuranceCompanyCode = order.getInsuranceCompanyCode();
-        String insuranceCode = extractEnglishChars(insuranceCompanyCode);
+        String insuranceCode = extractEnglishChars(order.getInsuranceCompanyCode());
         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()));
@@ -68,10 +75,13 @@ public class InsuranceCompanyRequestServiceImpl implements InsuranceCompanyReque
 
     @Override
     public void uploadImage(UploadImageVo uploadImageVo) {
-
+        OrderBase order = uploadImageVo.getOrder();
+        String insuranceCode = extractEnglishChars(order.getInsuranceCompanyCode());
+        Map<String, ImageVo> imageVoMap = uploadImageVo.getImageVoList().stream().collect(Collectors.toMap(ImageVo::getImageType, x -> x));
+        List<InsuranceImageVo> insuranceImageVoList = quoteImageRuleMappingService.buildInsuranceUploadImageVo(insuranceCode, imageVoMap);
+        InsuranceUploadImageVo insuranceUploadImageVo = new InsuranceUploadImageVo(uploadImageVo.getOrder(), insuranceImageVoList);
+        getQuotationBase(order.getApiType(), insuranceCode).uploadImage(insuranceUploadImageVo);
     }
 
 
-
-
 }

+ 68 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/QuoteImageRuleMappingServiceImpl.java

@@ -0,0 +1,68 @@
+package com.jzg.quotation.summary.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.quotation.commons.entity.vo.image.ImageVo;
+import com.jzg.quotation.commons.entity.vo.image.InsuranceImageVo;
+import com.jzg.quotation.summary.entity.po.QuoteImageRuleMapping;
+import com.jzg.quotation.summary.mapper.QuoteImageRuleMappingMapper;
+import com.jzg.quotation.summary.service.QuoteImageRuleMappingService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+
+/**
+ * @author Administrator
+ * @description 针对表【quote_image_rule_mapping(报价险种映射)】的数据库操作Service实现
+ * @createDate 2025-02-26 18:57:59
+ */
+@Service
+public class QuoteImageRuleMappingServiceImpl extends ServiceImpl<QuoteImageRuleMappingMapper, QuoteImageRuleMapping> implements QuoteImageRuleMappingService {
+
+
+    @Override
+    public List<InsuranceImageVo> buildInsuranceUploadImageVo(String insuranceCode, Map<String, ImageVo> imageVoMap) {
+        return lambdaQuery()
+                .eq(QuoteImageRuleMapping::getInsuranceCompanyCode, insuranceCode)
+                .list()
+                .stream()
+                .collect(Collectors.groupingBy(
+                        QuoteImageRuleMapping::getInsuranceImageCode,
+                        Collectors.collectingAndThen(Collectors.toList(), mappings -> buildImageVo(mappings, imageVoMap))
+                ))
+                .values()
+                .stream()
+                .filter(Objects::nonNull)
+                .toList();
+    }
+
+    private InsuranceImageVo buildImageVo(List<QuoteImageRuleMapping> mappings, Map<String, ImageVo> imageVoMap) {
+        final QuoteImageRuleMapping firstMapping = mappings.get(0);
+
+        List<InsuranceImageVo.ImageDTO> imageList = mappings.stream()
+                .map(QuoteImageRuleMapping::getImageCode)
+                .map(imageVoMap::get)
+                .filter(Objects::nonNull)
+                .map(this::convertToImageDto)
+                .toList();
+
+        return imageList.isEmpty() ? null : new InsuranceImageVo()
+                .setImageCode(firstMapping.getInsuranceImageCode())
+                .setImageType(firstMapping.getInsuranceImageType())
+                .setImageBase64List(imageList);
+    }
+
+    private InsuranceImageVo.ImageDTO convertToImageDto(ImageVo imageVo) {
+        return new InsuranceImageVo.ImageDTO()
+                .setImageName(imageVo.getImageName())
+                .setImageBase64Str(imageVo.getImageBase64Str());
+    }
+
+}
+
+
+
+

+ 21 - 0
tenant/insurance/quotation-summary/src/main/resources/mapper/QuoteImageRuleMappingMapper.xml

@@ -0,0 +1,21 @@
+<?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.jzg.quotation.summary.mapper.QuoteImageRuleMappingMapper">
+
+    <resultMap id="BaseResultMap" type="com.jzg.quotation.summary.entity.po.QuoteImageRuleMapping">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="insuranceCompanyCode" column="insurance_company_code" jdbcType="VARCHAR"/>
+            <result property="imageCode" column="image_code" jdbcType="VARCHAR"/>
+            <result property="imageType" column="image_type" jdbcType="VARCHAR"/>
+            <result property="insuranceImageCode" column="insurance_image_code" jdbcType="VARCHAR"/>
+            <result property="insuranceImageType" column="insurance_image_type" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,category,insurance_company_code,
+        image_code,image_type,insurance_image_code,
+        insurance_image_type
+    </sql>
+</mapper>

+ 2 - 3
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/entity/request/CalculatePremiumRequest.java

@@ -133,8 +133,8 @@ public class CalculatePremiumRequest implements Serializable {
         this.orderOrigin = parameters.getAppKey();
         this.proposalAreaCode = parameters.getProposalAreaCode();
         this.proposalCityCode = parameters.getProposalCityCode();
-        //
-//        this.taxRelifInfo = new TaxRelifInfoDTO(quoteInfoVo.getVehicleAndVesselTax());
+        // 驾意险信息
+        this.taxRelifInfo = new TaxRelifInfoDTO();
     }
 
     /**
@@ -1171,5 +1171,4 @@ public class CalculatePremiumRequest implements Serializable {
     }
 
 
-
 }

+ 1 - 1
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/service/Impl/ZiJinApiRequestImpl.java

@@ -121,7 +121,7 @@ public class ZiJinApiRequestImpl implements ZiJinApiRequest {
         List<UploadImageInfoListRequest.ItemFileDataListDTO> itemFileDataListDTOS = new ArrayList<>();
         imageVoList.forEach(imageVo -> {
             imageVo.getImageBase64List().forEach(imageBase64 -> {
-                UploadFileRequest uploadImageRequest = new UploadFileRequest(imageBase64, imageVo.getImageType(), ziJinApiOrder.getOrderNo());
+                UploadFileRequest uploadImageRequest = new UploadFileRequest(imageBase64, imageVo.getImageCode(), ziJinApiOrder.getOrderNo());
                 // 文件上传
                 UploadFileResponse uploadFileResponse = ziJinApiRequestComponent.uploadFile(uploadImageRequest, httpHeaders);
                 // 文件信息与订单关联 itemFileDataList