From 15e2e5243c1563809b4b663bb55ee8bfc27e9c5f Mon Sep 17 00:00:00 2001 From: xhxu Date: Sun, 25 Jun 2023 18:59:45 +0800 Subject: [PATCH 1/2] //refund --- .../controller/WxOrderController.java | 22 ++++++++-------- .../service/WxRefundOrderService.java | 3 +-- .../impl/WxRefundOrderServiceImpl.java | 26 +++++++++---------- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 74282fbf1..8733c3d83 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -800,16 +800,16 @@ public class WxOrderController extends BaseController { } //验证用户 - Long memberId = null; - TtCUser cuser = (TtCUser) cuserFactory.getCUserService(EnumAppPlat.TOUTIAO).getByOpenId(open_id, appinfo.getTenantId()); - if(cuser != null && cuser.getUserId() != null){ - memberId = cuser.getUserId(); - } - if(memberId == null){ - map.put("err_no",ErrorCode.USER_NOT_MEMBER.getCode()); - map.put("err_tips",ErrorCode.USER_NOT_MEMBER.getMessage()); - return map; - } +// Long memberId = null; +// TtCUser cuser = (TtCUser) cuserFactory.getCUserService(EnumAppPlat.TOUTIAO).getByOpenId(open_id, appinfo.getTenantId()); +// if(cuser != null && cuser.getUserId() != null){ +// memberId = cuser.getUserId(); +// } +// if(memberId == null){ +// map.put("err_no",ErrorCode.USER_NOT_MEMBER.getCode()); +// map.put("err_tips",ErrorCode.USER_NOT_MEMBER.getMessage()); +// return map; +// } TtPayService ttPayService = maUtil.getTtPayService(appinfo, payAccount); RefundOrderCallback refundOrderCallback = ttPayService.refundOrderNotifyV2Result(body, header); @@ -824,7 +824,7 @@ public class WxOrderController extends BaseController { tenantEntity.updateTenantInfo(mall); } - ResultData resultData = wxRefundOrderService.ttCallBackCreateRefundOrder(tenantEntity,memberId,refundOrderCallback); + ResultData resultData = wxRefundOrderService.ttCallBackCreateRefundOrder(tenantEntity,refundOrderCallback); if(resultData.code == 200){ WxRefundOrder refundOrder = (WxRefundOrder) resultData.data; diff --git a/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java index 3887f2ae0..f52ed6b8c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java @@ -108,11 +108,10 @@ public interface WxRefundOrderService { /** * 抖音2.0 退款回调创建退款订单 * @param tenantEntity - * @param memberId * @param refundOrderCallback * @return */ - ResultData ttCallBackCreateRefundOrder(TenantEntity tenantEntity, Long memberId, RefundOrderCallback refundOrderCallback); + ResultData ttCallBackCreateRefundOrder(TenantEntity tenantEntity, RefundOrderCallback refundOrderCallback); ResultData syncRefundOrder(WxAppinfo appinfo, WxPayAccount payAccount, WxRefundOrder order); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java index b11994a7d..488dfe1f8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java @@ -876,7 +876,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public ResultData ttCallBackCreateRefundOrder(TenantEntity tenantEntity, Long memberId, RefundOrderCallback refundOrderCallback) { + public ResultData ttCallBackCreateRefundOrder(TenantEntity tenantEntity, RefundOrderCallback refundOrderCallback) { String outOrderNo = refundOrderCallback.getOutOrderNo(); Long compseOrderId = Long.parseLong(outOrderNo); @@ -978,17 +978,17 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { } // 卡退款,把卡余额设为0 - if (wxCouponOrder.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { - WxCardInfo updateCardInfo = new WxCardInfo(); - updateCardInfo.setId(wxCouponOrder.getId()); - updateCardInfo.setRemainingAmount(0); - try { - wxCardInfoMapper.updateById(updateCardInfo); - } catch (Exception e) { - logger.error("db failed: wxCardInfo-" + wxCouponOrder.getId() + ", e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - } +// if (wxCouponOrder.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { +// WxCardInfo updateCardInfo = new WxCardInfo(); +// updateCardInfo.setId(wxCouponOrder.getId()); +// updateCardInfo.setRemainingAmount(0); +// try { +// wxCardInfoMapper.updateById(updateCardInfo); +// } catch (Exception e) { +// logger.error("db failed: wxCardInfo-" + wxCouponOrder.getId() + ", e:" + e.getMessage()); +// throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); +// } +// } } // WxPayOrder payOrderQ = new WxPayOrder(); @@ -1033,7 +1033,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { record.setUpdateTime(currentDate); // 微信内部订单号 record.setTransactionId(refundOrderCallback.getOrderId()); - record.setCUserId(memberId); + record.setCUserId(wxOrder.getCUserId()); record.setTotalFee(wxOrder.getPayment()); record.setRefundFee(refundOrderCallback.getRefundTotalAmount()); record.setRefundTimeStart(new Date(refundOrderCallback.getCreateRefundTime())); From a4fc8cff043baacc90e56fe98956a4d1b9934b0a Mon Sep 17 00:00:00 2001 From: xhxu Date: Sun, 25 Jun 2023 19:12:14 +0800 Subject: [PATCH 2/2] //refund --- .../service/impl/WxRefundOrderServiceImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java index 488dfe1f8..77a917791 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java @@ -925,10 +925,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { logger.error("已退款: couponOrder-" + wxCouponOrder.getCouponId()); throw new MallinkException(ErrorCode.COUPON_ORDER_IS_OVER_TIME); } - if (wxCouponOrder.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode())) { - logger.error("已经核销过的券: couponOrder-" + wxCouponOrder.getCouponId()); - throw new MallinkException(ErrorCode.COUPON_ORDER_IS_USED); - } +// if (wxCouponOrder.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode())) { +// logger.error("已经核销过的券: couponOrder-" + wxCouponOrder.getCouponId()); +// throw new MallinkException(ErrorCode.COUPON_ORDER_IS_USED); +// } } EnumRefundSource refundSource = EnumRefundSource.getEnum(refundOrderCallback.getRefundSource()); @@ -953,6 +953,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { } for (WxCouponOrder wxCouponOrder:couponOrderList) { + if (wxCouponOrder.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode())) { + logger.error("已经核销过的券: couponOrder-" + wxCouponOrder.getCouponId()); + continue; + } // 更改 couponOrder 状态 if (wxCouponOrder.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_RETURNED.getCode()); // 卡线下退款