From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java |   84 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 26 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 170d103..04a2792 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
@@ -14,6 +14,9 @@
 import com.xiaopeng.common.core.constant.CacheConstants;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.web.page.PageInfo;
+import com.xiaopeng.common.log.annotation.AdminOperationLog;
+import com.xiaopeng.common.log.enums.AdminBusinessType;
+import com.xiaopeng.common.log.enums.AdminOperationType;
 import com.xiaopeng.operation.service.*;
 import com.xiaopeng.operation.service.IXpActicityCouponService;
 import com.xiaopeng.operation.service.IXpActicityService;
@@ -99,35 +102,39 @@
     public R<XpActivity> firstEnter(HttpServletRequest request) {
         String uid = request.getHeader("XP-Uid");
         ValueOperations<String, String> ops = redisTemplate.opsForValue();
-        XpActivity activity = service.activiting(Long.valueOf(uid));
-        if (activity != null) {
-            List<XpAppUserCoupon> couponList = appUserCouponClient.getXpAppUserCoupon(activity.getId()).getData();
-            Set<Long> longSet = couponList.stream().map(XpAppUserCoupon::getCouponId).collect(Collectors.toSet());
-            if (longSet.isEmpty()) {
-                return R.ok();
-            }
-            List<XpCoupon> xpCoupons1 = xpCouponService.listByIds(longSet);
-            List<CouponVo> couponVos = new ArrayList<>();
-            for (XpCoupon xpCoupon : xpCoupons1) {
-                XpAppUserCoupon xpAppUserCoupon = couponList.stream().filter(s -> s.getCouponId().equals(xpCoupon.getId())).findFirst().get();
-                CouponVo vo = new CouponVo();
-                vo.setId(xpCoupon.getId());
-                vo.setConditionalAmount(xpCoupon.getConditionalAmount());
-                vo.setAmount(xpCoupon.getAmount());
-                vo.setCouponType(xpCoupon.getCouponType());
-                vo.setCouponName(xpCoupon.getCouponName());
-                vo.setCouponDesc(xpCoupon.getCouponDescription());
-                vo.setEndTime(xpAppUserCoupon.getExpirationTime().toString());
-                long count = couponList.stream().filter(s -> s.getCouponId().equals(xpCoupon.getId())).count();
-                vo.setQuantity(count);
-                couponVos.add(vo);
-            }
+        List<XpActivity> activityList = service.activiting(Long.valueOf(uid));
+        for (XpActivity activity : activityList) {
             Duration duration = Duration.between(LocalDateTime.now(), activity.getEndTime());
             Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(activity.getId()), uid), "1", duration);
-            activity.setIsFirst(isFirst);
-            activity.setCoupons(couponVos);
+            if(isFirst){
+                List<XpAppUserCoupon> couponList = appUserCouponClient.getXpAppUserCoupon(activity.getId()).getData();
+                Set<Long> longSet = couponList.stream().map(XpAppUserCoupon::getCouponId).collect(Collectors.toSet());
+                if (longSet.isEmpty()) {
+                    return R.ok();
+                }
+                List<XpCoupon> xpCoupons1 = xpCouponService.listByIds(longSet);
+                List<CouponVo> couponVos = new ArrayList<>();
+                for (XpCoupon xpCoupon : xpCoupons1) {
+                    XpAppUserCoupon xpAppUserCoupon = couponList.stream().filter(s -> s.getCouponId().equals(xpCoupon.getId())).findFirst().get();
+                    CouponVo vo = new CouponVo();
+                    vo.setId(xpCoupon.getId());
+                    vo.setConditionalAmount(xpCoupon.getConditionalAmount());
+                    vo.setAmount(xpCoupon.getAmount());
+                    vo.setCouponType(xpCoupon.getCouponType());
+                    vo.setCouponName(xpCoupon.getCouponName());
+                    vo.setCouponDesc(xpCoupon.getCouponDescription());
+                    vo.setEndTime(xpAppUserCoupon.getExpirationTime().toString());
+                    long count = couponList.stream().filter(s -> s.getCouponId().equals(xpCoupon.getId())).count();
+                    vo.setQuantity(count);
+                    couponVos.add(vo);
+                }
+
+                activity.setIsFirst(isFirst);
+                activity.setCoupons(couponVos);
+                return R.ok(activity);
+            }
         }
-        return R.ok(activity);
+        return R.ok();
     }
 
 
@@ -168,6 +175,12 @@
 
     @PostMapping("/v1/api/appUserCoupon/add")
     @ApiOperation(value = "添加活动", tags = {"管理后台-活动管理"}, response = XpCoupon.class)
+    @AdminOperationLog(
+            businessType = AdminBusinessType.ACTIVITY_MANAGEMENT,
+            operationType = AdminOperationType.ADD,
+            content = "添加活动",
+            appendRequestData = true
+    )
     public R<?> add(@RequestBody XpActivityDto dto) {
         service.save(dto);
         return R.ok();
@@ -176,6 +189,12 @@
 
     @PostMapping("/v1/api/appUserCoupon/{op}")
     @ApiOperation(value = "修改活动状态,release,pause,resume,stop,del", tags = {"管理后台-活动管理"}, response = XpCoupon.class)
+    @AdminOperationLog(
+            businessType = AdminBusinessType.ACTIVITY_MANAGEMENT,
+            operationTypeExpression = "#p0 == 'release' ? T(com.xiaopeng.common.log.enums.AdminOperationType).RELEASE : (#p0 == 'del' ? T(com.xiaopeng.common.log.enums.AdminOperationType).DELETE : T(com.xiaopeng.common.log.enums.AdminOperationType).EDIT)",
+            contentExpression = "'修改活动状态:' + #p0 + ',id=' + #p1",
+            appendRequestData = true
+    )
     public R<XpActivity> updateById(@PathVariable String op, @RequestParam Long id) {
 
         XpActivity activity = service.getById(id);
@@ -227,4 +246,17 @@
         }
         return R.ok(xpActicityStrategyService.getById(one.getActicityStrategyId()));
     }
+
+
+
+    /**
+     * 获取当前所有有效活动
+     * @return
+     */
+    @GetMapping("/logan/inner/acticity/getAllEffectiveActivity")
+    R<List<XpActivity>> getAllEffectiveActivity(){
+        List<XpActivity> list = service.lambdaQuery().eq(XpActivity::getStatus, 2).list();
+        return R.ok(list);
+    }
+
 }

--
Gitblit v1.7.1