|
|
|
@@ -509,13 +509,21 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { |
|
|
|
return new ResultData(ErrorCode.PAY_ORDER_NOT_FOUND); |
|
|
|
} |
|
|
|
|
|
|
|
// 创建退款订单 |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
Long refundId = idWorker.nextId(); |
|
|
|
|
|
|
|
WxRefundOrder record = new WxRefundOrder(); |
|
|
|
record.updateTenantInfo(wxOrder); |
|
|
|
record.setPayOrderNo(String.valueOf(payOrder.getId())); |
|
|
|
record.setOrderId(wxOrder.getId()); |
|
|
|
record.setNotStatus(EnumRefundStatus.REFUND_FAIL.getCode()); |
|
|
|
// check 是否有退款订单 |
|
|
|
List<WxRefundOrder> refundList = wxRefundOrderMapper.findList(record); |
|
|
|
if (refundList.size() > 0) { |
|
|
|
logger.error("退款订单已存在, 无法再提交退款申请"); |
|
|
|
throw new MallinkException(ErrorCode.REFUND_ORDER_EXIST.getCode(), "退款订单已存在, 无法再提交退款申请"); |
|
|
|
} |
|
|
|
|
|
|
|
// 创建退款订单 |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
Long refundId = idWorker.nextId(); |
|
|
|
|
|
|
|
//String out_refund_id = String.valueOf(refundId); |
|
|
|
|
|
|
|
@@ -543,13 +551,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { |
|
|
|
logger.error("退款订单数据库插入出错: " + record.toString()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL); |
|
|
|
} |
|
|
|
|
|
|
|
// check 是否有退款订单 |
|
|
|
List<WxRefundOrder> refundList = wxRefundOrderMapper.findList(record); |
|
|
|
if (refundList.size() > 0) { |
|
|
|
logger.error("退款订单已存在, 无法再提交退款申请"); |
|
|
|
throw new MallinkException(ErrorCode.REFUND_ORDER_EXIST.getCode(), "退款订单已存在, 无法再提交退款申请"); |
|
|
|
} |
|
|
|
|
|
|
|
WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); |
|
|
|
if (null == payAccount) { |
|
|
|
throw new MallinkException(ErrorCode.PAY_ORDER_QUERY_ERROR.getCode(), "payAccount为空[payId:"+appInfo.getPayId()+"]"); |
|
|
|
@@ -735,8 +737,16 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { |
|
|
|
} |
|
|
|
|
|
|
|
WxRefundOrder record = new WxRefundOrder(); |
|
|
|
record.updateTenantInfo(wxOrder); |
|
|
|
record.setPayOrderNo(String.valueOf(payOrder.getId())); |
|
|
|
record.setOrderId(orderId); |
|
|
|
record.setNotStatus(EnumRefundStatus.REFUND_FAIL.getCode()); |
|
|
|
// check 是否有退款订单 |
|
|
|
List<WxRefundOrder> refundList = wxRefundOrderMapper.findList(record); |
|
|
|
if (refundList.size() > 0) { |
|
|
|
logger.error("退款订单已存在, 无法再提交退款申请"); |
|
|
|
throw new MallinkException(ErrorCode.REFUND_ORDER_EXIST.getCode(), "退款订单已存在, 无法再提交退款申请"); |
|
|
|
} |
|
|
|
// 创建退款订单 |
|
|
|
Long refundId = idWorker.nextId(); |
|
|
|
String out_refund_id = String.valueOf(refundId); |
|
|
|
@@ -770,12 +780,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { |
|
|
|
logger.error("order:("+orderId+")"+appInfo.getPayId()+"查询不到WxPayAccount"); |
|
|
|
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), appInfo.getPayId()+"查询不到WxPayAccount"); |
|
|
|
} |
|
|
|
// check 是否有退款订单 |
|
|
|
List<WxRefundOrder> refundList = wxRefundOrderMapper.findList(record); |
|
|
|
if (refundList.size() > 0) { |
|
|
|
logger.error("退款订单已存在, 无法再提交退款申请"); |
|
|
|
throw new MallinkException(ErrorCode.REFUND_ORDER_EXIST.getCode(), "退款订单已存在, 无法再提交退款申请"); |
|
|
|
} |
|
|
|
|
|
|
|
RefundAdapterResult refundResult = payServiceFactory.getRefundPayAdapterService(payOrder.getPayVendor(),payAccount.getPayVersion()).refund(payAccount, appInfo, record, payOrder,orderId, null); |
|
|
|
if (refundResult.isSuccess()) { |
|
|
|
record.setRefundOrderStatus(EnumRefundStatus.REFUND_REQ_SUCCESS.getCode()); |
|
|
|
|