From 9bb306e77b07fe5296eecc2e8d7edf9c9f8187e9 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 10 Jul 2025 17:37:35 +0800
Subject: [PATCH] 小程序:提交订单处理门店处理

---
 oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 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 82885bb..aaae919 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
@@ -119,7 +119,7 @@
         order.setOrderStatusDescribe(OrderStatusEnum.ZERO.getValue());
         order.setUserId(SecurityUtils.getCurrentUserId());
         order.setUsername(SecurityUtils.getCurrentUsername());
-        Store store = storeService.getMerchantStore(submit.getStoreId());
+        Store store = storeService.getById(submit.getStoreId());
         order.setStoreId(submit.getStoreId());
         order.setStoreName(store.getStoreName());
         order.setStoreLogo(store.getLogoImageUrl());
@@ -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