dongxin 1 год назад
Родитель
Сommit
e2e84b91a0

+ 10 - 10
authentication/src/main/java/com/jzg/controller/AppAuthController.java

@@ -127,16 +127,16 @@ public class AppAuthController {
         if (Objects.isNull(bucket)){
             throw new SystemException("短信验证码已过期");
         }
-//        if (!bucket.isExists()){
-//            throw new SystemException("短信验证码已过期");
-//        }
-//        String smsCode = bucket.get().toString();
-//        if (Objects.isNull(smsCode)){
-//            throw new SystemException("短信验证码已过期");
-//        }
-//        if (!Objects.equals(smsCodeLogin.getSmsCode(), smsCode)){
-//            throw new SystemException("短信验证码错误");
-//        }
+        if (!bucket.isExists()){
+            throw new SystemException("短信验证码已过期");
+        }
+        String smsCode = bucket.get().toString();
+        if (Objects.isNull(smsCode)){
+            throw new SystemException("短信验证码已过期");
+        }
+        if (!Objects.equals(smsCodeLogin.getSmsCode(), smsCode)){
+            throw new SystemException("短信验证码错误");
+        }
         if(ObjectUtil.isNull(sysUser)){
             register(smsCodeLogin);
         }

+ 29 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/entity/constants/enums/OrderStatusEnum.java

@@ -0,0 +1,29 @@
+package com.jzg.quotation.zijin.api.entity.constants.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * @description: 紫金财险 订单状态
+ * @author: wenks
+ * @date: 2023/9/1 17:31
+ **/
+@Getter
+@AllArgsConstructor
+public enum OrderStatusEnum {
+
+    O_0("0", "暂存"),
+    O_1("1", "核保中"),
+    O_2("2", "待支付"),
+    O_3("3", "下发修改"),
+    O_4("4", "生效"),
+    O_5("5", "失效"),
+    O_6("6", "退保"),
+    O_7("7", "注销"),
+    O_1000("1000", "转人工核保成功");
+
+    private final String code;
+
+    private final String name;
+}

+ 7 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/entity/request/NewPayRequest.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.zijin.api.entity.request;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.zijin.api.entity.ZiJinApiConfigureParameters;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -34,5 +35,11 @@ public class NewPayRequest implements Serializable {
     @JsonProperty("proposalCityCode")
     private String proposalCityCode;
 
+    public NewPayRequest(String amount, String ordeNo, ZiJinApiConfigureParameters parameters) {
+        this.amount = amount;
+        this.ordeNo = ordeNo;
+        this.orderOrigin = parameters.getOrderOrigin();
+        this.proposalCityCode = parameters.getProposalCityCode();
+    }
 
 }

+ 33 - 2
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/service/Impl/ZiJinApiRequestImpl.java

@@ -1,5 +1,8 @@
 package com.jzg.quotation.zijin.api.service.Impl;
 
+import com.jzg.commons.constants.dict.InsOrderStatusEnum;
+import com.jzg.commons.entity.orders.po.InsOrdersCosts;
+import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.util.StringUtils;
 import com.jzg.quotation.commons.constant.InsuranceCode;
 import com.jzg.quotation.commons.entity.vo.aggregated.*;
@@ -14,6 +17,7 @@ import com.jzg.quotation.zijin.api.component.ResponseMessageAbstractHandler;
 import com.jzg.quotation.zijin.api.build.ZiJinAPIQuoteResultsVoBuild;
 import com.jzg.quotation.zijin.api.component.ZiJinApiRequestComponent;
 import com.jzg.quotation.zijin.api.entity.ZiJinApiConfigureParameters;
+import com.jzg.quotation.zijin.api.entity.constants.enums.OrderStatusEnum;
 import com.jzg.quotation.zijin.api.entity.constants.enums.ResultEnum;
 import com.jzg.quotation.zijin.api.entity.po.ZiJinApiOrder;
 import com.jzg.quotation.zijin.api.entity.request.*;
@@ -75,6 +79,7 @@ public class ZiJinApiRequestImpl implements ZiJinApiRequest {
 
     @Override
     public UnderwritingResultsVo underwriting(UnderwritingVo underwritingVo) {
+        InsOrdersCosts insOrdersCosts = underwritingVo.getInsOrdersCosts();
         OrderBase orderBase = underwritingVo.getOrder();
         ZiJinApiOrder ziJinApiOrder = ziJinCrawlerOrderService.getById(orderBase.getOrdersNo());
         // 配置信息
@@ -83,9 +88,35 @@ public class ZiJinApiRequestImpl implements ZiJinApiRequest {
                 .getConfigInfo());
         HttpHeaders httpHeaders = ziJinApiRequestComponent.getHttpHeaders(parameters);
         List<SpecialAppointmentsVo> specialAppointmentsVos = underwritingVo.getSpecialAppointmentsVos();
-        SubmitVerifyRequest submitVerifyRequest = new SubmitVerifyRequest(ziJinApiOrder, "", specialAppointmentsVos);
-        SubmitVerifyResponse submitVerifyResponse = ziJinApiRequestComponent.submitVerify(submitVerifyRequest, httpHeaders);
+        SubmitVerifyRequest submitVerifyRequest = new SubmitVerifyRequest(ziJinApiOrder, orderBase.getProductsCode(), specialAppointmentsVos);
+
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
+        try {
+            SubmitVerifyResponse submitVerifyResponse = ziJinApiRequestComponent.submitVerify(submitVerifyRequest, httpHeaders);
+            SubmitVerifyResponse.SubmitVerifyInfoDTO submitVerifyInfo = submitVerifyResponse.getSubmitVerifyInfo();
+            underwritingResultsVo.setJqPolicyno(submitVerifyInfo.getPolicyNoCI());
+            underwritingResultsVo.setJqApplyNo(submitVerifyInfo.getProposalNoCI());
+            underwritingResultsVo.setSyPolicyno(submitVerifyInfo.getPolicyNo());
+            underwritingResultsVo.setSyApplyNo(submitVerifyInfo.getProposalNo());
+            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
+
+            String multiply = insOrdersCosts.getSumPremium().toPlainString();
+            NewPayRequest newPayRequest = new NewPayRequest(multiply, orderBase.getOrdersNo(), parameters);
+            NewPayRequestResponse newPayRequestResponse = ziJinApiRequestComponent.newPay(newPayRequest, httpHeaders);
+            underwritingResultsVo.setPaymentLink(newPayRequestResponse.getTwoDimentionImageUrl());
+        } catch (SystemException systemException) {
+            QueryOrderDetailResponse queryOrderDetailResponse = ziJinApiRequestComponent.getOrderDetail(orderBase.getCompanyOrderNo(), httpHeaders);
+            QueryOrderDetailResponse.ResultObjDTO resultObj = queryOrderDetailResponse.getResultObj();
+            String uwMsg = systemException.getMessage();
+            if (OrderStatusEnum.O_3.getCode().equals(resultObj.getOrderStatus())) {
+                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
+                underwritingResultsVo.setUnderwritingResult(OrderStatusEnum.O_3.getName() + ":" + uwMsg);
+                // 人工核保
+            } else if (OrderStatusEnum.O_1.getCode().equals(resultObj.getOrderStatus())) {
+                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
+                underwritingResultsVo.setUnderwritingResult("人工核保" + ":" + uwMsg);
+            }
+        }
         return underwritingResultsVo;
     }