Просмотр исходного кода

Merge remote-tracking branch 'origin/master' into dev_jzg_lipf_v20260622

lipf 2 месяцев назад
Родитель
Сommit
1ebb5878eb

+ 27 - 2
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/request/GuoRenCrawlerCreateOrderRequest.java

@@ -17,6 +17,9 @@ import lombok.NoArgsConstructor;
 import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -123,7 +126,7 @@ public class GuoRenCrawlerCreateOrderRequest implements Serializable {
         insuredListDTO.setInsuredType("1");
         insuredListDTO.setCertiStartDate(insuredPersonInfo.getIdentifyValidDate());
         insuredListDTO.setCertiEndDate("");
-        insuredListDTO.setCertiValidity("4");
+        insuredListDTO.setCertiValidity("2");
         insuredListDTO.setCountryCode("156");
         insuredListDTO.setCountryName("中国");
         insuredListDTO.setCustomerRelations("01");
@@ -197,7 +200,7 @@ public class GuoRenCrawlerCreateOrderRequest implements Serializable {
         orderAppl.setContactMobile(null);
         orderAppl.setCertiStartDate(policyHolderInfo.getIdentifyValidDate());
         orderAppl.setCertiEndDate("");
-        orderAppl.setCertiValidity("4");
+        orderAppl.setCertiValidity("2");
         orderAppl.setCountryCode("156");
         orderAppl.setCountryName("中国");
         orderAppl.setAddrProvince(policyHolderInfo.getProvince());
@@ -331,6 +334,28 @@ public class GuoRenCrawlerCreateOrderRequest implements Serializable {
         return liabList;
     }
 
+    /**
+     * 根据身份证起止日期计算证件有效期年限
+     * 长期有效(结束日期包含"9999"或"长期")返回"长期",否则返回实际年限
+     */
+    private static String calculateCertiValidity(String startDate, String endDate) {
+        if (startDate == null || endDate == null || startDate.isEmpty() || endDate.isEmpty()) {
+            return "";
+        }
+        // 长期有效
+        if (endDate.contains("9999") || endDate.contains("长期")) {
+            return "长期";
+        }
+        try {
+            LocalDate start = LocalDate.parse(startDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+            LocalDate end = LocalDate.parse(endDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+            long years = ChronoUnit.YEARS.between(start, end);
+            return String.valueOf(years);
+        } catch (Exception e) {
+            return "";
+        }
+    }
+
     // ==================== 内部 DTO ====================
 
     @Data

+ 1 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerQuoteProcessServiceImpl.java

@@ -111,7 +111,7 @@ public class GuoRenCrawlerQuoteProcessServiceImpl implements GuoRenCrawlerQuoteP
     public HttpHeaders getHeaders(String username) {
         HttpHeaders headers = new HttpHeaders();
         String token = guoRenCrawlerCacheComponent.getToken(username);
-//        String token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJXMzAwMDM5OSIsInVzZXJJZCI6IjQ5NjE4MSIsIm5hbWUiOiLmnY7mmKXmooUiLCJleHAiOjE3ODM2NzExMTZ9.M9ATzYxnqCtuqRmrChaHOoM0u67ULQK253xZFdZlPZIYqvloAEcU-FFXf0znSxoMD1xOqIbMgAvNlsHdNV33AQFndbvuA3A9t8wz5ys0ny-JZ7ik_mMW75RfkwwhB1pBWCGi4WcsVUqwXdGu_8if_Q-6X4aDq-kC2R1DK57FLd4";
+//        String token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJXMzAwMDM5OSIsInVzZXJJZCI6IjQ5NjE4MSIsIm5hbWUiOiLmnY7mmKXmooUiLCJleHAiOjE3ODQ2MjI5NzN9.ZmbT_sS1gSqbBu0vaCoZ3CPwzE7psQcSVyPDwxTtfffT5-Wr15MOJgH-vnUe1eD3in-RUWnoLXW6ZFybj2qXhm7-kZMKkIEISzaNFqHymoPQPlils2ydiVPigIWs4dhv8CLvH_OWYnOeucekHQKMMMZk26Lsi3Jy0wdgdN9X_k0";
         if (!StringUtils.hasText(token)) {
             throw new TokenExpireException("500", "国任财险账号登录过期,请重新登录");
         }