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