Bläddra i källkod

1. 诚泰核保失败显示详细错误信息

785834757 10 månader sedan
förälder
incheckning
033b2fd86a

+ 13 - 0
src/main/java/com/ydtech/modules/order/entity/api/chengtai/response/UnderwritingResultResponse.java

@@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.List;
+
 @NoArgsConstructor
 @Data
 public class UnderwritingResultResponse extends ChengTaiBaseResponse{
@@ -22,4 +24,15 @@ public class UnderwritingResultResponse extends ChengTaiBaseResponse{
     private String contractNoCI;
     @JsonProperty("finalRuleResultEndDate")
     private String finalRuleResultEndDate;
+    @JsonProperty("data")
+    private List<UnderwritingResponse.DataDTO> data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+        @JsonProperty("reasondescription")
+        private String reasondescription;
+        @JsonProperty("riskCode")
+        private String riskCode;
+    }
 }

+ 8 - 3
src/main/java/com/ydtech/modules/order/service/impl/ChengTaiOrderApiServiceImpl.java

@@ -832,12 +832,17 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
             // 查询核保结果
             UnderwritingResultRequest resultRequest = new UnderwritingResultRequest(parameters,insAreaCompany.getInsOrderNo());
             UnderwritingResultResponse underwritingResultResponse = chengTaiRequestApiComponents.auditResult(resultRequest,httpHeaders);
-            String uwMsg = systemException.getMessage();
+            StringBuilder uwMsg = new StringBuilder(systemException.getMessage());
             if (OrderStatusEnum.A2001.getCode().equals(underwritingResultResponse.getFinalRuleResult()) || OrderStatusEnum.A2007.getCode().equals(underwritingResultResponse.getFinalRuleResult())) {
                 //  add  by  hxl  添加手动更新状态
                 insSubOrderUpdateDetailService.insertData(insAreaCompany, insAreaCompany.getOrderstatus(), InsOrderStatusEnum.TO_BACK.getCode(), "1");
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
-                insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, uwMsg);
+                int i=1;
+                for(UnderwritingResponse.DataDTO dto : underwritingResultResponse.getData()){
+                    uwMsg.append("\n").append(String.valueOf(i)).append(".").append(dto.getReasondescription());
+                    i++;
+                }
+                insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, uwMsg.toString());
                 return HttpResult.error(OrderStatusEnum.A2001.getDesc() + ":" + uwMsg);
                 // 人工核保
             } else if (OrderStatusEnum.A2002.getCode().equals(underwritingResultResponse.getFinalRuleResult())) {
@@ -845,7 +850,7 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
                 //  add  by  hxl  添加手动更新状态
                 insSubOrderUpdateDetailService.insertData(insAreaCompany, insAreaCompany.getOrderstatus(), InsOrderStatusEnum.WAIT_AUDIT.getCode(), "1");
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
-                insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, uwMsg);
+                insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, uwMsg.toString());
                 return HttpResult.error("人工核保" + ":" + uwMsg);
             }