dongxin пре 1 година
родитељ
комит
98f33f649e

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

@@ -0,0 +1,26 @@
+package com.jzg.quotation.zijin.api.entity.constants.enums;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @description: 单证类型
+ * @author: wenks
+ * @date: 2023/9/15 11:12
+ **/
+@Getter
+@AllArgsConstructor
+public enum BusType {
+
+    BT_1("1", "交强险"),
+    BT_2("2", "保险标志"),
+    BT_3("3", "商业险"),
+    BT_4("4", "非车险"),
+    BT_5("5", "批单");
+
+    private final String code;
+
+    private final String desc;
+
+}

+ 1 - 1
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/entity/po/ZiJinApiOrder.java

@@ -33,7 +33,7 @@ public class ZiJinApiOrder {
      */
     private String productsCode;
     /**
-     * 被保人省份证
+     * 被保人身份证
      */
     private String insuredIdentify;
 

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

@@ -3,7 +3,6 @@ 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.*;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
@@ -17,6 +16,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.BusType;
 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;
@@ -25,15 +25,13 @@ import com.jzg.quotation.zijin.api.entity.response.*;
 import com.jzg.quotation.zijin.api.service.ZiJinApiRequest;
 import com.jzg.quotation.zijin.api.service.ZiJinCrawlerOrderService;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.jetbrains.annotations.NotNull;
 import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * @description: 紫金财险 API 计算
@@ -175,12 +173,91 @@ public class ZiJinApiRequestImpl implements ZiJinApiRequest {
 
     @Override
     public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
+        DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
         ZiJinApiOrder ziJinApiOrder = ziJinCrawlerOrderService.getById(downloadPolicyVo.getOrder().getOrdersNo());
-        return null;
+        // 配置信息
+        ZiJinApiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(ZiJinApiConfigureParameters.class, downloadPolicyVo.getOrder()
+                .getAttributionInformationVo()
+                .getConfigInfo());
+
+        String jqPolicyNo = downloadPolicyVo.getPolicie().getJqPolicyNo();
+        if(Objects.nonNull(jqPolicyNo)) {
+            queryPolicy(jqPolicyNo, ziJinApiOrder, downloadPolicyResultVo,BusType.BT_1);
+            queryPolicy(jqPolicyNo, ziJinApiOrder, downloadPolicyResultVo,BusType.BT_2);
+        }
+
+        String syPolicyNo = downloadPolicyVo.getPolicie().getSyPolicyNo();
+        if(Objects.nonNull(syPolicyNo)) {
+            queryPolicy(syPolicyNo, ziJinApiOrder, downloadPolicyResultVo,BusType.BT_3);
+        }
+        String jyPolicyNo = downloadPolicyVo.getPolicie().getJyPolicyNo();
+        if(Objects.nonNull(jyPolicyNo)) {
+            queryPolicy(jyPolicyNo, ziJinApiOrder, downloadPolicyResultVo,BusType.BT_4);
+        }
+        return downloadPolicyResultVo;
+    }
+
+    /**
+     * 获取保单
+     * @param policyNo
+     * @param ziJinApiOrder
+     * @param downloadPolicyResultVo
+     */
+    private void queryPolicy(String policyNo, ZiJinApiOrder ziJinApiOrder, DownloadPolicyResultVo downloadPolicyResultVo,BusType busType) {
+        String identifyNo = ziJinApiOrder.getInsuredIdentify();
+        String code = busType.getCode();
+        if (busType.equals(BusType.BT_1)) {
+            String jqUrl = ziJinApiRequestComponent.getDownLoadDocumentUrl(policyNo, code, identifyNo);
+            downloadPolicyResultVo.setJqUrl(jqUrl);
+        }
+        if (busType.equals(BusType.BT_2)) {
+            String jqFlagUrl = ziJinApiRequestComponent.getDownLoadDocumentUrl(policyNo, code, identifyNo);
+            downloadPolicyResultVo.setJqFlagUrl(jqFlagUrl);
+        }
+        if (busType.equals(BusType.BT_3)) {
+            String syUrl = ziJinApiRequestComponent.getDownLoadDocumentUrl(policyNo, code, identifyNo);
+            downloadPolicyResultVo.setSyUrl(syUrl);
+        }
+        if (busType.equals(BusType.BT_4)) {
+            String jyUrl = ziJinApiRequestComponent.getDownLoadDocumentUrl(policyNo, code, identifyNo);
+            downloadPolicyResultVo.setJyUrl(jyUrl);
+        }
     }
 
     @Override
     public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
-        return null;
+        OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
+        // 配置信息
+        ZiJinApiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(ZiJinApiConfigureParameters.class, orderStatusVo.getOrder()
+                .getAttributionInformationVo()
+                .getConfigInfo());
+        HttpHeaders httpHeaders = ziJinApiRequestComponent.getHttpHeaders(parameters);
+        try{
+            QueryOrderDetailResponse queryOrderDetailResponse = ziJinApiRequestComponent.getOrderDetail(orderStatusVo.getOrder().getCompanyOrderNo(), httpHeaders);
+            QueryOrderDetailResponse.ResultObjDTO resultObj = queryOrderDetailResponse.getResultObj();
+
+            if (OrderStatusEnum.O_2.getCode().equals(resultObj.getOrderStatus())) {
+                QueryOrderDetailResponse.BaseInfoDTO baseInfo = queryOrderDetailResponse.getResultObj().getBaseInfo();
+
+                orderStatusResultVo.setJqPolicyno(baseInfo.getPolicyNoCI());
+                orderStatusResultVo.setSyPolicyno(baseInfo.getPolicyNo());
+                // 2.2 投保单号
+                orderStatusResultVo.setJqApplyNo(baseInfo.getProposalNoCI());
+                orderStatusResultVo.setSyApplyNo(baseInfo.getProposalNo());
+                orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
+
+                // 获取支付链接
+                PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
+                paymentLinkVo.setOrder(orderStatusVo.getOrder());
+                PaymentLinkResultsVo paymentLinkResultsVo = getPaymentLink(paymentLinkVo);
+                orderStatusResultVo.setPaymentLink(paymentLinkResultsVo.getPaymentLink());
+
+            } else if (OrderStatusEnum.O_3.getCode().equals(resultObj.getOrderStatus())) {
+                orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        return orderStatusResultVo;
     }
 }