From 6da3cde42c90fa5383cf1b48e632cb1107c80d3e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 25 四月 2026 07:27:16 +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 | 80 +++++++++++++++++++++++++++++++++-------
1 files changed, 66 insertions(+), 14 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 da591d2..ea82e80 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
@@ -3,13 +3,23 @@
import com.xiaopeng.api.dto.operation.XpActivityDto;
import com.xiaopeng.api.model.operation.*;
+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.operation.XpActivityVo;
+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.utils.bean.BeanUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.service.*;
+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;
import lombok.RequiredArgsConstructor;
@@ -23,7 +33,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>
@@ -49,6 +62,14 @@
@Resource
private IXpActicityStrategyService xpActicityStrategyService;
+ @Resource
+ private IXpCouponService xpCouponService;
+
+ @Resource
+ private XpAppUserCouponClient appUserCouponClient;
+
+
+
/**
* 获取所有白名单手机号
* @return
@@ -72,26 +93,57 @@
* @return 活动信息,id 和 img
*/
@GetMapping("/api/v1/mini-program/acticity/firstEnter")
- @ApiOperation(value = "获取是否第一次推送活动", tags = {"管理后台-活动首次进入情况"})
- public R<XpActivityVo> firstEnter(HttpServletRequest request){
-
+ @ApiOperation(value = "获取是否第一次推送活动", tags = {"小程序-首页活动"})
+ @XpClientCheck(checkToken = false, checkOtpToken = true)
+ public R<XpActivity> firstEnter(HttpServletRequest request){
String uid = request.getHeader("XP-Uid");
ValueOperations<String, String> ops = redisTemplate.opsForValue();
- XpActivity activity = service.activiting();
- List<XpActicityCoupon> cps = couponService.lambdaQuery().eq(XpActicityCoupon::getActivityId, activity.getId()).list();
- XpActivityVo ret = new XpActivityVo();
+ XpActivity activity = service.activiting(Long.valueOf(uid));
if (activity !=null) {
- BeanUtils.copyBeanProp(ret, activity);
+ 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);
+ }
Duration duration = Duration.between(LocalDateTime.now(), activity.getEndTime());
Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(activity.getId()), uid),"1", duration);
- ret.setIsFirst(isFirst);
- ret.setCoupons(cps);
+ activity.setIsFirst(isFirst);
+ activity.setCoupons(couponVos);
}
- return R.ok(ret);
-
+ return R.ok(activity);
}
- IXpActicityCouponService couponService;
+
+ /**
+ * 是否第一次进入某活动
+ * @return 活动信息,id 和 img
+ */
+ @GetMapping("/api/v1/mini-program/acticity/getFloatActicity")
+ @ApiOperation(value = "获取首页活动悬浮图标数据", tags = {"小程序-首页活动"})
+ @XpClientCheck(checkToken = false, checkOtpToken = true)
+ public R<XpActivity> getFloatActicity(HttpServletRequest request){
+ String uid = request.getHeader("XP-Uid");
+ XpActivity activity = service.getFloatActicity(Long.valueOf(uid));
+ return R.ok(activity);
+ }
+
+
@Resource
IXpActicityStrategyService strategyService;
--
Gitblit v1.7.1