|
|
|
@@ -646,7 +646,11 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
payOrderQ.setAppid(appInfo.getAppId()); |
|
|
|
payOrderQ.setMch_id(payAccount.getMchId()); |
|
|
|
payOrderQ.setNonce_str(noncestr); |
|
|
|
payOrderQ.setOut_trade_no(record.getPayOrderNo()); |
|
|
|
if (StringUtils.isNotBlank(record.getTransactionId())) { |
|
|
|
payOrderQ.setTransaction_id(record.getTransactionId()); |
|
|
|
} else { |
|
|
|
payOrderQ.setOut_trade_no(record.getPayOrderNo()); |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
Map map = BeanUtils.toStringMap(payOrderQ); |
|
|
|
@@ -668,7 +672,11 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
payOrderSQ.setMch_id(payAccount.getMchId()); |
|
|
|
payOrderSQ.setSub_mch_id(payAccount.getSubMchId()); |
|
|
|
payOrderSQ.setNonce_str(noncestr); |
|
|
|
payOrderSQ.setOut_trade_no(record.getPayOrderNo()); |
|
|
|
if (StringUtils.isNotBlank(record.getTransactionId())) { |
|
|
|
payOrderSQ.setTransaction_id(record.getTransactionId()); |
|
|
|
} else { |
|
|
|
payOrderSQ.setOut_trade_no(record.getPayOrderNo()); |
|
|
|
} |
|
|
|
payOrderSQ.setSign_type("HMAC-SHA256"); |
|
|
|
|
|
|
|
try { |
|
|
|
@@ -764,14 +772,24 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_ERROR, returnMap); |
|
|
|
} |
|
|
|
} else { |
|
|
|
String errMsg = ""; |
|
|
|
JSONObject errObj = errorMapQuery.getJSONObject(result_code); |
|
|
|
if (errObj != null) { |
|
|
|
errMsg = errObj.toJSONString(); |
|
|
|
String errCode = returnMap.get("err_code"); |
|
|
|
String errCodeDes = returnMap.get("err_code_des"); |
|
|
|
if (errCode.equalsIgnoreCase("ORDERNOTEXIST")) { |
|
|
|
// 支付订单不存在, 订单失败 |
|
|
|
WxOrder updateOrderForMicroPay = new WxOrder(); |
|
|
|
updateOrderForMicroPay.setId(order.getId()); |
|
|
|
updateOrderForMicroPay.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); |
|
|
|
try { |
|
|
|
wxOrderMapper.updateById(updateOrderForMicroPay); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error(e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
String errMsg = returnMap.get("return_msg"); |
|
|
|
if (StringUtils.isNotBlank(errMsg)) { |
|
|
|
record.setFailReason(errMsg); |
|
|
|
} else { |
|
|
|
errMsg = returnMap.get("return_msg"); |
|
|
|
record.setFailReason(errMsg); |
|
|
|
record.setFailReason(errCodeDes); |
|
|
|
} |
|
|
|
record.setUpdateTime(new Date()); |
|
|
|
try { |
|
|
|
@@ -783,8 +801,25 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { |
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), errMsg, returnMap); |
|
|
|
} |
|
|
|
} else { |
|
|
|
String errCode = returnMap.get("err_code"); |
|
|
|
String errCodeDes = returnMap.get("err_code_des"); |
|
|
|
if (errCode.equalsIgnoreCase("ORDERNOTEXIST")) { |
|
|
|
// 支付订单不存在, 订单失败 |
|
|
|
WxOrder updateOrderForMicroPay = new WxOrder(); |
|
|
|
updateOrderForMicroPay.setId(order.getId()); |
|
|
|
updateOrderForMicroPay.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); |
|
|
|
try { |
|
|
|
wxOrderMapper.updateById(updateOrderForMicroPay); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error(e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
String errMsg = returnMap.get("return_msg"); |
|
|
|
record.setFailReason(errMsg); |
|
|
|
if (StringUtils.isNotBlank(errMsg)) { |
|
|
|
record.setFailReason(errMsg); |
|
|
|
} else { |
|
|
|
record.setFailReason(errCodeDes); |
|
|
|
} |
|
|
|
record.setUpdateTime(new Date()); |
|
|
|
try { |
|
|
|
wxPayOrderMapper.updateById(record); |
|
|
|
|