Commit 9d7285c4ed044bf7491bae4ee740aecb87f4b589
1 parent
07493bc7
营销活动:实现 list-by-spu-ids 接口
Showing
3 changed files
with
29 additions
and
28 deletions
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/activity/AppActivityController.java
| 1 | package cn.iocoder.yudao.module.promotion.controller.app.activity; | 1 | package cn.iocoder.yudao.module.promotion.controller.app.activity; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 4 | +import cn.hutool.core.map.MapUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.module.promotion.controller.app.activity.vo.AppActivityRespVO; | 6 | import cn.iocoder.yudao.module.promotion.controller.app.activity.vo.AppActivityRespVO; |
| 5 | import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO; | 7 | import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO; |
| @@ -19,8 +21,10 @@ import org.springframework.web.bind.annotation.RequestParam; | @@ -19,8 +21,10 @@ import org.springframework.web.bind.annotation.RequestParam; | ||
| 19 | import org.springframework.web.bind.annotation.RestController; | 21 | import org.springframework.web.bind.annotation.RestController; |
| 20 | 22 | ||
| 21 | import javax.annotation.Resource; | 23 | import javax.annotation.Resource; |
| 22 | -import java.time.LocalDateTime; | ||
| 23 | -import java.util.*; | 24 | +import java.util.ArrayList; |
| 25 | +import java.util.HashMap; | ||
| 26 | +import java.util.List; | ||
| 27 | +import java.util.Map; | ||
| 24 | 28 | ||
| 25 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 29 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 26 | 30 | ||
| @@ -41,6 +45,26 @@ public class AppActivityController { | @@ -41,6 +45,26 @@ public class AppActivityController { | ||
| 41 | @Operation(summary = "获得单个商品,近期参与的每个活动") // 每种活动,只返回一个 | 45 | @Operation(summary = "获得单个商品,近期参与的每个活动") // 每种活动,只返回一个 |
| 42 | @Parameter(name = "spuId", description = "商品编号", required = true) | 46 | @Parameter(name = "spuId", description = "商品编号", required = true) |
| 43 | public CommonResult<List<AppActivityRespVO>> getActivityListBySpuId(@RequestParam("spuId") Long spuId) { | 47 | public CommonResult<List<AppActivityRespVO>> getActivityListBySpuId(@RequestParam("spuId") Long spuId) { |
| 48 | + return success(getAppActivityRespVOList(spuId)); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + @GetMapping("/list-by-spu-ids") | ||
| 52 | + @Operation(summary = "获得多个商品,近期参与的每个活动") // 每种活动,只返回一个;key 为 SPU 编号 | ||
| 53 | + @Parameter(name = "spuIds", description = "商品编号数组", required = true) | ||
| 54 | + public CommonResult<Map<Long, List<AppActivityRespVO>>> getActivityListBySpuIds(@RequestParam("spuIds") List<Long> spuIds) { | ||
| 55 | + | ||
| 56 | + if (CollUtil.isEmpty(spuIds)) { | ||
| 57 | + return success(MapUtil.empty()); | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + Map<Long, List<AppActivityRespVO>> map = new HashMap<>(spuIds.size()); | ||
| 61 | + spuIds.forEach(spuId -> { | ||
| 62 | + map.put(spuId, getAppActivityRespVOList(spuId)); | ||
| 63 | + }); | ||
| 64 | + return success(map); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + private List<AppActivityRespVO> getAppActivityRespVOList(Long spuId) { | ||
| 44 | List<AppActivityRespVO> respList = new ArrayList<>(); | 68 | List<AppActivityRespVO> respList = new ArrayList<>(); |
| 45 | CombinationActivityDO combination = combinationActivityService.getCombinationActivityBySpuId(spuId); | 69 | CombinationActivityDO combination = combinationActivityService.getCombinationActivityBySpuId(spuId); |
| 46 | if (combination != null) { | 70 | if (combination != null) { |
| @@ -69,30 +93,7 @@ public class AppActivityController { | @@ -69,30 +93,7 @@ public class AppActivityController { | ||
| 69 | .setStartTime(bargain.getStartTime()) | 93 | .setStartTime(bargain.getStartTime()) |
| 70 | .setEndTime(bargain.getEndTime())); | 94 | .setEndTime(bargain.getEndTime())); |
| 71 | } | 95 | } |
| 72 | - return success(respList); | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - // TODO @puhui999:可以实现下 | ||
| 76 | - @GetMapping("/list-by-spu-ids") | ||
| 77 | - @Operation(summary = "获得多个商品,近期参与的每个活动") // 每种活动,只返回一个;key 为 SPU 编号 | ||
| 78 | - @Parameter(name = "spuIds", description = "商品编号数组", required = true) | ||
| 79 | - public CommonResult<Map<Long, List<AppActivityRespVO>>> getActivityListBySpuIds(@RequestParam("spuIds") List<Long> spuIds) { | ||
| 80 | - // TODO 芋艿,实现 | ||
| 81 | - List<AppActivityRespVO> randomList = new ArrayList<>(); | ||
| 82 | - Random random = new Random(); | ||
| 83 | - for (int i = 0; i < 5; i++) { // 生成5个随机对象 | ||
| 84 | - AppActivityRespVO vo = new AppActivityRespVO(); | ||
| 85 | - vo.setId(random.nextLong()); // 随机生成一个长整型 ID | ||
| 86 | - vo.setType(random.nextInt(3)); // 随机生成一个介于0到2之间的整数,对应枚举类型的三种类型之一 | ||
| 87 | - vo.setName(String.format("活动%d", random.nextInt(100))); // 随机生成一个类似于“活动XX”的活动名称,XX为0到99之间的随机整数 | ||
| 88 | - vo.setStartTime(LocalDateTime.now()); // 随机生成一个在过去的一年内的开始时间(以毫秒为单位) | ||
| 89 | - vo.setEndTime(LocalDateTime.now()); // 随机生成一个在未来的一年内的结束时间(以毫秒为单位) | ||
| 90 | - randomList.add(vo); | ||
| 91 | - } | ||
| 92 | - Map<Long, List<AppActivityRespVO>> map = new HashMap<>(); | ||
| 93 | - map.put(109L, randomList); | ||
| 94 | - map.put(2L, randomList); | ||
| 95 | - return success(map); | 96 | + return respList; |
| 96 | } | 97 | } |
| 97 | 98 | ||
| 98 | } | 99 | } |
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 { | @@ -113,7 +113,7 @@ public interface CombinationActivityService { | ||
| 113 | * 获取指定 spu 编号的活动 | 113 | * 获取指定 spu 编号的活动 |
| 114 | * | 114 | * |
| 115 | * @param spuId spu 编号 | 115 | * @param spuId spu 编号 |
| 116 | - * @return 拼团商品 | 116 | + * @return 拼团活动 |
| 117 | */ | 117 | */ |
| 118 | CombinationActivityDO getCombinationActivityBySpuId(Long spuId); | 118 | CombinationActivityDO getCombinationActivityBySpuId(Long spuId); |
| 119 | 119 |
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 { | @@ -123,7 +123,7 @@ public interface SeckillActivityService { | ||
| 123 | * 获取指定 spu 编号的活动 | 123 | * 获取指定 spu 编号的活动 |
| 124 | * | 124 | * |
| 125 | * @param spuId spu 编号 | 125 | * @param spuId spu 编号 |
| 126 | - * @return 秒杀商品 | 126 | + * @return 秒杀活动 |
| 127 | */ | 127 | */ |
| 128 | SeckillActivityDO getSeckillActivityBySpuId(Long spuId); | 128 | SeckillActivityDO getSeckillActivityBySpuId(Long spuId); |
| 129 | 129 |