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 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

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