|
|
@@ -570,9 +570,24 @@ public class OrderOperationLogAspect {
|
|
|
pamentTrack.setResult("调用接口获取订单支付码并生成掌柜支付码");
|
|
|
traceService.save(pamentTrack);
|
|
|
}else{
|
|
|
- UnderwritingResultsVo res = JSON.parseObject(JSON.toJSONString(extracted.get("data"))).toJavaObject(UnderwritingResultsVo.class);
|
|
|
track.setStatus(QuoteNumberConstant.QuoteResult.FAIL.getCode());
|
|
|
- track.setResult(res.getUnderwritingResult());
|
|
|
+ // 优先从 data 中的 UnderwritingResultsVo 获取核保失败原因
|
|
|
+ String failResult = null;
|
|
|
+ Object dataObj = extracted.get("data");
|
|
|
+ if (dataObj != null) {
|
|
|
+ UnderwritingResultsVo res = JSON.parseObject(JSON.toJSONString(dataObj)).toJavaObject(UnderwritingResultsVo.class);
|
|
|
+ if (res != null) {
|
|
|
+ failResult = res.getUnderwritingResult();
|
|
|
+ logger.info("---核保失败,订单号:{},失败原因:{}", orderId, failResult);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // data 为空或 underwritingResult 为空时,兜底取 HttpResult 的 msg
|
|
|
+ if (failResult == null) {
|
|
|
+ Object msgObj = extracted.get("msg");
|
|
|
+ failResult = msgObj != null ? msgObj.toString() : "核保失败";
|
|
|
+ logger.info("----核保失败,订单号:{},失败原因:{}", orderId, failResult);
|
|
|
+ }
|
|
|
+ track.setResult(failResult);
|
|
|
InsOrderStatusEnum orderStatusEnum = InsOrderStatusEnum.matchKey(insOrders.getOrderStatus());
|
|
|
track.setChangeAfter(orderStatusEnum.getDesc());
|
|
|
traceService.save(track);
|