From 41686fa3ceac95ca48014e9737a547acbb21ab89 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 28 Feb 2025 16:51:39 +0800 Subject: [PATCH] =?UTF-8?q?token=20=E6=A0=A1=E9=AA=8C=20=E9=80=80=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/controller/OrderPayController.java | 2 +- .../java/com/czg/config/SaTokenConfigure.java | 3 ++- .../order/service/impl/PayServiceImpl.java | 26 +++++++++++++++---- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java b/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java index 64f201ec4..a37083d18 100644 --- a/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java +++ b/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java @@ -121,7 +121,7 @@ public class OrderPayController { * 获取店铺订单支付URL */ @PostMapping("/shopPayApi/orderPayUrl") - public CzgResult getOrderPayUrl(Long shopId, Long orderId, @RequestParam(required = false) String extend, + public CzgResult getOrderPayUrl(@RequestHeader Long shopId, Long orderId, @RequestParam(required = false) String extend, @RequestParam(required = false) CheckOrderPay checkOrderPay) { AssertUtil.isNull(shopId, "店铺id不能为空"); AssertUtil.isNull(orderId, "订单Id不能为空"); diff --git a/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java b/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java index b2cf4a178..67a7bf682 100644 --- a/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java +++ b/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java @@ -64,12 +64,13 @@ public class SaTokenConfigure implements WebMvcConfigurer { ApplicationInfo.routePrefix = ""; SaRouter.match("/user/**").notMatch("/user/login", "/user/test", "/user/geo/**", "/user/home/**") + .notMatch("/pay/**") + .notMatch("/notify/**") .check(r -> MyStpLogic.CLIENT_LOGIC.checkLogin()) .setHit(true) // .match("/**") .notMatch("/user/**") .notMatch("/admin/auth/**") - .notMatch("/notify/**") .check(r -> MyStpLogic.ADMIN_LOGIC.checkLogin()); })).addPathPatterns("/**"); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index 2d1a9da42..9b28194a1 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -194,7 +194,7 @@ public class PayServiceImpl implements PayService { if (payParam.getCheckOrderPay().getOrderId() == null) { orderInfo = orderInfoService.createPayOrder(payParam.getShopId(), payParam.getCheckOrderPay().getOrderAmount(), payParam.getCheckOrderPay().getRemark()); - }else { + } else { orderInfo = orderInfoService.getById(payParam.getCheckOrderPay().getOrderId()); } String payOrderNo = orderInfo.getPlatformType() + IdUtil.getSnowflakeNextId(); @@ -501,7 +501,7 @@ public class PayServiceImpl implements PayService { .bizEnum(ShopUserFlowBizEnum.ORDER_REFUND) .build(); shopUserService.updateMoney(orderInfo.getShopId(), shopUserMoneyEditDTO); - } else { + } else if (!orderInfo.getPayType().equals(PayEnums.CASH_PAY.getValue())){ //退款 param.getRefundAmount() refundOrder(orderInfo.getShopId(), orderInfo.getId(), orderInfo.getPayOrderId(), refPayOrderNo, param.getRefundReason(), param.getRefundAmount()); @@ -515,9 +515,25 @@ public class PayServiceImpl implements PayService { if (orderInfo.getRefundAmount().compareTo(orderInfo.getPayAmount()) < 0) { throw new ValidateException("退单失败,可退金额不足"); } - //退款 refundAmountTotal - refundOrder(orderInfo.getShopId(), orderInfo.getId(), orderInfo.getPayOrderId(), - refPayOrderNo, param.getRefundReason(), refundAmountTotal); + //非现金退款 + if (!param.isCash()) { + if (orderInfo.getPayType().equals(PayEnums.VIP_PAY.getValue())) { + ShopUser shopUser = shopUserService.getShopUserInfo(orderInfo.getShopId(), orderInfo.getUserId()); + //会员支付 退钱 + ShopUserMoneyEditDTO shopUserMoneyEditDTO = ShopUserMoneyEditDTO.builder() + .id(shopUser.getId()) + .money(param.getRefundAmount()) + .type(1) + .relationId(orderInfo.getId()) + .bizEnum(ShopUserFlowBizEnum.ORDER_REFUND) + .build(); + shopUserService.updateMoney(orderInfo.getShopId(), shopUserMoneyEditDTO); + } else if (!orderInfo.getPayType().equals(PayEnums.CASH_PAY.getValue())) { + //退款 param.getRefundAmount() + refundOrder(orderInfo.getShopId(), orderInfo.getId(), orderInfo.getPayOrderId(), + refPayOrderNo, param.getRefundReason(), param.getRefundAmount()); + } + } } } else { orderInfo.setOrderAmount(orderInfo.getOrderAmount().subtract(refundAmountTotal));