From bf6989e1f9cc614cf0439f048280cbcdb78d4009 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期五, 29 八月 2025 02:12:03 +0800
Subject: [PATCH] 提交本地代码

---
 framework/src/main/java/cn/lili/modules/lmk/enums/general/PrizeUserActionEnum.java |   20 +++++++--
 framework/src/main/java/cn/lili/modules/lmk/domain/entity/PrizeActivity.java       |    5 ++
 buyer-api/src/main/java/cn/lili/controller/lmk/PrizeController.java                |    8 ++--
 framework/src/main/java/cn/lili/modules/lmk/service/PrizeService.java              |    4 ++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java     |   59 +++++++++++++++++++++++++++--
 framework/src/main/java/cn/lili/modules/lmk/domain/form/AddPrizeNumForm.java       |    6 ++-
 6 files changed, 85 insertions(+), 17 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/PrizeController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/PrizeController.java
index a13df76..90a9c91 100644
--- a/buyer-api/src/main/java/cn/lili/controller/lmk/PrizeController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/PrizeController.java
@@ -63,11 +63,11 @@
     /**
      * 澧炲姞鎶藉娆℃暟
      *
-     * @param prizeActivityId
+     * @param addPrizeNumForm
      * @return
      */
-    @PostMapping("/addPrizeNum/{prizeActivityId}")
-    public Result addPrizeNum(@PathVariable String prizeActivityId, @RequestBody AddPrizeNumForm addPrizeNumForm) {
-        return prizeService.grantRecord(prizeActivityId);
+    @PostMapping("/addPrizeNum")
+    public Result addPrizeNum( @RequestBody AddPrizeNumForm addPrizeNumForm) {
+        return prizeService.addPrizeNum(addPrizeNumForm);
     }
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/PrizeActivity.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/PrizeActivity.java
index 558b021..8961563 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/PrizeActivity.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/PrizeActivity.java
@@ -1,5 +1,6 @@
 package cn.lili.modules.lmk.domain.entity;
 
+import cn.lili.modules.lmk.enums.general.PrizeActivityStatusEnum;
 import cn.lili.mybatis.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -55,7 +56,9 @@
     private String activityCover;
 
     @TableField("enable_status")
-     /** 鏄惁寮�鍚椿鍔� */
+     /** 鏄惁寮�鍚椿鍔�
+      * @see PrizeActivityStatusEnum
+      * */
     private String enableStatus;
 
     @TableField("popup")
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/AddPrizeNumForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/AddPrizeNumForm.java
index b5e4c40..ac64b4a 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/AddPrizeNumForm.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/AddPrizeNumForm.java
@@ -16,6 +16,8 @@
      *鎶藉娲诲姩id
      */
     private String prizeActivityId;
-
-
+    /**
+     * 鍏朵粬鎵╁睍鍙傛暟JSON鏍煎紡鐨勫瓧绗︿覆鐢ㄤ簬鏍¢獙鏁版嵁鐨勬湁鏁堟��
+     */
+    private String extend;
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/enums/general/PrizeUserActionEnum.java b/framework/src/main/java/cn/lili/modules/lmk/enums/general/PrizeUserActionEnum.java
index 95f4d32..de039e9 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/enums/general/PrizeUserActionEnum.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/enums/general/PrizeUserActionEnum.java
@@ -10,10 +10,20 @@
     /**
      * 鑾峰彇浼樻儬鍗风殑鏂瑰紡
      */
-    SYSTEM("绯荤粺璧犻��"),
-    BUY("璐拱"),
-    SHARE("鍒嗕韩"),
-    SEE_SHOP("鐪嬪晢鍩�"),
-    SEE_VIDEO("鐪嬭棰�");
+    SYSTEM("绯荤粺璧犻��",1),
+    BUY("璐拱",1),
+    SHARE("鍒嗕韩",1),
+    SEE_SHOP("鐪嬪晢鍩�",1),
+    SEE_VIDEO("鐪嬭棰�",1);
     private final String description;
+    private final Integer sendNumber;
+
+    public static PrizeUserActionEnum select(String name) {
+        for (PrizeUserActionEnum prizeUserActionEnum : values()) {
+            if (prizeUserActionEnum.name().equals(name)) {
+                return prizeUserActionEnum;
+            }
+        }
+        return null;
+    }
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeService.java b/framework/src/main/java/cn/lili/modules/lmk/service/PrizeService.java
index 5e528da..a67ac86 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/PrizeService.java
@@ -1,7 +1,9 @@
 package cn.lili.modules.lmk.service;
 
 import cn.lili.base.Result;
+import cn.lili.modules.lmk.domain.form.AddPrizeNumForm;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 
 
 public interface PrizeService {
@@ -14,4 +16,6 @@
 
     Result grantRecord( String prizeActivityId);
 
+    Result addPrizeNum(AddPrizeNumForm addPrizeNumForm);
+
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
index c0359cf..60f23e6 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeServiceImpl.java
@@ -7,6 +7,7 @@
 import cn.lili.common.security.context.UserContext;
 import cn.lili.common.utils.StringUtils;
 import cn.lili.modules.lmk.domain.entity.*;
+import cn.lili.modules.lmk.domain.form.AddPrizeNumForm;
 import cn.lili.modules.lmk.domain.query.PrizeRecordTimeQuery;
 import cn.lili.modules.lmk.domain.vo.PrizeDetailVO;
 import cn.lili.modules.lmk.domain.vo.PrizeProbabilityVO;
@@ -56,6 +57,7 @@
     private final RocketmqCustomProperties rocketmqCustomProperties;
     private final RocketMQTemplate rocketMQTemplate;
     private final COSUtil cosUtil;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result prize(String prizeId) {
@@ -174,7 +176,7 @@
         prizeRecordTimeQuery.setEndTime(endTime);
         prizeRecordTimeQuery.setRecordActivityId(prizeId);
         prizeRecordListByTime = prizeRecordService.getPrizeRecordListByTime(prizeRecordTimeQuery);
-        prizeRecordListByTime.stream().filter(item->{
+        prizeRecordListByTime.stream().filter(item -> {
             return item.getActivityPrizeRefId() != null;
         }).forEach(item -> {
             ActivityRefPrize activityRefPrize = canPrizeMap.get(item.getActivityPrizeRefId());
@@ -384,7 +386,7 @@
         if (useNum >= maxPrize) {
             return Result.ok().data(0);
         } else {
-            return Result.ok().data(userPrizeNum>maxPrize?maxPrize-useNum:notUseNum);
+            return Result.ok().data(userPrizeNum > maxPrize ? maxPrize - useNum : notUseNum);
         }
     }
 
@@ -421,16 +423,16 @@
         }
         PrizeDetailVO data = prizeActivityService.prizeInfo(prizeActivityId);
         String activityCover = data.getActivityCover();
-        if (StringUtils.isNotBlank(activityCover)&&!activityCover.contains("http")) {
+        if (StringUtils.isNotBlank(activityCover) && !activityCover.contains("http")) {
             data.setActivityCover(cosUtil.getPreviewUrl(activityCover));
         }
         data.getPrizeInfoVOS().forEach(info -> {
             String prizeImg = info.getPrizeImg();
             String prizeCover = info.getPrizeCover();
-            if (StringUtils.isNotBlank(prizeImg)&&!prizeImg.contains("http")) {
+            if (StringUtils.isNotBlank(prizeImg) && !prizeImg.contains("http")) {
                 info.setPrizeImg(cosUtil.getPreviewUrl(prizeImg));
             }
-            if (StringUtils.isNotBlank(prizeCover)&&!prizeCover.contains("http")) {
+            if (StringUtils.isNotBlank(prizeCover) && !prizeCover.contains("http")) {
                 info.setPrizeCover(cosUtil.getPreviewUrl(prizeCover));
             }
         });
@@ -441,4 +443,51 @@
     public Result grantRecord(String prizeActivityId) {
         return prizeDrawService.grantRecord(prizeActivityId);
     }
+
+    @Override
+    public Result addPrizeNum(AddPrizeNumForm addPrizeNumForm) {
+        PrizeActivity activity = prizeActivityService.getById(addPrizeNumForm.getPrizeActivityId());
+        if (activity == null) {
+            throw new ServiceException("褰撳墠娲诲姩涓嶅瓨鍦�");
+        }
+        if (!PrizeActivityStatusEnum.ON.name().equals(activity.getEnableStatus())) {
+            throw new ServiceException("褰撳墠娲诲姩娌″紑鍚�");
+        }
+        Date date = new Date();
+        //娲诲姩缁撴潫涓嶉渶瑕佹坊鍔�
+        if (date.after(activity.getEndTime())) {
+            throw new ServiceException("褰撳墠娲诲姩宸茬粨鏉�");
+        }
+        Integer maxPrize = activity.getMaxPrize();
+        String userId = addPrizeNumForm.getUserId();
+        List<PrizeNumber> prizeNumberList = getPrizeNumberList(activity.getId(), userId);
+        if (prizeNumberList.size() >= maxPrize) {
+            throw new ServiceException("鎶藉娆℃暟宸茶揪鍒颁笂闄愪簡");
+        }
+        PrizeUserActionEnum actionEnum = PrizeUserActionEnum.select(addPrizeNumForm.getAddType());
+        if (actionEnum == null) {
+            throw new ServiceException("褰撳墠绫诲瀷涓嶅瓨鍦�");
+        }
+       Boolean check ;
+         //todo 杩涜鏁版嵁鏍¢獙
+        switch (actionEnum) {
+            case BUY:
+                System.err.println("BUY");
+                break;
+            case SHARE:
+                //鐩存帴鑾峰緱鎶藉娆℃暟
+                System.err.println("SHARE");
+                break;
+            case SEE_SHOP:
+                System.err.println("SEE_SHOP");
+                break;
+            case SEE_VIDEO:
+                System.err.println("SEE_VIDEO");
+                break;
+            default:
+
+                break;
+        }
+        return null;
+    }
 }

--
Gitblit v1.8.0