|
|
@@ -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);
|
|
|
}
|
|
|
|