From 267c06a5864bb617b1ff0ea82210346bf5573f5f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 30 Apr 2025 18:06:45 +0800
Subject: [PATCH] refactor(mall): 优化投票活动接口参数设计

---
 src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

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 5c3aa3d..035ddd5 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
@@ -552,7 +552,11 @@
         happyActivityOrder.setNumCnt(dto.getNumCnt());
         happyActivityOrder.setAmount(amount);
         happyActivityOrder.setPayState(StateUpDownEnum.PAY_STATE_NOT_PAY.getCode());
-        happyActivityOrder.setPayType(StateUpDownEnum.PAY_METHOD_WECHAT.getCode());
+        if(BigDecimal.ZERO.compareTo(amount) == 0){
+            happyActivityOrder.setPayType(StateUpDownEnum.PAY_METHOD_NO_PAY.getCode());
+        }else{
+            happyActivityOrder.setPayType(StateUpDownEnum.PAY_METHOD_WECHAT.getCode());
+        }
         happyActivityOrder.setFailTime(failTime);
         log.info("创建订单,订单号="+JSONUtil.parse(happyActivityOrder));
         happyActivityOrderMapper.insert(happyActivityOrder);
@@ -578,6 +582,7 @@
         HashMap<String, Object> stringObjectHashMap = new HashMap<>();
         stringObjectHashMap.put("orderId",happyActivityOrder.getId());
         stringObjectHashMap.put("amount",amount);
+        stringObjectHashMap.put("payType",happyActivityOrder.getPayType());
         stringObjectHashMap.put("failTime",failTime);
 
         return new FebsResponse().success().data(stringObjectHashMap);
@@ -619,6 +624,7 @@
         try {
             // 根据支付类型处理不同的支付逻辑
             if (StateUpDownEnum.PAY_METHOD_NO_PAY.getCode() == payType) {
+//            if (BigDecimal.ZERO.compareTo(happyActivityOrder.getAmount()) == 0) {
                 // 处理无需支付的订单逻辑
                 processNoPayOrder(happyActivityOrder, orderId);
             } else if (StateUpDownEnum.PAY_METHOD_WECHAT.getCode() == payType) {
@@ -902,7 +908,7 @@
                 .last("limit 1")
         );
         if(happyActivityOrderItem == null){
-            throw new FebsException("票号异常!");
+            throw new FebsException("票号不存在!");
         }
 
         HappyActivity happyActivity = this.baseMapper.selectById(happyActivityOrderItem.getActivityId());
@@ -938,16 +944,17 @@
                         .eq(HappyActivityOrderItem::getCode, orderItemCode)
                         .last("limit 1")
         );
-        if(happyActivityOrderItem != null){
-            if(StateUpDownEnum.UP.getCode() == happyActivityOrderItem.getState()){
-                throw new FebsException("票号已核销!");
-            }
-
-            happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode());
-            happyActivityOrderItem.setTransferItemId(memberId);
-            happyActivityOrderItemMapper.updateById(happyActivityOrderItem);
-            agentProducer.sendCheckActivityItem(happyActivityOrderItem.getOrderId());
+        if(happyActivityOrderItem == null){
+            throw new FebsException("票号不存在!");
         }
+        if(StateUpDownEnum.UP.getCode() == happyActivityOrderItem.getState()){
+            throw new FebsException("票号已核销!");
+        }
+
+        happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode());
+        happyActivityOrderItem.setTransferItemId(memberId);
+        happyActivityOrderItemMapper.updateById(happyActivityOrderItem);
+        agentProducer.sendCheckActivityItem(happyActivityOrderItem.getOrderId());
         return new FebsResponse().success().message("操作成功");
     }
 

--
Gitblit v1.9.1