Procházet zdrojové kódy

1.修改承保公司代码

wks před 2 roky
rodič
revize
f153c3b58f

+ 11 - 0
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -48,6 +48,17 @@ public class InsOrders implements Serializable {
     @TableField(value = "quoteno")
     private String quoteno;
 
+    /**
+     * 承保 保险公司编号
+     */
+    @TableField(value = "company_id")
+    private String companyId;
+    /**
+     * 承保 保险名称
+     */
+    @TableField(value = "ins_company")
+    private String insCompany;
+
     /**
      * 报价状态
      */

+ 2 - 4
src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java

@@ -276,8 +276,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
         } else {
             return HttpResult.error("核保操作失败,状态:" + InsOrderStatusEnum.matchKey(iac.getOrderstatus()).getDesc());
         }
-        insAreaCompanyService.updateById(iac);
-        insOrdersService.updateByOrderStatus(order.getOrderno(), order.getOrderstatus());
+        insAreaCompanyService.updateCompanyAndOrders(iac);
         log.debug("----------核保结束,订单号:{}---------", quoteOrderNo);
         return HttpResult.ok();
     }
@@ -501,8 +500,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
                     order.setOrderstatus(iac.getOrderstatus());
                 }
 
-                insAreaCompanyService.updateById(iac);
-                insOrdersService.updateByOrderStatus(order.getOrderno(), order.getOrderstatus());
+                insAreaCompanyService.updateCompanyAndOrders(iac);
                 return HttpResult.ok("承保");
 
             }

+ 9 - 3
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -3,7 +3,6 @@ package com.ydtech.modules.order.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.page.PageMethod;
@@ -102,6 +101,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         InsAreaCompany insAreaCompany = insAreaCompanyService.getOne(wrapper);
         if (!ObjectUtils.isEmpty(insAreaCompany)) {
             InsOrders insOrders = getById(orderNo);
+
+            // 承保设置保险公司
+            if (InsOrderStatusEnum.ACCEPT_INSURANCE.getCode().equals(orderStatus)) {
+                insOrders.setCompanyId(insAreaCompany.getCompanyId());
+                insOrders.setInsCompany(insAreaCompany.getInscompany());
+            }
+
             insOrders.setOrderstatus(insAreaCompany.getOrderstatus());
             updateById(insOrders);
         }
@@ -145,11 +151,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         InsOrders insOrders = new InsOrders(user, dept, quoteInfoVo);
         InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
 
-        if(ObjectUtils.isEmpty(insOrders1)){
+        if (ObjectUtils.isEmpty(insOrders1)) {
             insOrders1 = insOrders;
         }
         // 3 订单操作
-        if (!userId.equals(insOrders1.getUserid()) || StringUtils.isEmpty(quoteInfoVo.getOrderNo())){
+        if (!userId.equals(insOrders1.getUserid()) || StringUtils.isEmpty(quoteInfoVo.getOrderNo())) {
             // 存入订单
             String orderno = IdGenerate.nextId();
             insOrders.setOrderno(orderno);

+ 22 - 59
src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java

@@ -208,10 +208,11 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
     /**
      * 组装参数
+     *
      * @param quoteVo
      * @return
      */
-    private Ruote builderParams(BaseQuoteVo<AccidentalDrivingVo> quoteVo,BaseQuoteInfoVo yaQuoteInfoVo){
+    private Ruote builderParams(BaseQuoteVo<AccidentalDrivingVo> quoteVo, BaseQuoteInfoVo yaQuoteInfoVo) {
         // 获取协议配置信息
         YcConfigureParameters ycConfigureParameters = gainYcConfigParams(quoteVo.getAgreementId());
         CarInfoVo carInfo = yaQuoteInfoVo.getCarInfo();
@@ -229,13 +230,14 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
     /**
      * 递归获取报价请求结果
+     *
      * @param m
      * @param vinNo
      * @return
      * @throws JsonProcessingException
      */
-    private RuoteResponse getResponse(Ruote m,String vinNo) throws JsonProcessingException {
-        Boolean boo = false;
+    private RuoteResponse getResponse(Ruote m, String vinNo) throws JsonProcessingException {
+        boolean boo = false;
         boolean isBiRepeat = true;
         RuoteResponse rr = yongchengRequestApiComponents.newPremiumXnyCalculation(m);
         //交强
@@ -253,14 +255,14 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         boo = ciRepetitionInsure(rr, m);
         if (!boo) {
             InsuranceLog.infoLog(InsuranceEnum.AICS.getPinyin(), "\n\n---------> {} - 交强险重复投保处理", vinNo);
-            rr = this.getResponse(m,vinNo);
+            rr = this.getResponse(m, vinNo);
         }
 
         //2、转保处理
         boo = reinsurance(rr, m);
         if (!boo) {
             InsuranceLog.infoLog(InsuranceEnum.AICS.getPinyin(), "\n\n---------> {} - 转保处理", vinNo);
-            rr = this.getResponse(m,vinNo);
+            rr = this.getResponse(m, vinNo);
         }
 
         if (isBiRepeat) {
@@ -268,7 +270,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
             boo = biRepetitionInsure(rr, m);
             if (!boo) {
                 InsuranceLog.infoLog(InsuranceEnum.AICS.getPinyin(), "\n\n---------> {} - 商业险日期处理", vinNo);
-                rr = this.getResponse(m,vinNo);
+                rr = this.getResponse(m, vinNo);
             }
         }
 
@@ -282,6 +284,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
     /**
      * 获取错误信息
+     *
      * @param rr
      * @return
      */
@@ -311,10 +314,10 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         BaseQuoteInfoVo yaQuoteInfoVo = insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo());
 
         //build参数
-        Ruote m = this.builderParams(quoteVo,yaQuoteInfoVo);
+        Ruote m = this.builderParams(quoteVo, yaQuoteInfoVo);
 
         //递归报价
-        RuoteResponse rr = this.getResponse(m,yaQuoteInfoVo.getCarInfo().getVinNo());
+        RuoteResponse rr = this.getResponse(m, yaQuoteInfoVo.getCarInfo().getVinNo());
 
         //错误信息
         StringBuilder errorInfo = this.getErrorInfo(rr);
@@ -332,14 +335,13 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
         QuoteRespVo quoteRespVo = YcBuildData.buildQuoteRespVo(order, rr, yaQuoteInfoVo);
         //8 生成订单
-        InsAreaCompany iac = response_order(order, quoteRespVo, m, rr, quoteVo);
+        InsAreaCompany iac = responseOrder(order, quoteRespVo, m, rr, quoteVo);
         quoteRespVo.setCompanyId(iac.getId());
-
         order.setOwnerinfo(JSON.parseObject(JSON.toJSONString(yaQuoteInfoVo.getOwnerInfo())));
         order.setInsureinfo(JSON.parseObject(JSON.toJSONString(yaQuoteInfoVo.getInsuredPersonInfo())));
         order.setApplyinfo(JSON.parseObject(JSON.toJSONString(yaQuoteInfoVo.getPolicyHolderInfo())));
-
         insOrdersService.updateById(order);
+
         if (CollUtil.isNotEmpty(requestInfoList)) {
             quoteRespVo.getWarnMessageList().addAll(requestInfoList);
         }
@@ -351,7 +353,6 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
     //endregion
 
 
-
     /**
      * 报价  交强险 重复 投保业务处理
      */
@@ -484,24 +485,19 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                 if (StringUtils.isNotEmpty(cCheckCodeSY)) {
                     recognitionRequest.setSyImage(cCheckCodeSY);
                 }
-
                 RecognitionResponse recognition = verificationCodeIdentification.recognition(recognitionRequest);
-
                 m.getRequestLabel().getCondition().getVhl().setCBusType("2");
                 RecognitionResponse.Code data = recognition.getData();
-
                 //交强
                 if (StringUtils.isNotEmpty(cCheckCodeJQ)) {
                     m.getRequestLabel().getCondition().getVhl().setCCheckCodeJQ(data.getJqImageCode());
                     m.getRequestLabel().getCondition().getVhl().setCQryCdeJQ(rr.getVhl().getCQryCdeJQ());
                 }
-
                 //商业
                 if (StringUtils.isNotEmpty(cCheckCodeSY)) {
                     m.getRequestLabel().getCondition().getVhl().setCCheckCodeSY(data.getSyImageCode());
                     m.getRequestLabel().getCondition().getVhl().setCQryCdeSY(rr.getVhl().getCQryCdeSY());
                 }
-
                 return false;
 
             }
@@ -560,8 +556,6 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                 } else if (statusJq.equals("9") || statusSy.equals("9")) {
                     iac.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
                 }
-                //构造订单状态
-                buildOrderStatus(order, iac);
 
             } else {
                 throw new SystemException("核保失败,车牌号:" + order.getLicenseno() + " ," + rd.getResponseHead().getReturnMessage());
@@ -580,8 +574,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                 getPayUrlApi(iac);
             }
             log.info("车牌号:" + order.getLicenseno() + ",永诚核保未获取缴费地址,状态为:" + InsOrderStatusEnum.matchKey(iac.getOrderstatus()).getDesc());
-            insAreaCompanyService.updateById(iac);
-            insOrdersService.updateById(order);
+            insAreaCompanyService.updateCompanyAndOrders(iac);
             return HttpResult.ok("核保操作成功");
 
         } catch (JsonProcessingException jsonProcessingException) {
@@ -698,15 +691,9 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                 StringBuffer sss = new StringBuffer();
                 sss.append("变更前订单状态:" + order.getOrderstatus());
                 sss.append("变更前子订单状态:" + iac.getOrderstatus());
-
-                //构造订单状态
-                buildOrderStatus(order, iac);
-
                 sss.append("变更后订单状态:" + order.getOrderstatus());
                 log.info("-----------订单状态变动----------:" + sss);
-
-                insAreaCompanyService.updateById(iac);
-                insOrdersService.updateById(order);
+                insAreaCompanyService.updateCompanyAndOrders(iac);
 
             } else {
                 //失败原因
@@ -732,9 +719,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         List<InsAreaCompany> list = insAreaCompanyService.list(lqw);
 
         if (null != list && !list.isEmpty()) {
-            list.forEach(a -> {
-                callbackAnOrder(a.getId());
-            });
+            list.forEach(a -> callbackAnOrder(a.getId()));
         }
     }
 
@@ -916,7 +901,6 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
             }
         }
 
-
         //查询接口
         List<EsmInsAttachInsure> insAttachInsureList = new ArrayList<>();
         AccidentResponse ar = gainAccidentInsure(accidentalDrivingVo, null);
@@ -1037,7 +1021,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
                     AtomicInteger total = new AtomicInteger(0);
                     List<ResponseYwCvrg.CvrgList> cListDetails = arCode.getResponseYwCvrg().getCvrgList();
-                    cListDetails.stream().forEach(d -> {
+                    cListDetails.forEach(d -> {
 
                         EsmInsAttachInsureDetails atiDetails = new EsmInsAttachInsureDetails();
                         atiDetails.setAttachInsureId(ati.getId());
@@ -1103,8 +1087,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
                     order.setOrderstatus(iac.getOrderstatus());
                 }
 
-                insAreaCompanyService.updateById(iac);
-                insOrdersService.updateByOrderStatus(order.getOrderno(), order.getOrderstatus());
+                insAreaCompanyService.updateCompanyAndOrders(iac);
 
                 //支付后 手工确认意外险
             } else {
@@ -1147,8 +1130,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
      * @author: lig
      * @date: 2023年02月16日 0016
      */
-    private InsAreaCompany response_order(InsOrders insOrder, QuoteRespVo quoteRespVo, Ruote requestData, RuoteResponse responseData, BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
-
+    private InsAreaCompany responseOrder(InsOrders insOrder, QuoteRespVo quoteRespVo, Ruote requestData, RuoteResponse responseData, BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
         //交强保费 含税
         double jqPremium = StringUtils.toDouble(responseData.getBase().getNBefTaxPrmJQ()) + StringUtils.toDouble(responseData.getBase().getNAppTaxAmtJQ());
         //商业保费 含税
@@ -1163,14 +1145,14 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
 
         EsmInsCompany eic = esmInsCompanyService.getById(quoteVo.getCompanyId());
 
-        boolean jq_falg = jqPremium > 0;
+        boolean jqFalg = jqPremium > 0;
         //保存订单信息
         InsAreaCompany insAreaCompany = new InsAreaCompany();
         insAreaCompany.setOrderno(insOrder.getOrderno());
         insAreaCompany.setReptxt(JSON.parseObject(JSON.toJSONString(responseData)));
-        insAreaCompany.setJqpremium(BigDecimal.valueOf(jq_falg ? jqPremium : 0));
+        insAreaCompany.setJqpremium(BigDecimal.valueOf(jqFalg ? jqPremium : 0));
         insAreaCompany.setSypremium(BigDecimal.valueOf(syPremium));
-        insAreaCompany.setTaxamount(BigDecimal.valueOf(jq_falg ? quoteRespVo.getTaxAmount() : 0));
+        insAreaCompany.setTaxamount(BigDecimal.valueOf(jqFalg ? quoteRespVo.getTaxAmount() : 0));
         insAreaCompany.setSumpremium(BigDecimal.valueOf(quoteRespVo.getSumPermium()));
         insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
 
@@ -1492,25 +1474,6 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         return FileUtil.fileExist(dir, fileName, uploadFilePath, apiUrl + showFileUrl);
     }
 
-    private void buildOrderStatus(InsOrders order, InsAreaCompany iac) {
-
-        String iacStatus = iac.getOrderstatus();
-        String orderStatus = order.getOrderstatus();
-        if (orderStatus.equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) return;
-
-        if (iacStatus.equals(InsOrderStatusEnum.WAIT_PAY.getCode()) && orderStatus.equals(InsOrderStatusEnum.WAIT_AUDIT.getCode())) {
-            order.setOrderstatus(iac.getOrderstatus());
-        } else if (iacStatus.equals(InsOrderStatusEnum.WAIT_AUDIT.getCode()) && orderStatus.equals(InsOrderStatusEnum.QUOTE_ING.getCode())) {
-            order.setOrderstatus(iac.getOrderstatus());
-        } else if (iacStatus.equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
-            order.setOrderstatus(iac.getOrderstatus());
-        } else if (iacStatus.equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
-            order.setOrderstatus(iac.getOrderstatus());
-        } else if (iacStatus.equals(InsOrderStatusEnum.TO_BACK.getCode()) && orderStatus.equals(InsOrderStatusEnum.WAIT_AUDIT.getCode())) {
-            order.setOrderstatus(iac.getOrderstatus());
-        }
-
-    }
 
     private void buildCarInfo(CarInfoVo carInfo, ModelsQueryResponse.VehicleInfo vehicleInfo) {
         carInfo.setModelCode(vehicleInfo.getVehicleId());

+ 4 - 0
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -8,6 +8,8 @@
         <id property="orderno" column="orderno" jdbcType="VARCHAR"/>
         <result property="quoteno" column="quoteno" jdbcType="VARCHAR"/>
         <result property="orderstatus" column="orderstatus" jdbcType="VARCHAR"/>
+        <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
+        <result property="insCompany" column="ins_company" jdbcType="VARCHAR"/>
         <result property="carinfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
         <result property="userid" column="userid" jdbcType="VARCHAR"/>
@@ -272,6 +274,8 @@
     <select id="selectByOrderQueryVo" resultMap="BaseResultMap"  parameterType="com.ydtech.modules.order.entity.vo.OrderQueryVo">
         select o.orderno,
         o.quoteno,
+        o.company_id,
+        o.ins_company,
         o.orderstatus,
         o.carinfo,
         o.userid,