Bläddra i källkod

Merge remote-tracking branch 'origin/master'

wanghao 1 månad sedan
förälder
incheckning
7750baa177

+ 17 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/OrderOperationLogAspect.java

@@ -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);