Bladeren bron

华泰-报价终保日期逻辑BUG修改

lixiaolong 3 maanden geleden
bovenliggende
commit
27be8ca608

+ 32 - 0
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/service/Impl/HuaTaiCrawlerRequestImpl.java

@@ -710,6 +710,38 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
             decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount, basePartJSON, personalInsuredJSON), h);
             log.info("resolveQuoteResponse attempt {}/{}: {}", i + 1, MAX_RETRIES, decryptData);
 
+            if (decryptData.contains("TRANS_MESSAGE") && decryptData.contains("终保日期")) {
+                Map<String, String> map = JSONObject.parseObject(decryptData, Map.class);
+                if (map.containsKey("TRANS_MESSAGE") && map.get("TRANS_MESSAGE").contains("交强")) {
+                    Matcher m = PAT_END_DATE2.matcher(decryptData);
+                    if (m.find()) {
+                        String jiaoqiang_startDate = m.group(1);
+                        log.info("报价响应结果CI,终保日期{}", jiaoqiang_startDate);
+                        duplQuoteResult.q().getCiRiskInfoVo().setStartDate(jiaoqiang_startDate + ":00");
+                        LocalDateTime dt = LocalDateTime.parse(jiaoqiang_startDate.replace(" ", "T"), DateTimeFormatter.ofPattern(DATE_FMT_T));
+                        String newEnd = dt.plusYears(1).format(DateTimeFormatter.ofPattern(DATE_FMT));
+                        duplQuoteResult.q().getCiRiskInfoVo().setEndDate(newEnd);
+                        decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount, "", personalInsuredJSON), h);
+                        return resolveQuoteResponse(duplQuoteResult, decryptData, mealid, limitAmount, h, personalInsuredJSON);
+                    }
+                }
+                if (map.containsKey("TRANS_MESSAGE") && map.get("TRANS_MESSAGE").contains("商业")) {
+                    Matcher m = PAT_END_DATE2.matcher(decryptData);
+                    if (m.find()) {
+                        String chesun_startDate = m.group(1);
+                        log.info("报价响应结果BI,终保日期{}", chesun_startDate);
+                        duplQuoteResult.q().getBiRiskInfoVo().setStartDate(chesun_startDate);
+                        duplQuoteResult.q().getCiRiskInfoVo().setStartDate(chesun_startDate);
+                        LocalDateTime dt = LocalDateTime.parse(chesun_startDate.replace(" ", "T"), DateTimeFormatter.ofPattern(DATE_FMT_T));
+                        String newEnd = dt.plusYears(1).format(DateTimeFormatter.ofPattern(DATE_FMT));
+                        duplQuoteResult.q().getBiRiskInfoVo().setEndDate(newEnd);
+                        duplQuoteResult.q().getCiRiskInfoVo().setEndDate(newEnd);
+                        decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount, "", personalInsuredJSON), h);
+                        return resolveQuoteResponse(duplQuoteResult, decryptData, mealid, limitAmount, h, personalInsuredJSON);
+                    }
+                }
+            }
+
             HtCrawlerQuoteResponse.DataDTO result = null;
             try {
                 result = JSONObject.parseObject(decryptData, HtCrawlerQuoteResponse.DataDTO.class);