Răsfoiți Sursa

修复泰康投保日期不正确问题

wangrq 3 luni în urmă
părinte
comite
56ec109396

+ 2 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/model/entity/TKDateInfo.java

@@ -21,11 +21,11 @@ public class TKDateInfo extends UnknownFieldEntity {
      */
     private String enrollDate;
     /**
-     * 商业险初始开始日期
+     * 交强险初始开始日期
      */
     private String initStartDateBZ;
     /**
-     * 交强险初始开始日期
+     * 商业险初始开始日期
      */
     private String initStartDateCI;
     /**

+ 0 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKHttpAPIService.java

@@ -688,8 +688,6 @@ public class TKHttpAPIService {
     public PreciseInitResult preciseInitToQuote(String token, PreciseInitParam param) {
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.add("tkCarRequestToken", token);
-        // httpHeaders.add("carinsurflowid", "carInsur1780302178294459227");
-        // httpHeaders.add("carinsurorderid", param.getOrderID());
 
         StringResponse response = client.request(HttpURL.preciseInit, param, httpHeaders, StringResponse.class);
 

+ 18 - 14
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/impl/TKQuotationBaseServiceImpl.java

@@ -18,6 +18,7 @@ import com.jzg.quotation.commons.constant.InsuranceCode;
 import com.jzg.quotation.commons.entity.DetectLoginRequest;
 import com.jzg.quotation.commons.entity.GetCaptchaRequest;
 import com.jzg.quotation.commons.entity.GetCaptchaResponse;
+import com.jzg.quotation.commons.utils.DateTimeUtil;
 import com.jzg.quotation.taikang.crawler.ConvertUtil;
 import com.jzg.quotation.taikang.crawler.cache.RedisCacheUtil;
 import com.jzg.quotation.taikang.crawler.client.AESDecryptor;
@@ -37,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -588,25 +590,27 @@ public class TKQuotationBaseServiceImpl implements TKQuotationBaseService {
         // todo: 保司返回的时间与报价时选的投保时间不一致(发现保司报价页面时间不能自由选择,投保开始时间会延后,导致保单结束时间也会延后),所以这里将保司返回的时间设置为报价时选的投保时间
         // 交强险
         RiskInfoVo riskInfoVo1 = new RiskInfoVo();
-        // riskInfoVo1.setStartDate(DateTimeUtils.convertToDateTime(date.getJqStartDate(), date.getJqStartHour(), date.getJqStartMinute()));
-        // riskInfoVo1.setEndDate(DateTimeUtils.convertToDateTime(date.getJqEndDate(), date.getJqEndHour(), date.getJqEndMinute()));
-        riskInfoVo1.setStartDate(commonQuoteVo.getCiRiskInfoVo().getStartDate());
-        riskInfoVo1.setEndDate(commonQuoteVo.getCiRiskInfoVo().getEndDate());
+        LocalDateTime jyStart = DateTimeUtil.parseLocalDateTime(date.getInitStartDateBZ(), DateTimeUtil.DATETIME_PATTERN_EXT1);
+        riskInfoVo1.setStartDate(DateTimeUtil.getStartTimeOfDayStr(jyStart, DateTimeUtil.DATETIME_PATTERN));
+        riskInfoVo1.setEndDate(DateTimeUtils.convertToDateTime(date.getJqEndDate(), date.getJqEndHour(), date.getJqEndMinute()));
         quoteResultsVo.setCiRiskInfoVo(riskInfoVo1);
 
         // 商业险
-        RiskInfoVo riskInfoVo2 = new RiskInfoVo();
-        // riskInfoVo2.setStartDate(DateTimeUtils.convertToDateTime(date.getSyStartDate(), date.getSyStartHour(), date.getSyStartMinute()));
-        // riskInfoVo2.setEndDate(DateTimeUtils.convertToDateTime(date.getSyEndDate(), date.getSyEndHour(), date.getSyEndMinute()));
-        riskInfoVo2.setStartDate(commonQuoteVo.getBiRiskInfoVo() == null ? commonQuoteVo.getCiRiskInfoVo().getStartDate() : commonQuoteVo.getBiRiskInfoVo().getStartDate());
-        riskInfoVo2.setEndDate(commonQuoteVo.getBiRiskInfoVo() == null ? commonQuoteVo.getCiRiskInfoVo().getEndDate() : commonQuoteVo.getBiRiskInfoVo().getEndDate());
-        quoteResultsVo.setBiRiskInfoVo(riskInfoVo2);
+        if (commonQuoteVo.getBiRiskInfoVo() != null) {
+            RiskInfoVo riskInfoVo2 = new RiskInfoVo();
+            LocalDateTime syStart = DateTimeUtil.parseLocalDateTime(date.getInitStartDateCI(), DateTimeUtil.DATETIME_PATTERN_EXT1);
+            riskInfoVo2.setStartDate(DateTimeUtil.getStartTimeOfDayStr(syStart, DateTimeUtil.DATETIME_PATTERN));
+            riskInfoVo2.setEndDate(DateTimeUtils.convertToDateTime(date.getSyEndDate(), date.getSyEndHour(), date.getSyEndMinute()));
+            quoteResultsVo.setBiRiskInfoVo(riskInfoVo2);
+        }
 
         // 驾意险
-        RiskInfoVo riskInfoVo3 = new RiskInfoVo();
-        riskInfoVo3.setStartDate(DateTimeUtils.convertToDateTime(date.getJcbStartDate(), date.getJcbStartHour(), date.getJcbStartMinute()));
-        riskInfoVo3.setEndDate(DateTimeUtils.convertToDateTime(date.getJcbEndDate(), date.getJcbEndHour(), date.getJcbEndMinute()));
-        quoteResultsVo.setJyRiskInfoVo(riskInfoVo3);
+        if (commonQuoteVo.getAccidentalDrivings() != null) {
+            RiskInfoVo riskInfoVo3 = new RiskInfoVo();
+            riskInfoVo3.setStartDate(DateTimeUtils.convertToDateTime(date.getJcbStartDate(), date.getJcbStartHour(), date.getJcbStartMinute()));
+            riskInfoVo3.setEndDate(DateTimeUtils.convertToDateTime(date.getJcbEndDate(), date.getJcbEndHour(), date.getJcbEndMinute()));
+            quoteResultsVo.setJyRiskInfoVo(riskInfoVo3);
+        }
 
         // 商业险险种信息
         List<TKCiKindsVo> ciKindsVo = preciseInitResult.getCiKindsVo();