|
|
|
@@ -904,6 +904,21 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { |
|
|
|
logger.error("订单支付金额小于等于0: " + wxOrder.toString()); |
|
|
|
throw new MallinkException(ErrorCode.REFUND_PAY_ORDER_IS_ZERO); |
|
|
|
} |
|
|
|
|
|
|
|
//抖音可能会重复推送,如果是待退款状态,则表示,之前已经回调成功了。无需再次执行下面的逻辑,直接查询就行 |
|
|
|
if (EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode().equals(wxOrder.getOrderStatus())) { |
|
|
|
WxRefundOrder refundOrderQuery = new WxRefundOrder(); |
|
|
|
refundOrderQuery.updateTenantInfo(tenantEntity); |
|
|
|
refundOrderQuery.setOrderId(wxOrder.getId()); |
|
|
|
refundOrderQuery.setTransactionId(refundOrderCallback.getOrderId()); |
|
|
|
List<WxRefundOrder> rflist = wxRefundOrderMapper.findList(refundOrderQuery); |
|
|
|
if (null == rflist || rflist.size() <= 0 ) { |
|
|
|
logger.error("该订单无退款记录:" + wxOrder.getId()); |
|
|
|
throw new MallinkException(ErrorCode.REFUND_PAY_ORDER_IS_ZERO.getCode(),"该订单无退款记录"); |
|
|
|
} |
|
|
|
return new ResultData(Result.SUCCESS, "退款订单申请成功", rflist.get(0)); |
|
|
|
} |
|
|
|
|
|
|
|
if(!EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode().equals(wxOrder.getOrderStatus()) |
|
|
|
&& !EnumOrderStatus.ORDER_STATUS_COOPERATING_COMPLETE.getCode().equals(wxOrder.getOrderStatus())){ |
|
|
|
logger.error("交易订单状态不支持退款:" + EnumOrderStatus.getEnum(wxOrder.getOrderStatus()).getMessage()); |
|
|
|
|