|
@@ -10,6 +10,7 @@ import com.jzg.commons.core.page.HttpResult;
|
|
|
import com.jzg.commons.entity.orders.po.*;
|
|
import com.jzg.commons.entity.orders.po.*;
|
|
|
import com.jzg.commons.entity.po.EsmInsCompany;
|
|
import com.jzg.commons.entity.po.EsmInsCompany;
|
|
|
import com.jzg.commons.entity.po.PtlAgreement;
|
|
import com.jzg.commons.entity.po.PtlAgreement;
|
|
|
|
|
+import com.jzg.commons.entity.vo.PersonAreaVo;
|
|
|
import com.jzg.commons.util.AssertionUtils;
|
|
import com.jzg.commons.util.AssertionUtils;
|
|
|
import com.jzg.quotation.commons.client.OrgClient;
|
|
import com.jzg.quotation.commons.client.OrgClient;
|
|
|
import com.jzg.quotation.commons.client.PlatformClient;
|
|
import com.jzg.quotation.commons.client.PlatformClient;
|
|
@@ -22,6 +23,7 @@ import com.jzg.quotation.summary.converter.QuoteInfoConverter;
|
|
|
import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
|
|
import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
|
|
|
import com.jzg.quotation.summary.factory.CompanyFactory;
|
|
import com.jzg.quotation.summary.factory.CompanyFactory;
|
|
|
import com.jzg.quotation.summary.service.*;
|
|
import com.jzg.quotation.summary.service.*;
|
|
|
|
|
+import com.jzg.quotation.summary.state.listener.OrderStateListener;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
@@ -84,6 +86,9 @@ public class UnifyOrderManager {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
InsTaskImagesService insTaskImagesService;
|
|
InsTaskImagesService insTaskImagesService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ OrderStateListener orderStateListener;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取报价号
|
|
* 获取报价号
|
|
@@ -155,6 +160,9 @@ public class UnifyOrderManager {
|
|
|
QuoteInfoConverter.converterKindInfoVo(quoteVo.getKindInfoVo(), quoteKindMappingMap.get(QuoteRuleCategory.KIND.getCode()));
|
|
QuoteInfoConverter.converterKindInfoVo(quoteVo.getKindInfoVo(), quoteKindMappingMap.get(QuoteRuleCategory.KIND.getCode()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //更新用户的区划code
|
|
|
|
|
+ setUserAreaCode(quoteVo);
|
|
|
|
|
+
|
|
|
// 生成订单
|
|
// 生成订单
|
|
|
String ordersNo = insOrdersService.generateOrders(quoteVo,companyName);
|
|
String ordersNo = insOrdersService.generateOrders(quoteVo,companyName);
|
|
|
|
|
|
|
@@ -165,17 +173,42 @@ public class UnifyOrderManager {
|
|
|
quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
|
|
quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
|
|
|
quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
|
|
quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
|
|
|
quoteResultsVo.setOrdersNo(ordersNo);
|
|
quoteResultsVo.setOrdersNo(ordersNo);
|
|
|
- //如果报价成功则更新订单
|
|
|
|
|
- if(quoteResultsVo.isQuoteStatus()) {
|
|
|
|
|
- // 报价后更新订单
|
|
|
|
|
- insOrdersService.orderAfterUpdateQuote(ordersNo, quoteResultsVo);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 报价后更新订单
|
|
|
|
|
+ insOrdersService.orderAfterUpdateQuote(ordersNo, quoteResultsVo);
|
|
|
|
|
|
|
|
return quoteResultsVo.isQuoteStatus() ? HttpResult.ok(quoteResultsVo) : HttpResult.error(quoteResultsVo.getErrorMessage());
|
|
return quoteResultsVo.isQuoteStatus() ? HttpResult.ok(quoteResultsVo) : HttpResult.error(quoteResultsVo.getErrorMessage());
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ public void setUserAreaCode(QuoteVo quoteVo){
|
|
|
|
|
+ HttpResult<PersonAreaVo> ownerAddress = orgClient.queryByAddress(
|
|
|
|
|
+ quoteVo.getOwnersInfo().getAddr(), quoteVo.getOwnersInfo().getIdentifyNumber());
|
|
|
|
|
+
|
|
|
|
|
+ HttpResult<PersonAreaVo> insuredAddress = quoteVo.getOwnersInfo().getIdentifyNumber()
|
|
|
|
|
+ .equals(quoteVo.getInsuredPersonInfo().getIdentifyNumber())
|
|
|
|
|
+ ? ownerAddress
|
|
|
|
|
+ : orgClient.queryByAddress(quoteVo.getInsuredPersonInfo().getAddr(), quoteVo.getInsuredPersonInfo().getIdentifyNumber());
|
|
|
|
|
+
|
|
|
|
|
+ HttpResult<PersonAreaVo> policyAddress = quoteVo.getPolicyHolderInfo().getIdentifyNumber()
|
|
|
|
|
+ .equals(quoteVo.getOwnersInfo().getIdentifyNumber())
|
|
|
|
|
+ ? ownerAddress
|
|
|
|
|
+ : quoteVo.getPolicyHolderInfo().getIdentifyNumber().equals(quoteVo.getInsuredPersonInfo().getIdentifyNumber())
|
|
|
|
|
+ ? insuredAddress
|
|
|
|
|
+ : orgClient.queryByAddress(quoteVo.getPolicyHolderInfo().getAddr(), quoteVo.getPolicyHolderInfo().getIdentifyNumber());
|
|
|
|
|
+
|
|
|
|
|
+ quoteVo.getOwnersInfo().setProvinceCode(ownerAddress.getData().getProvinceCode());
|
|
|
|
|
+ quoteVo.getOwnersInfo().setCityCode(ownerAddress.getData().getCityCode());
|
|
|
|
|
+ quoteVo.getOwnersInfo().setCountyCode(ownerAddress.getData().getCountyCode());
|
|
|
|
|
+ quoteVo.getInsuredPersonInfo().setProvinceCode(insuredAddress.getData().getProvinceCode());
|
|
|
|
|
+ quoteVo.getInsuredPersonInfo().setCityCode(insuredAddress.getData().getCityCode());
|
|
|
|
|
+ quoteVo.getInsuredPersonInfo().setCountyCode(insuredAddress.getData().getCountyCode());
|
|
|
|
|
+ quoteVo.getPolicyHolderInfo().setProvinceCode(policyAddress.getData().getProvinceCode());
|
|
|
|
|
+ quoteVo.getPolicyHolderInfo().setCityCode(policyAddress.getData().getCityCode());
|
|
|
|
|
+ quoteVo.getPolicyHolderInfo().setCountyCode(policyAddress.getData().getCountyCode());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Operation(summary = "统一核保")
|
|
@Operation(summary = "统一核保")
|
|
|
@PostMapping("/underwriting")
|
|
@PostMapping("/underwriting")
|
|
|
public HttpResult underwriting(@RequestBody UnderwritingVo underwritingVo) throws JsonProcessingException {
|
|
public HttpResult underwriting(@RequestBody UnderwritingVo underwritingVo) throws JsonProcessingException {
|
|
@@ -190,15 +223,16 @@ public class UnifyOrderManager {
|
|
|
List<InsOrdersRisk> riskList = insOrdersRiskService.list(new LambdaQueryWrapper<InsOrdersRisk>()
|
|
List<InsOrdersRisk> riskList = insOrdersRiskService.list(new LambdaQueryWrapper<InsOrdersRisk>()
|
|
|
.eq(InsOrdersRisk::getOrderNo, insOrders.getId()));
|
|
.eq(InsOrdersRisk::getOrderNo, insOrders.getId()));
|
|
|
|
|
|
|
|
|
|
+ InsOrdersPolicy insOrdersPolicy = insOrdersPolicyService.getById(insOrders.getId());
|
|
|
|
|
+
|
|
|
underwritingVo.setInsOrders(insOrders);
|
|
underwritingVo.setInsOrders(insOrders);
|
|
|
underwritingVo.setInsOrdersCarInfo(insOrdersCarInfo);
|
|
underwritingVo.setInsOrdersCarInfo(insOrdersCarInfo);
|
|
|
underwritingVo.setInsOrdersCarUserInfoList(insOrdersCarUserInfos);
|
|
underwritingVo.setInsOrdersCarUserInfoList(insOrdersCarUserInfos);
|
|
|
underwritingVo.setInsOrdersRiskList(riskList);
|
|
underwritingVo.setInsOrdersRiskList(riskList);
|
|
|
|
|
+ underwritingVo.setPolicy(insOrdersPolicy);
|
|
|
|
|
|
|
|
UnderwritingResultsVo underwritingResultsVo = quoteService.underwriting(underwritingVo);
|
|
UnderwritingResultsVo underwritingResultsVo = quoteService.underwriting(underwritingVo);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
// 保存核保结果
|
|
// 保存核保结果
|
|
|
insOrdersService.orderAfterUpdateUnderwriting(underwritingResultsVo);
|
|
insOrdersService.orderAfterUpdateUnderwriting(underwritingResultsVo);
|
|
|
|
|
|