|
|
@@ -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);
|