From 0490f2c5e070322d5a5da3cbecabe183ffbe85f2 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 24 十月 2025 15:21:43 +0800
Subject: [PATCH] 抽奖活动

---
 buyer-api/src/main/java/cn/lili/controller/lmk/PopupController.java                    |   30 +++++++++++++++++++++++++++++-
 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java |    1 +
 2 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/PopupController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/PopupController.java
index c3c2ba0..fa0114c 100644
--- a/buyer-api/src/main/java/cn/lili/controller/lmk/PopupController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/PopupController.java
@@ -11,6 +11,8 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -26,10 +28,36 @@
     private final Cache cache;
 
     private final PrizeActivityService prizeActivityService;
+
+    @GetMapping("/hideActivityPopupToday")
+    public  Result hideActivityPopupToday(){
+        String id = UserContext.getCurrentUser().getId();
+        Object o = cache.get(id);
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime endOfDay = now.toLocalDate().atTime(23, 59, 59);
+        long remainingSeconds = ChronoUnit.SECONDS.between(now, endOfDay);
+
+        // 纭繚鍓╀綑绉掓暟涓嶄负璐燂紙鏋佺鎯呭喌锛氬綋鍓嶆椂闂存濂芥槸23:59:59锛�
+        if (remainingSeconds <= 0) {
+            remainingSeconds = 1; // 鑷冲皯淇濈暀1绉掞紝閬垮厤缂撳瓨绔嬪嵆澶辨晥
+        }
+        if (o == null){
+            cache.put(id,id,remainingSeconds, TimeUnit.SECONDS);
+
+            return Result.ok();
+        }else {
+            cache.remove(id);
+            cache.put(id,id,remainingSeconds, TimeUnit.SECONDS);
+
+            return Result.ok();
+        }
+
+
+    }
+
     @GetMapping("/setPopupRedisTime")
     public Result setPopupRedisTime(){
         String id = UserContext.getCurrentUser().getId();
-
         Object o = cache.get(id);
         if (o == null){
             cache.put(id,id,10L, TimeUnit.SECONDS);
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
index 8b9890e..51227cb 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeActivityServiceImpl.java
@@ -67,6 +67,7 @@
         PrizeActivity prizeActivity = new LambdaQueryChainWrapper<>(baseMapper)
                 .eq(PrizeActivity::getDeleteFlag,Boolean.FALSE)
                 .eq(PrizeActivity::getPopup,Boolean.TRUE)
+                .eq(PrizeActivity::getEnableStatus,PrizeActivityStatusEnum.ON.name())
                 .one();
         PrizeActivityVO prizeActivityVO = new PrizeActivityVO();
         if (prizeActivity != null){

--
Gitblit v1.8.0