Bladeren bron

修改代码 渤海财险

wks 2 jaren geleden
bovenliggende
commit
660b4729ca

+ 2 - 2
src/main/java/com/ydtech/modules/order/controller/BoHaiOrderApiController.java

@@ -15,9 +15,9 @@ import com.ydtech.modules.order.entity.api.bohai.response.NonAutomotiveProductsR
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
+import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
-import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.order.service.BoHaiOrderApiService;
 import com.ydtech.modules.order.utils.SignatureUtils;
 import io.swagger.annotations.Api;
@@ -60,7 +60,7 @@ public class BoHaiOrderApiController {
     @QuoteVerification("报价授权")
     @PostMapping("/quote")
     @ApiOperation("报价")
-    public HttpResult<QuoteRespVo> quote(@RequestBody BaseQuoteVo<List<ZjQuoteAccidentVo>> quoteVo) throws Exception {
+    public HttpResult<QuoteRespVo> quote(@RequestBody BaseQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo) throws Exception {
         BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId());
         return this.boHaiOrderApiService.quote(quoteInfo, quoteVo);
     }

+ 11 - 3
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/QuotationRequest.java

@@ -12,6 +12,7 @@ import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.entity.api.bohai.constants.Coverages;
 import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
+import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.utils.StringUtils;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -55,7 +56,8 @@ public class QuotationRequest extends BoHaiBaseRequest {
                             List<KindInfoVo> kindList,
                             String currentValue,
                             String orderNO,
-                            CarInfoVo carInfo) {
+                            CarInfoVo carInfo,
+                            List<BoHaiQuoteAccidentVo> accidentVo) {
         this.setBaseParam(parameters, RequestType.Z00006.getCode(), orderNO);
         this.argueSolution = "1";
         for (RiskInfoVo riskInfoVo : riskList) {
@@ -65,12 +67,13 @@ public class QuotationRequest extends BoHaiBaseRequest {
                 this.businessPolicy = new BusinessPolicyDTO(riskInfoVo, kindList, currentValue, carInfo);
             }
         }
+        this.unAuto = accidentVo.stream().map(UnAutoDTO::new).collect(Collectors.toList());
     }
 
 
     @NoArgsConstructor
     @Data
-    public static class UnAutoDTO implements Serializable{
+    public static class UnAutoDTO implements Serializable {
 
         private static final long serialVersionUID = -5387591716781571838L;
 
@@ -83,6 +86,11 @@ public class QuotationRequest extends BoHaiBaseRequest {
         @JsonProperty("copies")
         private String copies;
 
+        public UnAutoDTO(BoHaiQuoteAccidentVo boHaiQuoteAccidentVo) {
+            this.productCode = boHaiQuoteAccidentVo.getProductCode();
+            this.packageCode = boHaiQuoteAccidentVo.getPackageCode();
+            this.copies = boHaiQuoteAccidentVo.getCopies();
+        }
     }
 
     @NoArgsConstructor
@@ -182,7 +190,7 @@ public class QuotationRequest extends BoHaiBaseRequest {
 
             private static CoveragesDTO toCoveragesDTO(KindInfoVo kindInfoVo, String currentValue, CarInfoVo carInfo) {
                 String kindCode = kindInfoVo.getKindCode();
-                Coverages coverages = Coverages.valueOf("C_" +kindInfoVo.getKindCode());
+                Coverages coverages = Coverages.valueOf("C_" + kindInfoVo.getKindCode());
                 CoveragesDTO coveragesDTO = new CoveragesDTO();
                 if (carInfo.isNewEnergy()) {
                     coveragesDTO.setCoverageCode(coverages.getNewEnergyCode());

+ 22 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/response/QuotationResponse.java

@@ -32,7 +32,7 @@ public class QuotationResponse extends BoHaiBaseResponse {
         private String premium;
 
         @JsonProperty("vehicle")
-        private VehicleDTO vehicle;
+        private UnAutoPremiumDTO vehicle;
 
         @JsonProperty("carOwner")
         private CarOwnerDTO carOwner;
@@ -55,6 +55,9 @@ public class QuotationResponse extends BoHaiBaseResponse {
         @JsonProperty("checkInfoList")
         private List<CheckInfoDTO> checkInfoList;
 
+        @JsonProperty("unAutoPremium")
+        private UnAutoPremiumDTO unAutoPremium;
+
         @NoArgsConstructor
         @Data
         public static class VehicleDTO implements Serializable {
@@ -285,5 +288,23 @@ public class QuotationResponse extends BoHaiBaseResponse {
 
         }
 
+
+        @NoArgsConstructor
+        @Data
+        public static class UnAutoPremiumDTO implements Serializable {
+
+            private static final long serialVersionUID = -6301720394051931325L;
+
+            @JsonProperty("premium")
+            private String premium;
+
+            @JsonProperty("propertyPremium")
+            private String propertyPremium;
+
+            @JsonProperty("casualtyPremium")
+            private String casualtyPremium;
+
+        }
+
     }
 }

+ 35 - 0
src/main/java/com/ydtech/modules/order/entity/vo/bohai/BoHaiQuoteAccidentVo.java

@@ -0,0 +1,35 @@
+package com.ydtech.modules.order.entity.vo.bohai;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+
+/**
+ * @description: 渤海财险 驾意险
+ * @author: wenks
+ * @date: 2024/3/11 14:59
+ **/
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+@ApiModel("驾意险")
+public class BoHaiQuoteAccidentVo implements Serializable {
+
+    private static final long serialVersionUID = -3398555586817573322L;
+
+    @ApiModelProperty("产品编码")
+    private String productCode;
+
+    @ApiModelProperty("套餐编码")
+    private String packageCode;
+
+    @ApiModelProperty("份数")
+    private String copies;
+
+
+}

+ 2 - 1
src/main/java/com/ydtech/modules/order/service/BoHaiOrderApiService.java

@@ -9,6 +9,7 @@ import com.ydtech.modules.order.entity.api.bohai.response.NonAutomotiveProductsR
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
+import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
 import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
@@ -36,7 +37,7 @@ public interface BoHaiOrderApiService {
      *
      * @param quoteInfoVo 报价实体
      */
-    HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<List<ZjQuoteAccidentVo>> t) throws Exception;
+    HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<List<BoHaiQuoteAccidentVo>> t) throws Exception;
 
     /**
      * 提交影像信息

+ 12 - 5
src/main/java/com/ydtech/modules/order/service/impl/BoHaiOrderApiServiceImpl.java

@@ -24,6 +24,8 @@ import com.ydtech.modules.order.entity.filter.CarModelsFilterUtils;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
+import com.ydtech.modules.order.entity.vo.VehicleAndVesselTax;
+import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
 import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
@@ -39,6 +41,7 @@ import com.ydtech.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -94,7 +97,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
     }
 
     @Override
-    public HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<List<ZjQuoteAccidentVo>> quoteVo) throws Exception {
+    public HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo) throws Exception {
         // 协议id获取配置实体
         String agreementId = quoteVo.getAgreementId();
         // 账号信息
@@ -135,7 +138,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
 
         // 4. 报价接口
         QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
-                currentValue, orderNo, carInfo);
+                currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
         QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest);
         QuoteRespVo quoteRespVo = getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO);
         return responseOrder(response, quoteRespVo, ptlAgreementAttribution, orderNo);
@@ -335,7 +338,8 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
     public QuoteRespVo getQuoteRespVo(QuotationResponse response,
                                       BaseQuoteInfoVo yaQuoteInfoVo,
                                       VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO) {
-        double jyPremium = 0;
+
+
         QuoteRespVo quoteRespVo = new QuoteRespVo();
         // 交强险
         QuotationResponse.DataDTO.TrafficPolicyDTO trafficPolicy = response.getData().getTrafficPolicy();
@@ -345,7 +349,6 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
         quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
         quoteRespVo.setJqApplyNo(trafficPolicy.getApplicationNo());
-
         // 商业险
         QuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = response.getData().getBusinessPolicy();
         double syPremium = Double.parseDouble(businessPolicy.getPremium());
@@ -353,9 +356,13 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         quoteRespVo.setStartDateSy(businessPolicy.getStartDate());
         quoteRespVo.setEndDateSy(businessPolicy.getEndDate());
         quoteRespVo.setSyApplyNo(businessPolicy.getApplicationNo());
-
         List<QuoteKindRespVo> kindList1 = new ArrayList<>();
         List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
+
+        // 非车险
+        String premium = response.getData().getPremium();
+        double jyPremium = StringUtils.isEmpty(premium) ?  0 : Double.parseDouble(premium);
+
         //  报价险种放入保费
         List<QuoteRiskRespVo> riskList1 = QuoteRiskRespVo.toQuoteRiskRespVoList(riskList, jqPremium, syPremium);