| @@ -904,6 +904,21 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| logger.error("订单支付金额小于等于0: " + wxOrder.toString()); | logger.error("订单支付金额小于等于0: " + wxOrder.toString()); | ||||
| throw new MallinkException(ErrorCode.REFUND_PAY_ORDER_IS_ZERO); | 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()) | if(!EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode().equals(wxOrder.getOrderStatus()) | ||||
| && !EnumOrderStatus.ORDER_STATUS_COOPERATING_COMPLETE.getCode().equals(wxOrder.getOrderStatus())){ | && !EnumOrderStatus.ORDER_STATUS_COOPERATING_COMPLETE.getCode().equals(wxOrder.getOrderStatus())){ | ||||
| logger.error("交易订单状态不支持退款:" + EnumOrderStatus.getEnum(wxOrder.getOrderStatus()).getMessage()); | logger.error("交易订单状态不支持退款:" + EnumOrderStatus.getEnum(wxOrder.getOrderStatus()).getMessage()); | ||||