Explorar el Código

永城非车险保单号修改

wks hace 2 años
padre
commit
3fe7d3f4f3

+ 14 - 0
src/main/java/com/ydtech/modules/ins/model/yc/CallBackRequest.java

@@ -67,6 +67,18 @@ public class CallBackRequest implements Serializable {
      */
     private String ciPolicyAppNo;
 
+    /**
+     * 意外险保单号
+     * 报价时产生
+     */
+    private String ywPolicyNo;
+
+    /**
+     * 意外险投保单号
+     * 报价时产生
+     */
+    private String ywPolicyAppNo;
+
     /**
      * 投保单状态
      * 0待核保   5上报复核   9已核保未交费   3退回修改    1已核保且交费
@@ -126,6 +138,8 @@ public class CallBackRequest implements Serializable {
             cbr.setSystatus(StringUtils.toString(reqMap.get("systatus")));
             cbr.setJqmessage(StringUtils.toString(reqMap.get("jqmessage")));
             cbr.setSymessage(StringUtils.toString(reqMap.get("symessage")));
+            cbr.setYwPolicyNo(StringUtils.toString(reqMap.get("yw_policy_no")));
+            cbr.setYwPolicyAppNo(StringUtils.toString(reqMap.get("yw_policy_app_no")));
 
         }
         return cbr;

+ 1 - 1
src/main/java/com/ydtech/modules/order/controller/YongChengOrderApiController.java

@@ -157,7 +157,6 @@ public class YongChengOrderApiController {
 //        return HttpResult.ok("");
 //    }
 
-
     @GetMapping(value = "/orderStatusBySuborderId/{suborderId}")
     @ApiOperation(value = "永诚API方式 - 手动刷新订单状态 通过子订单ID")
     @ApiImplicitParams({
@@ -176,6 +175,7 @@ public class YongChengOrderApiController {
     public HttpResult updatePay(@PathVariable String suborderId) {
 
         LambdaQueryWrapper<InsAreaCompany> lqw = new LambdaQueryWrapper<>();
+
         lqw.eq(InsAreaCompany::getOrderstatus, InsOrderStatusEnum.WAIT_PAY.getCode());
         lqw.gt(InsAreaCompany::getAudittime, LocalDate.now().minusDays(1));
         List<InsAreaCompany> list = insAreaCompanyService.list(lqw);

+ 0 - 4
src/main/java/com/ydtech/modules/order/service/YongchengOrderApiService.java

@@ -2,9 +2,7 @@ package com.ydtech.modules.order.service;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.modules.esm.model.EsmInsAttachInsure;
 import com.ydtech.modules.ins.model.yc.CallBackRequest;
-import com.ydtech.modules.ins.model.yc.accident.response.ResponseYwCvrg;
 import com.ydtech.modules.ins.model.yc.pay.response.AccidentResponse;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.vo.AccidentalDrivingQueryVo;
@@ -12,7 +10,6 @@ import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
 
-import java.util.List;
 import java.util.Map;
 
 public interface YongchengOrderApiService {
@@ -103,5 +100,4 @@ public interface YongchengOrderApiService {
     Map<String, String> gainRegionCode(String address);
 
 
-
 }

+ 45 - 6
src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.ydtech.config.properties.YongchengApiConfigurationProperties;
 import com.ydtech.constants.InsuranceEnum;
 import com.ydtech.constants.SysConstants;
+import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.dict.AttachInsureEnum;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.constants.enums.dict.WhetherEnum;
@@ -23,6 +24,7 @@ import com.ydtech.modules.esm.service.EsmInsCompanyService;
 import com.ydtech.modules.ins.dao.InsAlltrustRegionMapper;
 import com.ydtech.modules.ins.model.dto.CarInsDateDto;
 import com.ydtech.modules.ins.model.dto.CarInsPolicyDto;
+import com.ydtech.modules.ins.model.guoren.PolicyResp;
 import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
@@ -58,6 +60,7 @@ import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.crawler.request.RecognitionRequest;
 import com.ydtech.modules.order.entity.crawler.response.RecognitionResponse;
+import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
@@ -734,8 +737,22 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
                 if (iac.getOrderstatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
                     buildCallBackStatus(iac, param.getJqstatus());
-                    if (StringUtils.isNotEmpty(param.getBizPolicyNo())) iac.setSypolicyno(param.getBizPolicyNo());
-                    if (StringUtils.isNotEmpty(param.getCiPolicyNo())) iac.setJqpolicyno(param.getCiPolicyNo());
+                    if (StringUtils.isNotEmpty(param.getBizPolicyNo())) {
+                        iac.setSypolicyno(param.getBizPolicyNo());
+                    }
+
+                    if (StringUtils.isNotEmpty(param.getCiPolicyNo())) {
+                        iac.setJqpolicyno(param.getCiPolicyNo());
+                    }
+
+                    if(StringUtils.isNotEmpty(param.getYwPolicyNo())){
+                        DrivingInsuranceDto drivingInsuranceDto = new DrivingInsuranceDto();
+                        drivingInsuranceDto.setPolicyNumber(param.getYwPolicyNo());
+                        drivingInsuranceDto.setApplicationNumber(param.getYwPolicyAppNo());
+                        JSONArray objects = JSON.parseArray(JSON.toJSONString(Collections.singletonList(drivingInsuranceDto)));
+                        iac.setCrossInsurance(objects);
+                    }
+
 
                 } else {
                     iac = buildCallBack(iac, param);
@@ -800,7 +817,25 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
         // 获取协议配置信息
         YcConfigureParameters ycConfigureParameters = gainYcConfigParams(iac.getAgreementId());
-        String policyNo = policyPrintVo.getRiskCode().equals("0507") ? iac.getJqpolicyno() : iac.getSypolicyno();
+
+        String policyNo;
+
+        switch (policyPrintVo.getRiskCode()) {
+            case InsuranceRisk.TRAFFIC_CODE:
+                policyNo = iac.getJqapplyno();
+                break;
+
+            case InsuranceRisk.BUSINESS_CODE:
+                policyNo = iac.getSyapplyno();
+                break;
+
+            case InsuranceRisk.ACCIDENT_CODE:
+                policyNo = policyPrintVo.getPolicyNumber();
+                break;
+            default:
+                throw new SystemException("保险编号异常");
+        }
+
         //组装参数
         Policy p = Policy.buildPolicyParam(policyNo, ycConfigureParameters.gainAuthorityDataXml());
         //接口请求
@@ -1093,7 +1128,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
     public HttpResult callBackApi(CallBackRequest param) {
         //成功
         if (param.getResult().equals("0")) {
-            LambdaQueryWrapper<InsAreaCompany> lqw = new LambdaQueryWrapper();
+            LambdaQueryWrapper<InsAreaCompany> lqw = new LambdaQueryWrapper<>();
             //交强投保单号查询
             lqw.eq(StringUtils.isNotEmpty(param.getCiPolicyAppNo()), InsAreaCompany::getJqapplyno, param.getCiPolicyAppNo());
             //商业投保单号查询
@@ -1101,8 +1136,12 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
             InsAreaCompany iac = insAreaCompanyService.getOne(lqw);
 
             if (null != iac) {
-                if (StringUtils.isNotEmpty(param.getBizPolicyNo())) iac.setSypolicyno(param.getBizPolicyNo());
-                if (StringUtils.isNotEmpty(param.getCiPolicyNo())) iac.setJqpolicyno(param.getCiPolicyNo());
+                if (StringUtils.isNotEmpty(param.getBizPolicyNo())) {
+                    iac.setSypolicyno(param.getBizPolicyNo());
+                }
+                if (StringUtils.isNotEmpty(param.getCiPolicyNo())) {
+                    iac.setJqpolicyno(param.getCiPolicyNo());
+                }
 
                 iac = buildCallBack(iac, param);