xuqiang 1 жил өмнө
parent
commit
888a589428

+ 2 - 2
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/build/GuoRenApiQuoteResultsVoBuild.java

@@ -103,7 +103,7 @@ public class GuoRenApiQuoteResultsVoBuild {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         // 报价失败提示
         quoteResultsVo.setErrorMessage(response.getResultMsg());
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL.getDesc());
         return quoteResultsVo;
     }
 
@@ -111,7 +111,7 @@ public class GuoRenApiQuoteResultsVoBuild {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         // 报价失败提示
         quoteResultsVo.setErrorMessage(response.getResultMsg());
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL.getDesc());
         return quoteResultsVo;
     }
 

+ 1 - 1
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/component/HuiTaiUploadImageComponent.java

@@ -88,7 +88,7 @@ public class HuiTaiUploadImageComponent {
                             imageIds.add(imageDTO.getImageId());
                         } catch (Exception e) {
                             insImagesUploadCacheComponent.setUploadImageCache(companyId, map);
-                            log.error(fileTypeEnum.getName() + "上传异常,", e);
+                            log.error("{}上传异常,", fileTypeEnum.getName(), e);
                             throw new SystemException(fileTypeEnum.getName() + "上传异常, 请重试");
                         }
 

+ 76 - 8
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/service/Impl/HuaTaiApiRequestImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
+import com.jzg.commons.entity.orders.po.InsOrdersPolicy;
 import com.jzg.commons.entity.quote.vo.AccidentalDrivingVo;
 import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
 import com.jzg.commons.entity.quote.vo.CarInfoVo;
@@ -227,7 +228,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
         if ("4".equals(totalStatus)) {
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
             //再调用缴费接口获取缴费链接
-            //return getPayURL(insAreaCompany, huaTaiConfigureParameters);
+            //return getPaymentLink(insAreaCompany, huaTaiConfigureParameters);
         } else if ("1".equals(totalStatus)) {
             //人工核保
             underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
@@ -309,17 +310,31 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
      */
     @Override
     public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
+        InsOrdersPolicy police = downloadPolicyVo.getPolicie();
+        if (ObjectUtil.isNull(police)){
+            throw new RuntimeException("请选择保单");
+        }
+        DownloadPolicyResultVo resultVo = new DownloadPolicyResultVo();
         AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
         //配置信息
         HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
-
-        String policyNo = "";//以后需补充如何获取
         HuaTaiInsurancePolicyPrintRequest request = new HuaTaiInsurancePolicyPrintRequest();
         request.setHead(new HuaTaiBaseRequestHead(huaTaiParameters));
-        request.setBusinessNo(policyNo);
-
-        HuaTaiInsurancePolicyPrintResponse response = huataiRequestApiComponent.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class, huaTaiParameters.getInsuredCode());
-        return null;
+        if (StringUtils.isNotBlank(police.getJqPolicyNo())){
+            request.setBusinessNo(police.getJqPolicyNo());
+            HuaTaiInsurancePolicyPrintResponse response = huataiRequestApiComponent.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class, huaTaiParameters.getInsuredCode());
+            response.getElecDownLoadResultList().forEach(elecDownLoadResultDto -> {
+                resultVo.setJqUrl(elecDownLoadResultDto.getDownURL());
+            });
+        }
+        if (StringUtils.isNotBlank(police.getJyPolicyNo())){
+            request.setBusinessNo(police.getJyPolicyNo());
+            HuaTaiInsurancePolicyPrintResponse response = huataiRequestApiComponent.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class, huaTaiParameters.getInsuredCode());
+            response.getElecDownLoadResultList().forEach(elecDownLoadResultDto -> {
+                resultVo.setJyUrl(elecDownLoadResultDto.getDownURL());
+            });
+        }
+        return resultVo;
     }
 
     /**
@@ -329,6 +344,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
      */
     @Override
     public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
+        OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
         AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
         //配置信息
         HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
@@ -337,12 +353,64 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
         HuaTaiApiOrder huaTaiApiOrder = huaTaiApiOrderService.findByOrdersNo(orderStatusVo.getOrder().getOrdersNo());
         //获取核保状态
         HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(huaTaiApiOrder, huaTaiParameters, "2");
+        /**
+         * 0	初始状态默认值
+         * 1	已通过核保已实收
+         * 2	待修改
+         * 4	主动撤回(出单员撤回)
+         * 6	下发修改(核保员下发)
+         * 8	已通过核保未实收
+         * 9	待核保
+         */
+        if (StringUtils.equals("-1",submitStatusQueryResponse.getHead().getReturnCode())){
+            throw new SystemException("查询订单状态失败");
+        }
+        List<HuaTaiSubmitStatusQueryResponse.AppliResult> appliResult = submitStatusQueryResponse.getAppliResult();
+        for (HuaTaiSubmitStatusQueryResponse.AppliResult result : appliResult) {
+            String underWriteFlag = result.getUnderWriteFlag();
+            switch (underWriteFlag){
+                case "0":
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.QUOTE_ING);
+                    break;
+                case "1":
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.UNDERWRITED);
+                    break;
+                case "2":
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
+                    break;
+                case "4":
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.ORDER_CLOSE);
+                    break;
+                case "6", "8":
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
+                    break;
+                case "9":
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.WAIT_AUDIT);
+                    break;
+
+            }
+        }
+
+        log.info("核保状态:{}",JSONObject.toJSONString(submitStatusQueryResponse.getAppliResult()));
 
         //获取见费出单结果
         HuaTaiOrderStatusRequest orderStatusRequest = new HuaTaiOrderStatusRequest(huaTaiApiOrder, huaTaiParameters);
         orderStatusRequest.setHead(baseRequestHead);
         HuaTaiOrderStatusResponse orderStatusResponse = huataiRequestApiComponent.orderStatus(orderStatusRequest, HuaTaiOrderStatusResponse.class, huaTaiParameters.getInsuredCode());
-        return null;
+        log.info("见费出单结果:{}",JSONObject.toJSONString(orderStatusResponse));
+        for (HuaTaiOrderStatusResponse.PayDetaiDto payDetaiDto : orderStatusResponse.getPayDetaiList()) {
+            if (StringUtils.equals("1002",payDetaiDto.getRiskCode())){
+                orderStatusResultVo.setJqApplyNo(payDetaiDto.getBUSINESSNO());
+                orderStatusResultVo.setJqPolicyno(payDetaiDto.getPOLICYNO());
+            }else if(StringUtils.equals("1251",payDetaiDto.getRiskCode())){
+                orderStatusResultVo.setSyApplyNo(payDetaiDto.getBUSINESSNO());
+                orderStatusResultVo.setSyPolicyno(payDetaiDto.getPOLICYNO());
+            }else {
+                //
+                log.info("未知的险种:{}",payDetaiDto.getRiskCode());
+            }
+        }
+        return orderStatusResultVo;
 
     }
 

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

@@ -559,13 +559,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             //更新商业险种的保费
             List<InsOrdersKind> kindList = insOrdersKindService.list(new LambdaQueryWrapper<InsOrdersKind>()
                     .eq(InsOrdersKind::getOrderNo,ordersNo));
-            quoteResponse.getKindInfoVo().forEach(kindInfoVo -> {
-                kindList.forEach(kind -> {
-                    if (kind.getKindCode().equals(kindInfoVo.getPlatformKindCode())) {
-                        kind.setPremium(new BigDecimal(kindInfoVo.getPremium()));
-                    }
+            if (CollectionUtil.isNotEmpty(quoteResponse.getKindInfoVo())){
+                quoteResponse.getKindInfoVo().forEach(kindInfoVo -> {
+                    kindList.forEach(kind -> {
+                        if (kind.getKindCode().equals(kindInfoVo.getPlatformKindCode())) {
+                            kind.setPremium(new BigDecimal(kindInfoVo.getPremium()));
+                        }
+                    });
                 });
-            });
+            }
             insOrdersKindService.updateBatchById(kindList);
         }