From 369d5cb00b6c87dbb5e6ea6b3482742e034c27ea Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 24 Apr 2025 10:49:07 +0800
Subject: [PATCH] feat(mall): 更新订单状态逻辑并调整支付相关功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java |   13 +++++++------
 src/main/java/cc/mrbird/febs/mall/entity/HappyActivityOrder.java             |    2 ++
 src/main/java/cc/mrbird/febs/common/enumerates/StateUpDownEnum.java          |    8 ++++++++
 src/main/resources/application-dev.yml                                       |    2 +-
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java           |    1 +
 5 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index 8993c1e..4a3500e 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -34,5 +34,6 @@
         registration.excludePathPatterns("/api/xcxPay/fapiaoCallBack");
         registration.excludePathPatterns("/api/happyCategory/allCategory");
         registration.excludePathPatterns("/api/happyCategory/indexCategory");
+        registration.excludePathPatterns("/api/happyActivity/activityList");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/StateUpDownEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/StateUpDownEnum.java
index 1bfced4..6bbca44 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/StateUpDownEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/StateUpDownEnum.java
@@ -27,6 +27,14 @@
     VOTE_OPTION_STATE_AUDIT_REFUSE(2),
 
     /**
+     * 订单状态 1-待支付 2-待使用 3-已使用 4-售后
+     */
+    ORDER_STATE_WAIT_PAY(1),
+    ORDER_STATE_WAIT_USE(2),
+    ORDER_STATE_USED(3),
+    ORDER_STATE_AFTER_SALE(4),
+
+    /**
      * 支付状态 0-待支付 1-支付成功 2-支付失败
      */
     PAY_STATE_NOT_PAY(0),
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/HappyActivityOrder.java b/src/main/java/cc/mrbird/febs/mall/entity/HappyActivityOrder.java
index c815c20..c5cc4c2 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/HappyActivityOrder.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/HappyActivityOrder.java
@@ -25,6 +25,7 @@
      `order_no` varchar(32) DEFAULT NULL COMMENT '订单号',
      `pay_order_no` text COMMENT '支付订单号',
      `wx_order_no` varchar(100) DEFAULT NULL COMMENT '微信订单编号',
+     `state` int(11) DEFAULT '1' COMMENT '订单状态 1-待支付 2-待使用 3-已使用 4-售后',
      */
 
 
@@ -40,4 +41,5 @@
     private String orderNo;
     private String payOrderNo;
     private String wxOrderNo;
+    private Integer state;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
index a0df434..05d3b88 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -446,7 +446,7 @@
                 BrandWCPayRequestData brandWCPayRequestData = iXcxPayService.startPaymentActivity(happyActivityOrder);
                 wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
                 payResultStr = brandWCPayRequestData.getPrepay_id();
-                updateOrderState(happyActivityOrder, payType, StateUpDownEnum.PAY_STATE_NOT_PAY.getCode());
+                updateOrderState(happyActivityOrder, payType, StateUpDownEnum.PAY_STATE_NOT_PAY.getCode(),StateUpDownEnum.ORDER_STATE_WAIT_PAY.getCode());
             } else if (StateUpDownEnum.PAY_METHOD_BALANCE.getCode() == payType ||
                        StateUpDownEnum.PAY_METHOD_INTEGRAL.getCode() == payType) {
                 // 处理余额或积分支付逻辑,验证交易密码并完成支付
@@ -492,22 +492,23 @@
         }
     }
 
-    // 处理未支付订单
+    // 处理无需支付订单
     private void processNoPayOrder(HappyActivityOrder order, Long orderId) {
-        updateOrderState(order, StateUpDownEnum.PAY_METHOD_NO_PAY.getCode(), StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode());
+        updateOrderState(order, StateUpDownEnum.PAY_METHOD_NO_PAY.getCode(), StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode(),StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode());
         generateOrderItemCodes(orderId);
     }
 
-    // 处理已支付订单
+    // 处理余额和积分支付的订单
     private void processPaidOrder(HappyActivityOrder order, Long orderId, Integer payType) {
-        updateOrderState(order, payType, StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode());
+        updateOrderState(order, payType, StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode(),StateUpDownEnum.ORDER_STATE_WAIT_USE.getCode());
         generateOrderItemCodes(orderId);
     }
 
     // 更新订单状态
-    private void updateOrderState(HappyActivityOrder order, Integer payType, Integer payState) {
+    private void updateOrderState(HappyActivityOrder order, Integer payType, Integer payState, Integer state) {
         order.setPayState(payState);
         order.setPayType(payType);
+        order.setState(state);
         if (payState == StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode()) {
             order.setPayTime(new Date());
         }
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index a3d7d38..6f68131 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -40,7 +40,7 @@
         # 连接池最大阻塞等待时间(使用负值表示没有限制)
         max-wait: 10000
     # 连接超时时间(毫秒)
-    timeout: 5000
+    timeout: 500000
   rabbitmq:
     host: 120.27.238.55
     port: 5672

--
Gitblit v1.9.1