Procházet zdrojové kódy

大家返回赔付率、评分

785834757 před 2 roky
rodič
revize
18f8c0642a

+ 18 - 3
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1008Request.java

@@ -401,10 +401,20 @@ public class ODR1008Request extends DaJiaBaseRequest {
             private String vehicleOwnerTBirthday;
             @JsonProperty("vehicleOwnerTExpiredDate")
             private String vehicleOwnerTExpiredDate;
+
+            @JsonProperty("vehicleOwnerProvince")
+            private String vehicleOwnerProvince;
+            @JsonProperty("vehicleOwnerCity")
+            private String vehicleOwnerCity;
+            @JsonProperty("vehicleOwnerCounty")
+            private String vehicleOwnerCounty;
+            @JsonProperty("vehicleOwnerSuffixAddr")
+            private String vehicleOwnerSuffixAddr;
+
         }
     }
 
-    public ODR1008Request(String orderNo, String busiId, BaseQuoteInfoVo quoteInfoVo, DaJiaConfigureParameters daJiaConfigureParameters, ODR2009Response odr2009Response, PersonAreaVo policyHolderPersonArea,PersonAreaVo insuredPersonArea){
+    public ODR1008Request(String orderNo, String busiId, BaseQuoteInfoVo quoteInfoVo, DaJiaConfigureParameters daJiaConfigureParameters, ODR2009Response odr2009Response, PersonAreaVo policyHolderPersonArea,PersonAreaVo insuredPersonArea,PersonAreaVo ownerPersonArea){
         super(daJiaConfigureParameters.getChannelCode(), ServiceCode.ODR1008.getCode());
         if(Objects.isNull(body))
         {
@@ -412,7 +422,7 @@ public class ODR1008Request extends DaJiaBaseRequest {
         }
         this.body.setOrderNo(orderNo);
         //设置车主信息
-        setVehicleOwnerInfo(quoteInfoVo);
+        setVehicleOwnerInfo(quoteInfoVo,ownerPersonArea);
         //设置投保人信息
         setApplicantInfo(quoteInfoVo,policyHolderPersonArea);
         //设置被保人信息
@@ -444,7 +454,7 @@ public class ODR1008Request extends DaJiaBaseRequest {
     }
 
     //设置车主信息
-    public void setVehicleOwnerInfo(BaseQuoteInfoVo quoteInfoVo){
+    public void setVehicleOwnerInfo(BaseQuoteInfoVo quoteInfoVo,PersonAreaVo OwnerPersonArea){
         BodyDTO.VehicleOwnerInfoDTO vehicleOwnerInfoDTO = new BodyDTO.VehicleOwnerInfoDTO();
         //设置证件号码
         vehicleOwnerInfoDTO.setVehicleOwnerCCertfCde(quoteInfoVo.getOwnerInfo().getIdentifyNumber());
@@ -480,6 +490,11 @@ public class ODR1008Request extends DaJiaBaseRequest {
         vehicleOwnerInfoDTO.setVehicleOwnerCCountry(1);
         //单位性质 默认为9 其他
         vehicleOwnerInfoDTO.setVehicleOwnerCWorkdptKind(9);
+
+        vehicleOwnerInfoDTO.setVehicleOwnerProvince(OwnerPersonArea.getProvinceCode());
+        vehicleOwnerInfoDTO.setVehicleOwnerCity(OwnerPersonArea.getCityCode());
+        vehicleOwnerInfoDTO.setVehicleOwnerCounty(OwnerPersonArea.getCountyCode());
+        vehicleOwnerInfoDTO.setVehicleOwnerSuffixAddr(quoteInfoVo.getOwnerInfo().getAddr());
         this.body.setVehicleOwnerInfo(vehicleOwnerInfoDTO);
     }
 

+ 1 - 0
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1009Request.java

@@ -122,6 +122,7 @@ public class ODR1009Request extends DaJiaBaseRequest {
         basePartReqDTO.setFinType("10");//默认是10  二维码收款
         //协商实际价值
         basePartReqDTO.setConsultPurchaseValue(odr1016Response.getResult().getActualValue());
+        //大家测试使用
         basePartReqDTO.setRemark("【分公司特批:测试服务使用】");
         this.body.setBasePartReq(basePartReqDTO);
     }

+ 20 - 15
src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java

@@ -1,25 +1,20 @@
 package com.ydtech.modules.order.service.impl;
 
-import cn.hutool.core.util.ArrayUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
-import com.ydtech.modules.admin.model.SysArea;
 import com.ydtech.modules.admin.model.vo.PersonAreaVo;
-import com.ydtech.modules.admin.model.vo.SysAreaVo;
 import com.ydtech.modules.admin.service.SysAreaService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.components.InsImagesUploadCacheComponents;
 import com.ydtech.modules.order.components.dajia.DaJiaRequestApiComponents;
-import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.TaxArrears;
@@ -29,9 +24,7 @@ import com.ydtech.modules.order.entity.api.dajia.constants.CProdNo;
 import com.ydtech.modules.order.entity.api.dajia.constants.Message;
 import com.ydtech.modules.order.entity.api.dajia.request.*;
 import com.ydtech.modules.order.entity.api.dajia.response.*;
-import com.ydtech.modules.order.entity.api.zijin.constants.enums.BusType;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
-import com.ydtech.modules.order.entity.vo.AccidentalDrivingQueryVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
@@ -48,10 +41,11 @@ import com.ydtech.utils.idgen.IdGenerate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestBody;
 
-import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 
@@ -134,10 +128,10 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
     private ODR1008Response ConfirmationVehicleCustomerInformation(String orderNo, String busiId, BaseQuoteInfoVo quoteInfoVo,
                                                                    DaJiaConfigureParameters daJiaConfigureParameters,
                                                                    ODR2009Response odr2009Request, PersonAreaVo policyHolderPersonArea,
-                                                                   PersonAreaVo insuredPersonArea) throws Exception {
+                                                                   PersonAreaVo insuredPersonArea,PersonAreaVo ownerPersonArea) throws Exception {
 
         ODR1008Request odr1008Request = new ODR1008Request(orderNo, busiId, quoteInfoVo, daJiaConfigureParameters, odr2009Request,
-                policyHolderPersonArea, insuredPersonArea);
+                policyHolderPersonArea, insuredPersonArea,ownerPersonArea);
         ODR1008Response odr1008Response = daJiaRequestApiComponents.carOrCustomInfoConfirm(odr1008Request);
         if (odr1008Response.getStatus().equals(Message.M0000.getCode())) {
             //车辆与客户信息确认返回
@@ -161,6 +155,10 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
             configureParametersComponents.toEntity(daJiaConfigureParameters, t.getAgreementId());
             PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(t.getAgreementId());
 
+            //车主区划信息
+            PersonAreaVo ownerPersonArea = sysAreaService.queryByAddress(quoteInfoVo.getOwnerInfo().getAddr(),
+                    quoteInfoVo.getOwnerInfo().getIdentifyNumber());
+
             //投保人区划信息
             PersonAreaVo policyHolderPersonArea = sysAreaService.queryByAddress(quoteInfoVo.getPolicyHolderInfo().getAddr(),
                     quoteInfoVo.getPolicyHolderInfo().getIdentifyNumber());
@@ -185,7 +183,7 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
 
             // 3.车辆与客户信息确认
             ODR1008Response odr1008Response = ConfirmationVehicleCustomerInformation(orderNo, busiId, quoteInfoVo,
-                    daJiaConfigureParameters, odr2009Response, policyHolderPersonArea, insuredPersonArea);
+                    daJiaConfigureParameters, odr2009Response, policyHolderPersonArea, insuredPersonArea,ownerPersonArea);
             if (!odr1008Response.getStatus().equals(Message.M0000.getCode())) {
                 return HttpResult.error("车辆与客户信息确认接口失败");
             }
@@ -349,14 +347,21 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
         if(odr1009Response.getResult().getBasePart().getJqEffectiveDate() != null) {
             quoteRespVo.setStartDateJq(String.valueOf(odr1009Response.getResult().getBasePart().getJqEffectiveDate()));
             quoteRespVo.setEndDateJq(String.valueOf(odr1009Response.getResult().getBasePart().getJqExpireDate()));
+            quoteRespVo.setJqScore(String.valueOf(odr1009Response.getResult().getRiskRatio().getJqPubScores()));
+            quoteRespVo.setJqLossRation(odr1009Response.getResult().getRiskRatio().getBillCTPELR());
         }
 
         // 商业
         if(odr1009Response.getResult().getBasePart().getSyEffectiveDate() != null){
             quoteRespVo.setStartDateSy(odr1009Response.getResult().getBasePart().getSyEffectiveDate());
             quoteRespVo.setEndDateSy(odr1009Response.getResult().getBasePart().getSyExpireDate());
+            quoteRespVo.setSyScore(odr1009Response.getResult().getRiskRatio().getSyPubScores());
+            quoteRespVo.setSyLossRation(odr1009Response.getResult().getRiskRatio().getBillCOMELR());
         }
 
+        //整单预期赔付率
+        quoteRespVo.setLossRation(odr1009Response.getResult().getRiskRatio().getBillELR());
+
 
         List<QuoteKindRespVo> kindList = new ArrayList<>();
         //  报价险种放入保费
@@ -463,7 +468,7 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
             DaJiaConfigureParameters daJiaConfigureParameters = new DaJiaConfigureParameters();
             configureParametersComponents.toEntity(daJiaConfigureParameters, insAreaCompany.getAgreementId());
             //先进行影像提交
-            submitImage(companyId);
+//            submitImage(companyId);
 
             //1009返回数据
             ODR1009Response.ResultDTO resultDTO = JSONObject.parseObject(
@@ -786,7 +791,7 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
 
     private String gainCarInsPolicy(String url, String fileName, String licensePlate) {
         String dir = "carInsPolicy/" + licensePlate + "/";
-        url = url.replaceAll("http://","https://");
+//        url = url.replaceAll("http://","https://");
         return FileUtil.netUrlToFile(url, dir, fileName, uploadFilePath, apiUrl + showFileUrl);
     }