From 9d7285c4ed044bf7491bae4ee740aecb87f4b589 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Fri, 6 Oct 2023 01:19:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=90=A5=E9=94=80=E6=B4=BB=E5=8A=A8=EF=BC=9A?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=20list-by-spu-ids=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/activity/AppActivityController.java | 53 ++++++++++--------- .../CombinationActivityService.java | 2 +- .../seckill/SeckillActivityService.java | 2 +- 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java index e18eb20a5..5ccc2983e 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java @@ -1,5 +1,7 @@ package cn.iocoder.yudao.module.promotion.controller.app.activity; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.map.MapUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.promotion.controller.app.activity.vo.AppActivityRespVO; import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO; @@ -19,8 +21,10 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -41,6 +45,26 @@ public class AppActivityController { @Operation(summary = "获得单个商品,近期参与的每个活动") // 每种活动,只返回一个 @Parameter(name = "spuId", description = "商品编号", required = true) public CommonResult> getActivityListBySpuId(@RequestParam("spuId") Long spuId) { + return success(getAppActivityRespVOList(spuId)); + } + + @GetMapping("/list-by-spu-ids") + @Operation(summary = "获得多个商品,近期参与的每个活动") // 每种活动,只返回一个;key 为 SPU 编号 + @Parameter(name = "spuIds", description = "商品编号数组", required = true) + public CommonResult>> getActivityListBySpuIds(@RequestParam("spuIds") List spuIds) { + + if (CollUtil.isEmpty(spuIds)) { + return success(MapUtil.empty()); + } + + Map> map = new HashMap<>(spuIds.size()); + spuIds.forEach(spuId -> { + map.put(spuId, getAppActivityRespVOList(spuId)); + }); + return success(map); + } + + private List getAppActivityRespVOList(Long spuId) { List respList = new ArrayList<>(); CombinationActivityDO combination = combinationActivityService.getCombinationActivityBySpuId(spuId); if (combination != null) { @@ -69,30 +93,7 @@ public class AppActivityController { .setStartTime(bargain.getStartTime()) .setEndTime(bargain.getEndTime())); } - return success(respList); - } - - // TODO @puhui999:可以实现下 - @GetMapping("/list-by-spu-ids") - @Operation(summary = "获得多个商品,近期参与的每个活动") // 每种活动,只返回一个;key 为 SPU 编号 - @Parameter(name = "spuIds", description = "商品编号数组", required = true) - public CommonResult>> getActivityListBySpuIds(@RequestParam("spuIds") List spuIds) { - // TODO 芋艿,实现 - List randomList = new ArrayList<>(); - Random random = new Random(); - for (int i = 0; i < 5; i++) { // 生成5个随机对象 - AppActivityRespVO vo = new AppActivityRespVO(); - vo.setId(random.nextLong()); // 随机生成一个长整型 ID - vo.setType(random.nextInt(3)); // 随机生成一个介于0到2之间的整数,对应枚举类型的三种类型之一 - vo.setName(String.format("活动%d", random.nextInt(100))); // 随机生成一个类似于“活动XX”的活动名称,XX为0到99之间的随机整数 - vo.setStartTime(LocalDateTime.now()); // 随机生成一个在过去的一年内的开始时间(以毫秒为单位) - vo.setEndTime(LocalDateTime.now()); // 随机生成一个在未来的一年内的结束时间(以毫秒为单位) - randomList.add(vo); - } - Map> map = new HashMap<>(); - map.put(109L, randomList); - map.put(2L, randomList); - return success(map); + return respList; } } diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityService.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityService.java index 4dfabddfd..83f135c5a 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityService.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityService.java @@ -113,7 +113,7 @@ public interface CombinationActivityService { * 获取指定 spu 编号的活动 * * @param spuId spu 编号 - * @return 拼团商品 + * @return 拼团活动 */ CombinationActivityDO getCombinationActivityBySpuId(Long spuId); diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillActivityService.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillActivityService.java index f9ef9b194..0d1b8d327 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillActivityService.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillActivityService.java @@ -123,7 +123,7 @@ public interface SeckillActivityService { * 获取指定 spu 编号的活动 * * @param spuId spu 编号 - * @return 秒杀商品 + * @return 秒杀活动 */ SeckillActivityDO getSeckillActivityBySpuId(Long spuId);