From d684c14222c6f158bdf29e722e4e9a35b4754193 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 25 四月 2026 06:58:17 +0800
Subject: [PATCH] 修改bug
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpActicityController.java | 35 ++++++++++++++++++++++++++++++++---
1 files changed, 32 insertions(+), 3 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 86c0be5..22c65f3 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
@@ -2,17 +2,21 @@
import com.xiaopeng.api.dto.operation.XpActivityDto;
+import com.xiaopeng.api.feignClient.account.XpAppUserCouponClient;
+import com.xiaopeng.api.model.account.XpAppUserCoupon;
import com.xiaopeng.api.model.operation.XpActicityCoupon;
import com.xiaopeng.api.model.operation.XpActicityStrategy;
import com.xiaopeng.api.model.operation.XpActivity;
import com.xiaopeng.api.model.operation.XpCoupon;
import com.xiaopeng.api.query.operation.XpActivityPageListQuery;
+import com.xiaopeng.api.vo.account.CouponVo;
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.operation.service.IXpActicityCouponService;
import com.xiaopeng.operation.service.IXpActicityService;
import com.xiaopeng.operation.service.IXpActicityStrategyService;
+import com.xiaopeng.operation.service.IXpCouponService;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -27,7 +31,10 @@
import javax.servlet.http.HttpServletRequest;
import java.time.Duration;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* <p>
@@ -54,7 +61,12 @@
private IXpActicityStrategyService xpActicityStrategyService;
@Resource
- private IXpActicityCouponService couponService;
+ private IXpCouponService xpCouponService;
+
+ @Resource
+ private XpAppUserCouponClient appUserCouponClient;
+
+
/**
* 获取所有白名单手机号
@@ -86,11 +98,28 @@
ValueOperations<String, String> ops = redisTemplate.opsForValue();
XpActivity activity = service.activiting(Long.valueOf(uid));
if (activity !=null) {
- List<XpActicityCoupon> cps = couponService.lambdaQuery().eq(XpActicityCoupon::getActivityId, activity.getId()).list();
+ List<XpAppUserCoupon> couponList = appUserCouponClient.getXpAppUserCoupon(activity.getId()).getData();
+ Set<Long> longSet = couponList.stream().map(XpAppUserCoupon::getCouponId).collect(Collectors.toSet());
+ 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);
+ }
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(cps);
+ activity.setCoupons(couponVos);
}
return R.ok(activity);
}
--
Gitblit v1.7.1