From 4a9ca8e24317da12e3dd07d93128a5d74c8103b8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 30 四月 2026 21:20:12 +0800
Subject: [PATCH] 修改bug
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java | 56 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 30 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..6b32447 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
@@ -99,35 +99,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();
}
--
Gitblit v1.7.1