Browse Source

fix 恒邦核保

liub 3 months ago
parent
commit
065bf28f3e

+ 3 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/constant/InsuranceCode.java

@@ -28,7 +28,6 @@ public class InsuranceCode {
     public static final String INSURANCE_CAIC = "CAIC";
     public static final String INSURANCE_CATH = "CATH";
     public static final String INSURANCE_CCBP = "CCBP";
-    public static final String INSURANCE_CCIC = "CCIC";
 
     public static final String INSURANCE_CICP = "CICP";
     public static final String INSURANCE_CJCX = "CJCX";
@@ -104,4 +103,7 @@ public class InsuranceCode {
 
     // 泰山财险
     public static final String  INSURANCE_TSBX = "TSBX";
+
+    // 大地财险
+    public static final String  INSURANCE_CCIC = "CCIC";
 }

+ 7 - 3
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/component/HengBangCrawlerRequestComponent.java

@@ -5,10 +5,12 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.jzg.commons.constants.quote.enums.base.InsuranceEnum;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.component.RequestComponent;
 import com.jzg.quotation.commons.constant.CacheConstant;
 import com.jzg.quotation.commons.service.ExteriorUtilsRequest;
+import com.jzg.quotation.commons.utils.InsuranceLog;
 import com.jzg.quotation.commons.utils.RequestObjectConversion;
 import com.jzg.quotation.hengbang.crawler.constant.RequestConstant;
 import com.jzg.quotation.hengbang.crawler.constant.enums.RequestUrl;
@@ -29,11 +31,13 @@ import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
+import org.springframework.web.reactive.function.BodyInserters;
 import org.springframework.web.reactive.function.client.WebClientResponseException;
 
 import javax.crypto.Cipher;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
+import java.nio.charset.StandardCharsets;
 import java.time.Duration;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -388,11 +392,11 @@ public class HengBangCrawlerRequestComponent {
             ResponseEntity<String> responseEntity = requestComponent.objectPost(RequestUrl.SUBMIT.getRequestUrl(hbCrawlerProperties.getBaseUrl()) + "/" + plyappno, requestBody, String.class, headers);
             return JSONObject.parseObject(responseEntity.getBody()).getString("message");
         } catch (WebClientResponseException e) {
-            log.error("恒邦calculation接口调用失败[{}]: {}", e.getStatusCode(), e.getResponseBodyAsString());
+            log.error("恒邦calculation接口调用失败[{}]: {}", e.getStatusCode(), e.getResponseBodyAsString(StandardCharsets.UTF_8));
             if (e.getStatusCode().equals(HttpStatusCode.valueOf(500))) {
-                return JSONObject.parseObject(e.getResponseBodyAsString()).getString("detail");
+                return JSONObject.parseObject(e.getResponseBodyAsString(StandardCharsets.UTF_8)).getString("detail");
             } else  if (e.getStatusCode().equals(HttpStatusCode.valueOf(400))) {
-                return JSONObject.parseObject(e.getResponseBodyAsString()).getString("title");
+                return JSONObject.parseObject(e.getResponseBodyAsString(StandardCharsets.UTF_8)).getString("title");
             } else {
                 throw new SystemException(e.getMessage());
             }

+ 1 - 1
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/service/Impl/HengBangCrawlerRequestImpl.java

@@ -302,7 +302,7 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
             hbCrawlerOrderService.update(hbCrawlerOrder);
             underwritingResultsVo.setJyApplyNo(response.getEfcProposalNo());
             underwritingResultsVo.setSyApplyNo(response.getBizProposalNo());
-            if (response.getStatus().equals("2")) {
+            if (response.getStatus().equals("2") || response.getStatus().equals("9")) {
                 underwritingResultsVo.setUnderwritingResult("核保失败:" + response.getDesCription());
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
             } else {

+ 2 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -64,6 +64,7 @@ import jakarta.servlet.http.HttpServletRequest;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import org.apache.commons.beanutils.BeanUtils;
+import org.apache.http.util.TextUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -947,7 +948,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             paylink = insOrders.getPayLink().replace("{", "").replace("}", "");
             insOrdersQrcode.setJumpUrl(paylink);
         } else {
-            if (paylink.contains("data:image/jpg;base64,")) {
+            if (!TextUtils.isEmpty(paylink) && paylink.contains("data:image/jpg;base64,")) {
                 paylink = paylink.replace("data:image/jpg;base64,", "");
             }
             insOrdersQrcode.setJumpUrl(paylink);