|
|
@@ -411,35 +411,39 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
|
|
|
UnderwritingRequest underwritingRequest = new UnderwritingRequest(parameters,submitVerifyResponse.getOrderId());
|
|
|
UnderwritingResponse underwritingResponse = chengTaiRequestApiComponents.audit(underwritingRequest,httpHeaders);
|
|
|
|
|
|
- // 查询投保结果
|
|
|
- SubmitVerifyResultRequest submitVerifyResultRequest = new SubmitVerifyResultRequest(parameters,submitVerifyResponse.getOrderId());
|
|
|
- SubmitVerifyResultResponse submitVerifyResultResponse = chengTaiRequestApiComponents.auditSaveResult(submitVerifyResultRequest,httpHeaders);
|
|
|
- List<SubmitVerifyResultResponse.DataDTO> data = submitVerifyResultResponse.getData();
|
|
|
- if(CollUtil.isNotEmpty(data)){
|
|
|
- for (SubmitVerifyResultResponse.DataDTO dataDTO : data) {
|
|
|
- if(RiskCodeEnum.R1002.getCode().equals(dataDTO.getRiskCode())){
|
|
|
- insAreaCompany.setJqpolicyno(dataDTO.getPolicyCode());
|
|
|
- insAreaCompany.setJqapplyno(dataDTO.getInsCode());
|
|
|
- }
|
|
|
- if (RiskCodeEnum.R0821.getCode().equals(dataDTO.getRiskCode())) {
|
|
|
- insAreaCompany.setSypolicyno(dataDTO.getPolicyCode());
|
|
|
- insAreaCompany.setSyapplyno(dataDTO.getInsCode());
|
|
|
+ if(OrderStatusEnum.A2000.getCode().equals(underwritingResponse.getFinalRuleResult())){
|
|
|
+ // 查询投保结果
|
|
|
+ SubmitVerifyResultRequest submitVerifyResultRequest = new SubmitVerifyResultRequest(parameters,submitVerifyResponse.getOrderId());
|
|
|
+ SubmitVerifyResultResponse submitVerifyResultResponse = chengTaiRequestApiComponents.auditSaveResult(submitVerifyResultRequest,httpHeaders);
|
|
|
+ List<SubmitVerifyResultResponse.DataDTO> data = submitVerifyResultResponse.getData();
|
|
|
+ if(CollUtil.isNotEmpty(data)){
|
|
|
+ for (SubmitVerifyResultResponse.DataDTO dataDTO : data) {
|
|
|
+ if(RiskCodeEnum.R1002.getCode().equals(dataDTO.getRiskCode())){
|
|
|
+ insAreaCompany.setJqpolicyno(dataDTO.getPolicyCode());
|
|
|
+ insAreaCompany.setJqapplyno(dataDTO.getInsCode());
|
|
|
+ }
|
|
|
+ if (RiskCodeEnum.R0821.getCode().equals(dataDTO.getRiskCode())) {
|
|
|
+ insAreaCompany.setSypolicyno(dataDTO.getPolicyCode());
|
|
|
+ insAreaCompany.setSyapplyno(dataDTO.getInsCode());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
|
|
|
+ // 获取支付链接
|
|
|
+ PayUrlRequest payUrlRequest = new PayUrlRequest(parameters,submitVerifyResponse.getOrderId());
|
|
|
+ PayUrlResponse payUrlResponse = chengTaiRequestApiComponents.getPayUrl(payUrlRequest, httpHeaders);
|
|
|
+ insAreaCompany.setPaymentLink(payUrlResponse.getSmsUrl());
|
|
|
+ insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
+ return HttpResult.ok("核保成功");
|
|
|
+ }else{
|
|
|
+ throw new SystemException(underwritingResponse.getData().get(0).getReasondescription());
|
|
|
}
|
|
|
- insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
|
|
|
- // 获取支付链接
|
|
|
- PayUrlRequest payUrlRequest = new PayUrlRequest(parameters,submitVerifyResponse.getOrderId());
|
|
|
- PayUrlResponse payUrlResponse = chengTaiRequestApiComponents.getPayUrl(payUrlRequest, httpHeaders);
|
|
|
- insAreaCompany.setPaymentLink(payUrlResponse.getSmsUrl());
|
|
|
- insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
- return HttpResult.ok("核保成功");
|
|
|
}catch (SystemException systemException){
|
|
|
// 查询核保结果
|
|
|
UnderwritingResultRequest resultRequest = new UnderwritingResultRequest(parameters,insAreaCompany.getInsOrderNo());
|
|
|
UnderwritingResultResponse underwritingResultResponse = chengTaiRequestApiComponents.auditResult(resultRequest,httpHeaders);
|
|
|
String uwMsg = systemException.getMessage();
|
|
|
- if (OrderStatusEnum.A2001.getCode().equals(underwritingResultResponse.getFinalRuleResult())) {
|
|
|
+ if (OrderStatusEnum.A2001.getCode().equals(underwritingResultResponse.getFinalRuleResult()) || OrderStatusEnum.A2007.getCode().equals(underwritingResultResponse.getFinalRuleResult())) {
|
|
|
// add by hxl 添加手动更新状态
|
|
|
insSubOrderUpdateDetailService.insertData(insAreaCompany, insAreaCompany.getOrderstatus(), InsOrderStatusEnum.TO_BACK.getCode(), "1");
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
|