From 09ac251a089f5bb79d59a12bf2f932dda12c4ca2 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 10 Jul 2025 15:53:17 +0800
Subject: [PATCH] 小程序:微信授权登录;根据订单号查询订单操作日志

---
 oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 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..7f31fb6 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
@@ -165,7 +165,7 @@
             if (product == null) {
                 throw new BadRequestException("商品不存在");
             }
-            if (product.getStoreId().equals(criteria.getStoreId())) {
+            if (!product.getStoreId().equals(criteria.getStoreId())) {
                 throw new BadRequestException("不支持跨门店下单");
             }
             if (!product.getStatus().equals(ProductStatusEnum.AVAILABLE.getValue())) {
@@ -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