wangrq 3 сар өмнө
parent
commit
b5d44ab43f

+ 2 - 1
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerQuoteRequestBuild.java

@@ -480,10 +480,11 @@ public class ZiJinCrawlerQuoteRequestBuild {
             carPolicySubInfo.setPlanName(accidentalDriving.getProductName());
             carPolicySubInfo.setRiskCode(accidentalDriving.getRiskCode());
             carPolicySubInfo.setRiskName(accidentalDriving.getProductName());
-            carPolicySubInfo.setSumAmount(ObjectUtils.isEmpty(accidentalDriving.getSumAmount()) ? 0 : (int) Double.parseDouble(accidentalDriving.getSumAmount()));
+            carPolicySubInfo.setSumAmount(ObjectUtils.isEmpty(accidentalDriving.getSumAmount()) ? 0 : (int) Double.parseDouble(accidentalDriving.getSumAmount()));// 空值,前端没传
             carPolicySubInfo.setQuantity(accidentalDriving.getQuantity() == 0 ? "0" : String.valueOf(accidentalDriving.getQuantity()));
             carPolicySubInfo.setIsUseInsured("1");
             carPolicySubInfo.setSumPremium(ObjectUtils.isEmpty(accidentalDriving.getPremium()) ? 0 : (int) Double.parseDouble(accidentalDriving.getPremium()));
+            carPolicySubInfo.setActualPremium(accidentalDriving.getPremium());
             carPolicySubInfoList.add(carPolicySubInfo);
         }
         return carPolicySubInfoList;

+ 4 - 2
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerCarRequest.java

@@ -1,8 +1,8 @@
 package com.jzg.quotation.zijin.crawler.entity.request;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.commons.entity.quote.vo.CarInfoVo;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -14,6 +14,8 @@ import java.io.Serializable;
  * @date 2025/09/28
  */
 @Data
+@NoArgsConstructor
+@AllArgsConstructor
 public class ZiJinCrawlerCarRequest implements Serializable {
 
     @Serial

+ 2 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerSaveProposalRequest.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.zijin.crawler.entity.request;
 
 import com.alibaba.fastjson.annotation.JSONField;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -13,6 +14,7 @@ import java.io.Serializable;
  */
 @Data
 @NoArgsConstructor
+@AllArgsConstructor
 public class ZiJinCrawlerSaveProposalRequest implements Serializable {
 
     @Serial

+ 12 - 16
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerRequestImpl.java

@@ -122,11 +122,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
 
         try {
             // 查询车辆信息
-            ZiJinCrawlerCarRequest ziJinCrawlerCarRequest = new ZiJinCrawlerCarRequest();
-            ziJinCrawlerCarRequest.setChannelCode("KSCD_PROD");
-            ziJinCrawlerCarRequest.setComCode(parameters.getComCode());
-            ziJinCrawlerCarRequest.setLicenseNo(quoteVo.getCarInfoVo().getLicenseNo());
-            ziJinCrawlerCarRequest.setVin(quoteVo.getCarInfoVo().getVinNo());
+            ZiJinCrawlerCarRequest ziJinCrawlerCarRequest = new ZiJinCrawlerCarRequest("KSCD_PROD", parameters.getComCode(), quoteVo.getCarInfoVo().getLicenseNo(), quoteVo.getCarInfoVo().getVinNo());
             ZiJinCrawlerCarResponse ziJinCrawlerCarResponse = ziJinCrawlerRequestComponent.car(ziJinCrawlerCarRequest, headers);
             log.info("ziJinCrawlerCarResponse参数的值:{}", JSON.toJSONString(ziJinCrawlerCarResponse));
 
@@ -152,16 +148,18 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
 
             // 重复投保,延保
             if (ResponseCode.R_0002.getCode().equals(ziJinCrawlerQuotationResponse.getRtnCode()) && ziJinCrawlerQuotationResponse.getRtnMsg() != null && ziJinCrawlerQuotationResponse.getRtnMsg().contains("重复投保")) {
-                String endTime = extractDuplicateEndTime(ziJinCrawlerQuotationResponse.getRtnMsg());
-                if (StringUtils.hasLength(endTime)) {
-                    String startTime = endTime;
+                // 提取重复投保消息中的结束时间为起保时间
+                String startTime = extractDuplicateEndTime(ziJinCrawlerQuotationResponse.getRtnMsg());
+                if (StringUtils.hasLength(startTime)) {
                     String newEndTime = TimeProcessing.minusOneSecondAfterYear(startTime);
-                    // 修改商业险起保时间(后端接口期望日期格式为 yyyy-MM-dd)
-                    ziJinCrawlerQuotationRequest.getBaseInfo().setStartDate(TimeProcessing.dateTimeToDate(startTime));
-                    ziJinCrawlerQuotationRequest.getBaseInfo().setEndDate(TimeProcessing.minusDays(TimeProcessing.dateTimeToDate(newEndTime), 1));
+                    // 修改商业险起保时间(保司接口期望日期格式为 yyyy-MM-dd)
+                    String startDate = TimeProcessing.dateTimeToDate(startTime);
+                    String endDate = TimeProcessing.minusDays(TimeProcessing.dateTimeToDate(newEndTime), 1);
+                    ziJinCrawlerQuotationRequest.getBaseInfo().setStartDate(startDate);
+                    ziJinCrawlerQuotationRequest.getBaseInfo().setEndDate(endDate);
                     // 修改交强险起保时间
-                    ziJinCrawlerQuotationRequest.getBaseInfo().setStartDateCI(TimeProcessing.dateTimeToDate(startTime));
-                    ziJinCrawlerQuotationRequest.getBaseInfo().setEndDateCI(TimeProcessing.minusDays(TimeProcessing.dateTimeToDate(newEndTime), 1));
+                    ziJinCrawlerQuotationRequest.getBaseInfo().setStartDateCI(startDate);
+                    ziJinCrawlerQuotationRequest.getBaseInfo().setEndDateCI(endDate);
                     log.info("紫金报价重复投保日期参数: startTime={}, endTime={}", startTime, newEndTime);
                     ziJinCrawlerQuotationResponse = ziJinCrawlerRequestComponent.quotation(ziJinCrawlerQuotationRequest, headers);
                     log.info("紫金报价重复投保后响应: {}", JSON.toJSONString(ziJinCrawlerQuotationResponse));
@@ -195,9 +193,7 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
                 log.info("ziJinCrawlerSaveQuoteInfoResponse响应:{}", JSON.toJSONString(ziJinCrawlerSaveQuoteInfoResponse));
 
                 // 保存投保单
-                ZiJinCrawlerSaveProposalRequest ziJinCrawlerSaveProposalRequest = new ZiJinCrawlerSaveProposalRequest();
-                ziJinCrawlerSaveProposalRequest.setOrderNo(ziJinCrawlerGetOrderNoResponse.getOrderNo());
-                ziJinCrawlerSaveProposalRequest.setProposalCheckNo(ziJinCrawlerQuotationResponse.getBasePart().getProposalCheckNo());
+                ZiJinCrawlerSaveProposalRequest ziJinCrawlerSaveProposalRequest = new ZiJinCrawlerSaveProposalRequest(ziJinCrawlerGetOrderNoResponse.getOrderNo(), ziJinCrawlerQuotationResponse.getBasePart().getProposalCheckNo());
                 log.info("ziJinCrawlerSaveProposalRequest参数的值:{}", JSON.toJSONString(ziJinCrawlerSaveProposalRequest));
                 ZiJinCrawlerSaveProposalResponse ziJinCrawlerSaveProposalResponse = ziJinCrawlerRequestComponent.saveProposal(ziJinCrawlerSaveProposalRequest, headers);
                 log.info("ziJinCrawlerSaveProposalResponse参数的值:{}", JSON.toJSONString(ziJinCrawlerSaveProposalResponse));