From 83396a38be3c69c81f8acc4681c18f5dd0e698be Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Tue, 08 Jul 2025 21:17:41 +0800
Subject: [PATCH] 完善提交订单逻辑

---
 oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 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 82885bb..c185dc3 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
@@ -196,6 +196,47 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public Order getByOrderNum(String orderNum) {
+        return orderMapper.getByOrderNum(orderNum);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void paySuccess(Order order) {
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updatePayStatus(String orderNum, PayStateEnum payState, String payMessage, String payTime) {
+        orderMapper.updatePayStatus(orderNum, payState.getKey(), payMessage, payTime);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void closeOrder(String orderNum) {
+        Order order = getByOrderNum(orderNum);
+        if (order == null) {
+            throw new BadRequestException("订单不存在");
+        }
+        PayTypeEnum anEnum = PayTypeEnum.find(order.getPayType());
+        switch (anEnum) {
+            case HWC:
+            case HWC2:
+                JSONObject object = swiftPassService.query(orderNum, anEnum);
+                if (object.getString("trade_state").equals(PayStateEnum.SUCCESS.getKey())) {
+                    throw new BadRequestException("订单已支付");
+                }
+                if (object.getString("trade_state").equals(PayStateEnum.CLOSED.getKey())) {
+                    throw new BadRequestException("订单已关闭");
+                }
+                swiftPassService.closeOrder(orderNum, anEnum);
+                break;
+        }
+        orderMapper.updateCloseStatus(orderNum, PayStateEnum.CLOSED.getKey());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public void create(Order resources) {
         orderMapper.insert(resources);
     }

--
Gitblit v1.9.3