|
|
@@ -1,6 +1,7 @@
|
|
|
package com.ydtech.modules.order.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
@@ -139,7 +140,9 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
|
|
|
currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
|
|
|
QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest, parameters.getSysSourceCode());
|
|
|
- return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo);
|
|
|
+ List<BoHaiQuoteAccidentVo> accidentalDrivingVo = quoteVo.getAccidentalDrivingVo();
|
|
|
+
|
|
|
+ return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -180,18 +183,28 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
UnderwritingRequest underwritingRequest = new UnderwritingRequest(parameters, insAreaCompany.getId());
|
|
|
UnderwritingResponse underwritingResponse = boHaiRequestApiComponent.underwriting(underwritingRequest,
|
|
|
parameters.getSysSourceCode());
|
|
|
- int i = underwritingResponse.getData().verificationUnderwriting();
|
|
|
+ UnderwritingResponse.DataDTO data = underwritingResponse.getData();
|
|
|
+ int i = data.verificationUnderwriting();
|
|
|
// 交强
|
|
|
- UnderwritingResponse.DataDTO.TrafficPolicyDTO trafficPolicy = underwritingResponse.getData().getTrafficPolicy();
|
|
|
+ UnderwritingResponse.DataDTO.TrafficPolicyDTO trafficPolicy = data.getTrafficPolicy();
|
|
|
if (!ObjectUtils.isEmpty(trafficPolicy)) {
|
|
|
insAreaCompany.setJqapplyno(trafficPolicy.getApplicationNo());
|
|
|
}
|
|
|
// 商业
|
|
|
- UnderwritingResponse.DataDTO.BusinessPolicyDTO businessPolicy = underwritingResponse.getData().getBusinessPolicy();
|
|
|
+ UnderwritingResponse.DataDTO.BusinessPolicyDTO businessPolicy = data.getBusinessPolicy();
|
|
|
if (!ObjectUtils.isEmpty(businessPolicy)) {
|
|
|
insAreaCompany.setSyapplyno(businessPolicy.getApplicationNo());
|
|
|
}
|
|
|
|
|
|
+ // 将驾意险保存起来
|
|
|
+ List<UnderwritingResponse.DataDTO.UnAutoPolicyDTO> policyDTOS = new ArrayList<>();
|
|
|
+ List<UnderwritingResponse.DataDTO.UnAutoPolicyDTO> casualtyPolicies = data.getCasualtyPolicies();
|
|
|
+ policyDTOS.addAll(casualtyPolicies);
|
|
|
+ List<UnderwritingResponse.DataDTO.UnAutoPolicyDTO> propertyPolicies = data.getPropertyPolicies();
|
|
|
+ policyDTOS.addAll(propertyPolicies);
|
|
|
+ JSONArray objects = JSON.parseArray(JSON.toJSONString(policyDTOS));
|
|
|
+ insAreaCompany.setCrossInsurance(objects);
|
|
|
+
|
|
|
if (i == 1) {
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
|
|
|
// 支付请求
|
|
|
@@ -206,9 +219,8 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
} else {
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
|
|
|
}
|
|
|
-
|
|
|
- String trafficResultMsg = underwritingResponse.getData().getTrafficResultMsg();
|
|
|
- String businessResultMsg = underwritingResponse.getData().getBusinessResultMsg();
|
|
|
+ String trafficResultMsg = data.getTrafficResultMsg();
|
|
|
+ String businessResultMsg = data.getBusinessResultMsg();
|
|
|
insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
return HttpResult.error(trafficResultMsg + "/n" + businessResultMsg);
|
|
|
}
|
|
|
@@ -379,8 +391,8 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
BaseQuoteInfoVo yaQuoteInfoVo,
|
|
|
VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO,
|
|
|
PtlAgreementAttribution ptlAgreementAttribution,
|
|
|
- String orderNo
|
|
|
- ) {
|
|
|
+ String orderNo,
|
|
|
+ List<BoHaiQuoteAccidentVo> accidentalDrivingVo) {
|
|
|
|
|
|
double sumPayTax = 0;
|
|
|
double jqPremium = 0;
|
|
|
@@ -397,7 +409,6 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
// 交强
|
|
|
quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
|
|
|
quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
|
|
|
- quoteRespVo.setJqApplyNo(trafficPolicy.getApplicationNo());
|
|
|
// 商业险
|
|
|
QuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = response.getData().getBusinessPolicy();
|
|
|
List<QuoteKindRespVo> kindList1 = new ArrayList<>();
|
|
|
@@ -455,13 +466,14 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
quoteRespVo.setTotalAdjustRate(0);
|
|
|
quoteRespVo.setOrderno(yaQuoteInfoVo.getOrderNo()); //订单号
|
|
|
quoteRespVo.setCoreModels(vehicleModelsDTO.toCoreModelsVo());
|
|
|
- return responseOrder(response, quoteRespVo, ptlAgreementAttribution, orderNo);
|
|
|
+ return responseOrder(response, quoteRespVo, ptlAgreementAttribution, orderNo, accidentalDrivingVo);
|
|
|
}
|
|
|
|
|
|
public HttpResult<QuoteRespVo> responseOrder(QuotationResponse response,
|
|
|
QuoteRespVo quoteRespVo,
|
|
|
PtlAgreementAttribution ptlAgreementAttribution,
|
|
|
- String orderId) {
|
|
|
+ String orderId,
|
|
|
+ List<BoHaiQuoteAccidentVo> accidentalDrivingVo) {
|
|
|
// 保存订单信息
|
|
|
InsAreaCompany insAreaCompany = new InsAreaCompany(quoteRespVo, ptlAgreementAttribution);
|
|
|
|
|
|
@@ -471,6 +483,8 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
|
|
|
insAreaCompany.setReptxt(JSON.parseObject(JSON.toJSONString(response)));
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
|
|
|
insAreaCompany.setInsOrderNo(busUniqueId);
|
|
|
+ // 驾意险
|
|
|
+ insAreaCompany.setAccidentInfo(JSON.parseArray(JSON.toJSONString(accidentalDrivingVo)));
|
|
|
// 车船税
|
|
|
QuotationResponse.DataDTO.TrafficPolicyDTO.VehicleTaxDTO vehicleTax = response.getData().getTrafficPolicy().getVehicleTax();
|
|
|
TaxArrears taxArrears = new TaxArrears("往年欠税", Double.parseDouble(vehicleTax.getOverdueTaxAmount()),
|