From d6d06b62f76cb972bb220035401520e100cb1a35 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Tue, 19 Aug 2025 21:40:47 +0800
Subject: [PATCH] 取消订单校验优化

---
 oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java |   17 +++++++++++++++--
 oying-common/src/main/java/com/oying/utils/enums/OrderStatusEnum.java              |    1 +
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/oying-common/src/main/java/com/oying/utils/enums/OrderStatusEnum.java b/oying-common/src/main/java/com/oying/utils/enums/OrderStatusEnum.java
index 114841b..0a37bb9 100644
--- a/oying-common/src/main/java/com/oying/utils/enums/OrderStatusEnum.java
+++ b/oying-common/src/main/java/com/oying/utils/enums/OrderStatusEnum.java
@@ -22,6 +22,7 @@
     TWELVE(12, "REFUND", "退款申诉"),
     THIRTEEN(13, "REFUND", "申请同意"),
     FOURTEEN(14, "REFUND", "退款成功"),
+    FIFTEEN(15, "REFUND", "取消退款"),
     UNKNOWN(99, "UNKNOWN", "未知枚举");
 
     private final Integer key;
diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java
index ba1eb63..27ef9c0 100644
--- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java
@@ -294,7 +294,7 @@
         OrderResponse response = getByOrderNum(orderNum);
         Order order = response.getOrder();
         if (order == null) {
-            throw new BadRequestException("订单不存在");
+            throw new BadRequestException("订单不存在!");
         }
         if (!SecurityUtils.getCurrentUserId().equals(order.getUserId())) {
             throw new BadRequestException("不能修改他人订单");
@@ -307,7 +307,7 @@
             case HWC:
             case HWC2:
                 JSONObject object = swiftPassService.query(orderNum, anEnum);
-                if (object.getString("trade_state").equals(PayStateEnum.NOTPAY.getKey())) {
+                if (!object.getString("trade_state").equals(PayStateEnum.NOTPAY.getKey())) {
                     throw new BadRequestException(PayStateEnum.getValue(order.getPayState()));
                 }
                 swiftPassService.closeOrder(orderNum, anEnum);
@@ -335,6 +335,19 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void deleteAll(List<Long> ids) {
+        Long userid = SecurityUtils.getCurrentUserId();
+        for (Long id : ids) {
+            Order order = getById(id);
+            if (order == null) {
+                throw new BadRequestException("订单不存在!");
+            }
+            if (!order.getUserId().equals(userid)) {
+                throw new BadRequestException("不能删除他人订单");
+            }
+            if (!order.getPayState().equals(PayStateEnum.NOTPAY.getKey())) {
+                throw new BadRequestException("只能删除未支付订单");
+            }
+        }
         orderMapper.deleteBatchIds(ids);
     }
 

--
Gitblit v1.9.3