From 0822ad590ade9663335802c683b88a54705a17c8 Mon Sep 17 00:00:00 2001
From: chen-xin-zhi <3588068430@qq.com>
Date: Sat, 21 Dec 2024 14:30:02 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E5=95=86=E5=93=81?=
 =?UTF-8?q?=E7=B1=BB=E5=88=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../cultural/heritage/controller/order/OrderController.java | 4 ++++
 .../heritage/controller/wx/WeChatPayController.java         | 6 ++++--
 .../heritage/service/wxpay/impl/WeChatServiceImpl.java      | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/cultural/heritage/controller/order/OrderController.java b/src/main/java/com/cultural/heritage/controller/order/OrderController.java
index 910cc63..b27961b 100644
--- a/src/main/java/com/cultural/heritage/controller/order/OrderController.java
+++ b/src/main/java/com/cultural/heritage/controller/order/OrderController.java
@@ -309,6 +309,7 @@ public class OrderController {
         userService.getLoginUser(request);
         Order order = orderService.getById(id);
         ThrowUtils.throwIf(order == null, ErrorCode.OPERATION_ERROR, "订单不存在");
+        ThrowUtils.throwIf(!order.getOrderStatus().equals(OrderStatusConstant.PENDING_PAYMENT), ErrorCode.SYSTEM_ERROR, "订单状态错误");
         order.setOrderStatus(OrderStatusConstant.TRANSACTION_CLOSED);
         boolean update = orderService.updateById(order);
         ThrowUtils.throwIf(!update, ErrorCode.OPERATION_ERROR, "订单状态更新失败");
@@ -350,4 +351,7 @@ public class OrderController {
     }
 
 
+
+
+
 }
diff --git a/src/main/java/com/cultural/heritage/controller/wx/WeChatPayController.java b/src/main/java/com/cultural/heritage/controller/wx/WeChatPayController.java
index 9a19695..1856879 100644
--- a/src/main/java/com/cultural/heritage/controller/wx/WeChatPayController.java
+++ b/src/main/java/com/cultural/heritage/controller/wx/WeChatPayController.java
@@ -1,10 +1,12 @@
 package com.cultural.heritage.controller.wx;
 
 
+import com.cultural.heritage.annotation.AuthCheck;
 import com.cultural.heritage.common.BaseResponse;
 import com.cultural.heritage.common.ErrorCode;
 import com.cultural.heritage.common.ResultUtils;
 import com.cultural.heritage.constant.OrderStatusConstant;
+import com.cultural.heritage.constant.UserConstant;
 import com.cultural.heritage.exception.BusinessException;
 import com.cultural.heritage.exception.ThrowUtils;
 import com.cultural.heritage.model.dto.CommonRequest;
@@ -80,10 +82,10 @@ public class WeChatPayController {
     }
 
     /**
-     * 退款(仅管理员和商家)
+     * 退款(仅管理员)
      */
     @PostMapping("/refund/create")
-//    @AuthCheck(mustRole = UserConstant.ADMIN_ROLE)
+    @AuthCheck(mustRole = UserConstant.ADMIN_ROLE)
     public BaseResponse<Refund> createRefund(@RequestBody CommonRequest commonRequest) {
         Long orderId = commonRequest.getId();
         Order order = ordersService.getById(orderId);
diff --git a/src/main/java/com/cultural/heritage/service/wxpay/impl/WeChatServiceImpl.java b/src/main/java/com/cultural/heritage/service/wxpay/impl/WeChatServiceImpl.java
index e0c5bbb..595d8af 100644
--- a/src/main/java/com/cultural/heritage/service/wxpay/impl/WeChatServiceImpl.java
+++ b/src/main/java/com/cultural/heritage/service/wxpay/impl/WeChatServiceImpl.java
@@ -187,7 +187,7 @@ public class WeChatServiceImpl implements WeChatService {
 
         // 恢复商品库存
         QueryWrapper<OrderItems> orderItemsQueryWrapper = new QueryWrapper<>();
-        orderItemsQueryWrapper.eq("orderId", orderIdByString);
+        orderItemsQueryWrapper.eq("orderId", order.getId());
         List<OrderItems> orderItemsList = orderItemService.list(orderItemsQueryWrapper);
         // 获取商品id列表
         List<Long> goodIds = orderItemsList.stream().map(orderItems -> {