diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxPayOrderServiceImpl.java index e3a8fffdb..fc1197a3f 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxPayOrderServiceImpl.java @@ -228,8 +228,15 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { logger.info("back to UI: " +returnMap.toString()); return new ResultData(Result.SUCCESS, "创建支付订单成功", returnMap); } else { + String errMsg = ""; JSONObject errObj = errorMap.getJSONObject(result_code); - record.setFailReason(errObj.toJSONString()); + if (errObj != null) { + errMsg = errObj.toJSONString(); + record.setFailReason(errMsg); + } else { + errMsg = returnMap.get("return_msg"); + record.setFailReason(errMsg); + } record.setUpdateTime(new Date()); try { wxPayOrderMapper.updateByPrimaryKeySelective(record); @@ -237,7 +244,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { logger.error("pay order update error: " + record.toString()); throw new MallinkException(ErrorCode.DB_FAIL); } - return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), errObj.toJSONString(), returnMap); + return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), errMsg, returnMap); } } else { // 统一下单 // 服务商模式 @@ -300,8 +307,15 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { logger.info("back to UI: " +returnMap.toString()); return new ResultData(Result.SUCCESS, "创建支付订单成功", returnMap); } else { + String errMsg = ""; JSONObject errObj = errorMap.getJSONObject(result_code); - record.setFailReason(errObj.toJSONString()); + if (errObj != null) { + errMsg = errObj.toJSONString(); + record.setFailReason(errMsg); + } else { + errMsg = returnMap.get("return_msg"); + record.setFailReason(errMsg); + } record.setUpdateTime(new Date()); try { wxPayOrderMapper.updateByPrimaryKeySelective(record); @@ -309,7 +323,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { logger.error("pay order update error: " + record.toString()); throw new MallinkException(ErrorCode.DB_FAIL); } - return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), errObj.toJSONString(), returnMap); + return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), errMsg, returnMap); } } } else {