|
|
@@ -546,12 +546,8 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public HttpResult auditApi(String quoteOrderNo) {
|
|
|
-
|
|
|
- ObjectMapper xmlMapper = this.gainXmlMapper();
|
|
|
- String msg = "提交成功";
|
|
|
- HttpResult h = HttpResult.ok(msg);
|
|
|
+ String logNo = String.format("(日志号:%s)",IPUtil.gainServerNo());
|
|
|
try {
|
|
|
-
|
|
|
//子订单
|
|
|
InsAreaCompany iac = insAreaCompanyService.getById(quoteOrderNo);
|
|
|
if (iac == null) {
|
|
|
@@ -562,11 +558,6 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
// 获取协议配置信息
|
|
|
YcConfigureParameters ycConfigureParameters = gainYcConfigParams(iac.getAgreementId());
|
|
|
|
|
|
-// if (InsOrderStatus.S_5.getCode().equals(iac.getOrderstatus()) || InsOrderStatusEnum.TO_BACK.getCode().equals(iac.getOrderstatus())) {
|
|
|
-// return HttpResult.ok(InsOrderStatus.matchKey(iac.getOrderstatus()).getDesc());
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
//车主
|
|
|
CustomerInfoVo ownerInfo = JSONObject.parseObject(order.getOwnerinfo().toJSONString(), CustomerInfoVo.class);
|
|
|
//被保人
|
|
|
@@ -578,52 +569,40 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
//组装参数
|
|
|
Audit m = Audit.buildAuditParam(ownerInfo, insureInfo, applyInfo, ycConfigureParameters, iac);
|
|
|
|
|
|
-
|
|
|
//构造被保人地区
|
|
|
- //处理地区 车主
|
|
|
Map<String, String> insureMap = gainRegionCode(insureInfo.getAddr());
|
|
|
m.getRequestLabel().getCondition().getCustomer().setCProvince(insureMap.get("provinceCode"));
|
|
|
m.getRequestLabel().getCondition().getCustomer().setCCity(insureMap.get("cityCode"));
|
|
|
m.getRequestLabel().getCondition().getCustomer().setCCounty(insureMap.get("areaCode"));
|
|
|
|
|
|
-// InsAlltrustRegion insureInfoRegion = findRegion(insureInfo);
|
|
|
-// if (null != insureInfoRegion) {
|
|
|
-// m.getRequestLabel().getCondition().getCustomer().setCProvince(insureInfoRegion.getProvinceCode());
|
|
|
-// m.getRequestLabel().getCondition().getCustomer().setCCity(insureInfoRegion.getCityCode());
|
|
|
-// m.getRequestLabel().getCondition().getCustomer().setCCounty(insureInfoRegion.getArea());
|
|
|
-// } else {
|
|
|
-// throw new SystemException("永诚 - 被保人地区获取失败,请确认页面是否填写");
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
- log.debug("=========永诚API方式 - xml请求 - 核保开始======");
|
|
|
//接口请求
|
|
|
-// InsApiLog apiLog = httpPost(xmlMapper, m, YcBuildData.API_AUDIT);
|
|
|
String responseData = httpPostResultLog(xmlMapper, m, YcBuildData.API_AUDIT, "永诚API方式 - 核保 - ");
|
|
|
- log.debug("=========永诚API方式 - xml请求 - 核保结束!======");
|
|
|
-// verifyRequest(apiLog, iac, InsQuoteFlow.Q_S_1);
|
|
|
-// String responseData = apiLog.getResponseData();
|
|
|
|
|
|
String cleanStr = YcBuildData.cleanResponseStr(responseData);
|
|
|
AuditResponse rd = xmlMapper.readValue(cleanStr, AuditResponse.class);
|
|
|
|
|
|
if (rd.getResponseHead().getReturnCode().equals("0000")) {
|
|
|
-// if (rd.getResponseHead().getReturnCode().equals("E0000")) {
|
|
|
String statusJq = StringUtils.toString(rd.getStatusJq(), "");
|
|
|
String statusSy = StringUtils.toString(rd.getStatusSY(), "");
|
|
|
if (statusJq.equals("0") || statusSy.equals("0")) {
|
|
|
iac.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
|
|
|
} else if (statusJq.equals("3") || statusSy.equals("3")) {
|
|
|
iac.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
|
|
|
- } else {
|
|
|
- iac.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
|
|
|
- }
|
|
|
- if (StringUtils.toInt(order.getOrderstatus()) < StringUtils.toInt(iac.getOrderstatus())) {
|
|
|
- order.setOrderstatus(iac.getOrderstatus());
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+ if(null != rd.getSailResponseMessagedate()){
|
|
|
+ sb.append(String.format("交强险提示信息:s%",rd.getSailResponseMessagedate().getCMessage()));
|
|
|
+ }
|
|
|
+ if(null != rd.getCiResponseMessagedate()){
|
|
|
+ sb.append(String.format(" 商业险提示信息:s%",rd.getCiResponseMessagedate().getCMessage()));
|
|
|
+ }
|
|
|
+ iac.setAuditopinion(sb.toString());
|
|
|
}
|
|
|
+
|
|
|
+ //构造订单状态
|
|
|
+ buildOrderStatus(order,iac);
|
|
|
+
|
|
|
} else {
|
|
|
- msg = rd.getResponseHead().getReturnMessage();
|
|
|
- return HttpResult.error("核保失败" + msg);
|
|
|
+ return HttpResult.error(logNo + "核保失败" + rd.getResponseHead().getReturnMessage());
|
|
|
}
|
|
|
|
|
|
iac.setAuditid(order.getUserid());
|
|
|
@@ -641,20 +620,13 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
if (InsOrderStatusEnum.WAIT_PAY.getCode().equals(InsOrderStatusEnum.matchKey(iac.getOrderstatus()).getCode())) {
|
|
|
//获取缴费地址
|
|
|
getPayUrlApi(iac);
|
|
|
- } else {
|
|
|
- h = HttpResult.error(msg + "状态:" + InsOrderStatusEnum.matchKey(iac.getOrderstatus()).getDesc());
|
|
|
}
|
|
|
+ log.info(logNo +"车牌号:"+order.getLicenseno()+ ",永诚核保未获取缴费地址,状态为:" + InsOrderStatusEnum.matchKey(iac.getOrderstatus()).getDesc());
|
|
|
insAreaCompanyService.updateById(iac);
|
|
|
insOrdersService.updateByOrderStatus(order.getOrderno(), order.getOrderstatus());
|
|
|
|
|
|
-// if (InsOrderStatusEnum.WAIT_PAY.getCode().equals(InsOrderStatus.matchKey(iac.getOrderstatus()).getCode())) {
|
|
|
-// return HttpResult.ok(msg);
|
|
|
-// } else {
|
|
|
-// return HttpResult.error(msg + "状态:" + InsOrderStatus.matchKey(iac.getOrderstatus()).getDesc());
|
|
|
-// }
|
|
|
+ return HttpResult.ok("核保操作成功");
|
|
|
|
|
|
-// //插入轨迹表
|
|
|
-// insTaskHistoryService.insertByOrderStatus(order);
|
|
|
|
|
|
} catch (SystemException e) {
|
|
|
return HttpResult.error(e.getMessage());
|
|
|
@@ -663,7 +635,6 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
log.error("===永诚API方式--核保报错(订单号-{}):{}", quoteOrderNo, e.getMessage());
|
|
|
return HttpResult.error("系统错误,请联系管理员");
|
|
|
}
|
|
|
- return h;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -798,10 +769,8 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
if (StringUtils.isNotEmpty(param.getCiPolicyNo())) iac.setJqpolicyno(param.getCiPolicyNo());
|
|
|
|
|
|
iac = buildCallBack(iac, param);
|
|
|
-
|
|
|
- if (StringUtils.toInt(order.getOrderstatus()) < StringUtils.toInt(iac.getOrderstatus())) {
|
|
|
- order.setOrderstatus(iac.getOrderstatus());
|
|
|
- }
|
|
|
+ //构造订单状态
|
|
|
+ buildOrderStatus(order,iac);
|
|
|
insAreaCompanyService.updateById(iac);
|
|
|
insOrdersService.updateByOrderStatus(order.getOrderno(), order.getOrderstatus());
|
|
|
|
|
|
@@ -1574,7 +1543,7 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
insAreaCompany.setTaxamount(BigDecimal.valueOf(jq_falg ? quoteRespVo.getTaxAmount() : 0));
|
|
|
insAreaCompany.setSumpremium(BigDecimal.valueOf(quoteRespVo.getSumPermium()));
|
|
|
// insAreaCompany.setSumpremium(BigDecimal.valueOf(add(quoteRespVo.getSumPermium(), insOrder.getTaxamount())));
|
|
|
- insAreaCompany.setOrderstatus(InsTaskHistoryEnum.WAITING_NUCLEAR_INSURANCE.getState() + "");
|
|
|
+ insAreaCompany.setOrderstatus(InsTaskHistoryEnum.IN_QUOTATION.getState() + "");
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1614,19 +1583,6 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
return insAreaCompany;
|
|
|
|
|
|
|
|
|
-// //插入轨迹表
|
|
|
-// InsTaskHistory history = new InsTaskHistory();
|
|
|
-// history.setId(String.valueOf(new Date().getTime()));
|
|
|
-// history.setCompany(insOrder.getInscompany());
|
|
|
-// history.setTaskid(insOrder.getOrderno());
|
|
|
-// history.setOperatorid(insOrder.getUserid());
|
|
|
-// history.setOperator(insOrder.getUsername());
|
|
|
-// SimpleDateFormat sdfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
-// history.setCreatetime(sdfm.format(new Date()));
|
|
|
-// history.setOperator(insOrder.getUsername());
|
|
|
-// history.setStatus("0");
|
|
|
-// history.setRemark("报价中");
|
|
|
-// insTaskHistoryService.insert(history);
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -2061,4 +2017,19 @@ public class InsAlltrustApiServiceImpl implements InsAlltrustApiService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private void buildOrderStatus(InsOrders order,InsAreaCompany iac){
|
|
|
+
|
|
|
+ if (!order.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
|
|
|
+ if (order.getOrderstatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode()) && order.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
|
|
|
+ order.setOrderstatus(iac.getOrderstatus());
|
|
|
+ } else if (order.getOrderstatus().equals(InsOrderStatusEnum.TO_BACK.getCode())) {
|
|
|
+ order.setOrderstatus(iac.getOrderstatus());
|
|
|
+ } else if (StringUtils.toInt(order.getOrderstatus()) < StringUtils.toInt(iac.getOrderstatus())) {
|
|
|
+ order.setOrderstatus(iac.getOrderstatus());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|