|
|
@@ -188,34 +188,38 @@ public class TKQuotationBaseServiceImpl implements TKQuotationBaseService {
|
|
|
// # 车险投保单报价下单
|
|
|
TKEntranceFor000038Result tkEntranceFor000038Result = tkSimpleService.orderSubmit(session, preciseInitResult.getMainOrderId(), insureInfo);
|
|
|
UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
|
|
|
- if (tkEntranceFor000038Result != null) { // 核保通过
|
|
|
- TKOrderData tkOrderData = tkEntranceFor000038Result.getData();
|
|
|
- // 核保成功,保单编号缓存
|
|
|
- redisCacheUtil.setCache(tkOrderData.getProposalNo(), underwritingVo.getOrder().getOrdersNo(), "HB");
|
|
|
- // 保司订单号
|
|
|
- underwritingResultsVo.setCompanyOrderNo(tkOrderData.getProposalNo());
|
|
|
- // 交强险投保单号
|
|
|
- underwritingResultsVo.setJqApplyNo(tkOrderData.getProposalNoCI());
|
|
|
- // 商业险投保单号
|
|
|
- underwritingResultsVo.setSyApplyNo(tkOrderData.getProposalNoBI());
|
|
|
- // 驾意险投保单号
|
|
|
- underwritingResultsVo.setJyApplyNo(tkOrderData.getCarAccident() != null ? tkOrderData.getCarAccident().getProposalNo() : null);
|
|
|
- // 核保结果
|
|
|
- underwritingResultsVo.setUnderwritingResult("核保成功");
|
|
|
- // 核保状态
|
|
|
- underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
- // 验车标志,需要验车,需要上传影像
|
|
|
- if ("1".equals(tkEntranceFor000038Result.getCheckCarFlag()) && "9".equals(tkEntranceFor000038Result.getData().getUnderWriteFlag())) {
|
|
|
- buildCheckCar(tkEntranceFor000038Result, underwritingVo, preciseInitResult, underwritingResultsVo);
|
|
|
- }
|
|
|
- tkCrawlerOrderService.save(underwritingVo, underwritingResultsVo, preciseInitResult.getMainOrderId(), true);
|
|
|
- } else {
|
|
|
- // 核保失败
|
|
|
+ if (tkEntranceFor000038Result == null) {
|
|
|
underwritingResultsVo.setUnderwritingResult("核保失败");
|
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
|
tkCrawlerOrderService.save(underwritingVo, underwritingResultsVo, preciseInitResult.getMainOrderId(), false);
|
|
|
+ return underwritingResultsVo;
|
|
|
}
|
|
|
-
|
|
|
+ // 核保通过
|
|
|
+ TKOrderData tkOrderData = tkEntranceFor000038Result.getData();
|
|
|
+ // 核保成功,保单编号缓存
|
|
|
+ redisCacheUtil.setCache(tkOrderData.getProposalNo(), underwritingVo.getOrder().getOrdersNo(), "HB");
|
|
|
+ // 保司订单号
|
|
|
+ underwritingResultsVo.setCompanyOrderNo(tkOrderData.getProposalNo());
|
|
|
+ // 交强险投保单号
|
|
|
+ underwritingResultsVo.setJqApplyNo(tkOrderData.getProposalNoCI());
|
|
|
+ // 商业险投保单号
|
|
|
+ underwritingResultsVo.setSyApplyNo(tkOrderData.getProposalNoBI());
|
|
|
+ // 驾意险投保单号
|
|
|
+ underwritingResultsVo.setJyApplyNo(tkOrderData.getCarAccident() != null ? tkOrderData.getCarAccident().getProposalNo() : null);
|
|
|
+ // 核保结果
|
|
|
+ underwritingResultsVo.setUnderwritingResult("核保成功");
|
|
|
+ // 核保状态
|
|
|
+ underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
+ // 验车标志,需要验车,需要上传影像
|
|
|
+ if ("1".equals(tkEntranceFor000038Result.getCheckCarFlag()) && "9".equals(tkEntranceFor000038Result.getData().getUnderWriteFlag())) {
|
|
|
+ buildCheckCar(tkEntranceFor000038Result, underwritingVo, preciseInitResult, underwritingResultsVo);
|
|
|
+ }
|
|
|
+ // 人工核保
|
|
|
+ if ("2".equals(tkOrderData.getCarCheckStatus())) {
|
|
|
+ underwritingResultsVo.setUnderwritingResult("人工审核返回:" + tkOrderData.getSpResMsg());
|
|
|
+ underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
|
+ }
|
|
|
+ tkCrawlerOrderService.save(underwritingVo, underwritingResultsVo, preciseInitResult.getMainOrderId(), true);
|
|
|
return underwritingResultsVo;
|
|
|
}
|
|
|
|
|
|
@@ -233,31 +237,31 @@ public class TKQuotationBaseServiceImpl implements TKQuotationBaseService {
|
|
|
* @param preciseInitResult 精准报价结果
|
|
|
* @param underwritingResultsVo 核保结果返回
|
|
|
*/
|
|
|
- private void buildCheckCar(TKEntranceFor000038Result tkEntranceFor000038Result,
|
|
|
- UnderwritingVo underwritingVo,
|
|
|
- PreciseInitResult preciseInitResult,
|
|
|
+ private void buildCheckCar(TKEntranceFor000038Result tkEntranceFor000038Result,
|
|
|
+ UnderwritingVo underwritingVo,
|
|
|
+ PreciseInitResult preciseInitResult,
|
|
|
UnderwritingResultsVo underwritingResultsVo) {
|
|
|
log.info("========== 开始处理验车上传影像流程 ==========");
|
|
|
|
|
|
try {
|
|
|
// 1. 获取核保返回的保司订单号
|
|
|
String proposalNo = extractProposalNo(tkEntranceFor000038Result, underwritingVo);
|
|
|
-
|
|
|
+
|
|
|
// 2. 从 Redis 获取缓存的影像上传参数(前端提前上传的)
|
|
|
String ordersNo = underwritingVo.getOrder().getOrdersNo();
|
|
|
InsuranceUploadImageVo insuranceUploadImageVo = redisCacheUtil.getImageUploadParam(ordersNo);
|
|
|
|
|
|
// 3. 如果有缓存的影像参数,设置保司订单号并清除缓存
|
|
|
if (insuranceUploadImageVo != null) {
|
|
|
- log.info("从 Redis 获取到缓存的影像上传参数,影像数量: {}",
|
|
|
+ log.info("从 Redis 获取到缓存的影像上传参数,影像数量: {}",
|
|
|
insuranceUploadImageVo.getImageVoList() != null ? insuranceUploadImageVo.getImageVoList().size() : 0);
|
|
|
-
|
|
|
+
|
|
|
// 设置保司订单号(核保成功后已返回)
|
|
|
if (proposalNo != null) {
|
|
|
insuranceUploadImageVo.getOrder().setCompanyOrderNo(proposalNo);
|
|
|
log.info("已为缓存的影像上传参数设置保司订单号: {}", proposalNo);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 删除 Redis 中的缓存(已使用,不再需要)
|
|
|
redisCacheUtil.deleteImageUploadParam(ordersNo);
|
|
|
}
|
|
|
@@ -304,7 +308,7 @@ public class TKQuotationBaseServiceImpl implements TKQuotationBaseService {
|
|
|
if (tkOrderData == null || tkOrderData.getProposalNo() == null) {
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
String proposalNo = tkOrderData.getProposalNo();
|
|
|
underwritingVo.getOrder().setCompanyOrderNo(proposalNo);
|
|
|
log.info("核保返回保司订单号: {}", proposalNo);
|