From 0b4174396fc9dad549d96716acc8990d2d08fe4c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 18 四月 2026 20:12:32 +0800
Subject: [PATCH] [feat] 首次进入活动

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
index d2df9a8..840ec46 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java
@@ -1,16 +1,24 @@
 package com.xiaopeng.operation.controller;
 
 
+import com.xiaopeng.api.model.operation.XpActicity;
+import com.xiaopeng.common.core.constant.CacheConstants;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.utils.bean.BeanUtils;
 import com.xiaopeng.operation.service.IXpActicityService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.time.Duration;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -41,4 +49,32 @@
         }
         return R.ok(xpActicityService.findListToIds(acticityName));
     }
+
+
+    @Resource
+    RedisTemplate<String, String> redisTemplate;
+
+
+    /**
+     * 是否第一次进入某活动
+     * @return 活动信息,id 和 img
+     */
+    @PostMapping("/logan/inner/acticity/findListToIds")
+    @ApiOperation(value = "获取活动信息ids", tags = {"管理后台-活动首次进入情况"})
+    public R<XpActicity> firstEnter(HttpServletRequest request){
+
+        String uid = request.getHeader("XP-Uid");
+        ValueOperations<String, String> ops = redisTemplate.opsForValue();
+        XpActicity acticity = xpActicityService.activiting();
+        XpActicity ret = new XpActicity();
+        if (acticity !=null) {
+            BeanUtils.copyBeanProp(ret, acticity);
+            Duration duration = Duration.between(LocalDateTime.now(), acticity.getEndTime());
+            Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(acticity.getId()), uid),"1", duration);
+            ret.setIsFirst(isFirst);
+        }
+        return R.ok(acticity);
+
+    }
+
 }

--
Gitblit v1.7.1