Commit af6016bba5d9f1d55459f92d80d06dc7a0145a30

Authored by puhui999
1 parent a10d77cd

砍价活动: 完善 app 端获取活动分页、列表、详情接口

Showing 11 changed files with 170 additions and 74 deletions
yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/dto/ProductSpuRespDTO.java
1 1 package cn.iocoder.yudao.module.product.api.spu.dto;
2 2  
3   -import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO;
4 3 import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
5 4 import lombok.Data;
6 5  
... ... @@ -32,6 +31,12 @@ public class ProductSpuRespDTO {
32 31 */
33 32 private String keyword;
34 33 /**
  34 + * 单位
  35 + *
  36 + * 对应 product_unit 数据字典
  37 + */
  38 + private Integer unit;
  39 + /**
35 40 * 商品简介
36 41 */
37 42 private String introduction;
... ...
yudao-module-mall/yudao-module-promotion-biz/pom.xml
... ... @@ -77,6 +77,10 @@
77 77 <groupId>cn.iocoder.boot</groupId>
78 78 <artifactId>yudao-spring-boot-starter-excel</artifactId>
79 79 </dependency>
  80 + <dependency>
  81 + <groupId>cn.iocoder.boot</groupId>
  82 + <artifactId>yudao-spring-boot-starter-biz-dict</artifactId>
  83 + </dependency>
80 84 </dependencies>
81 85  
82 86 </project>
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/bargain/BargainActivityController.java
... ... @@ -3,6 +3,9 @@ package cn.iocoder.yudao.module.promotion.controller.admin.bargain;
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  7 +import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi;
  8 +import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
6 9 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityCreateReqVO;
7 10 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityPageReqVO;
8 11 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityRespVO;
... ... @@ -19,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
19 22  
20 23 import javax.annotation.Resource;
21 24 import javax.validation.Valid;
  25 +import java.util.List;
22 26  
23 27 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
24 28  
... ... @@ -30,6 +34,8 @@ public class BargainActivityController {
30 34  
31 35 @Resource
32 36 private BargainActivityService activityService;
  37 + @Resource
  38 + private ProductSpuApi spuApi;
33 39  
34 40 @PostMapping("/create")
35 41 @Operation(summary = "创建砍价活动")
... ... @@ -73,7 +79,8 @@ public class BargainActivityController {
73 79 if (CollUtil.isEmpty(pageResult.getList())) {
74 80 return success(PageResult.empty(pageResult.getTotal()));
75 81 }
76   - return success(BargainActivityConvert.INSTANCE.convertPage(activityService.getBargainActivityPage(pageVO)));
  82 + List<ProductSpuRespDTO> spuList = spuApi.getSpuList(CollectionUtils.convertList(pageResult.getList(), BargainActivityDO::getSpuId));
  83 + return success(BargainActivityConvert.INSTANCE.convertPage(pageResult, spuList));
77 84 }
78 85  
79 86 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainActivityController.java
1 1 package cn.iocoder.yudao.module.promotion.controller.app.bargain;
2 2  
  3 +import cn.hutool.core.collection.CollUtil;
3 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 5 import cn.iocoder.yudao.framework.common.pojo.PageParam;
5 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6   -import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
  7 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  8 +import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi;
  9 +import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
7 10 import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityDetailRespVO;
8 11 import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO;
  12 +import cn.iocoder.yudao.module.promotion.convert.bargain.BargainActivityConvert;
  13 +import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO;
  14 +import cn.iocoder.yudao.module.promotion.service.bargain.BargainActivityService;
9 15 import io.swagger.v3.oas.annotations.Operation;
  16 +import io.swagger.v3.oas.annotations.Parameter;
10 17 import io.swagger.v3.oas.annotations.tags.Tag;
11 18 import org.springframework.validation.annotation.Validated;
12 19 import org.springframework.web.bind.annotation.GetMapping;
... ... @@ -14,8 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
14 21 import org.springframework.web.bind.annotation.RequestParam;
15 22 import org.springframework.web.bind.annotation.RestController;
16 23  
17   -import java.time.Duration;
18   -import java.util.ArrayList;
  24 +import javax.annotation.Resource;
19 25 import java.util.List;
20 26  
21 27 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
... ... @@ -25,86 +31,49 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
25 31 @RequestMapping("/promotion/bargain-activity")
26 32 @Validated
27 33 public class AppBargainActivityController {
  34 + @Resource
  35 + private BargainActivityService bargainActivityService;
  36 + @Resource
  37 + private ProductSpuApi spuApi;
28 38  
29 39 @GetMapping("/page")
30   - @Operation(summary = "获得砍价活动活动") // TODO 芋艿:只查询进行中,且在时间范围内的
31   - // TODO 芋艿:缺少 swagger 注解
  40 + @Operation(summary = "获得砍价活动分页")
32 41 public CommonResult<PageResult<AppBargainActivityRespVO>> getBargainActivityPage(PageParam pageReqVO) {
33   - List<AppBargainActivityRespVO> activityList = new ArrayList<>();
34   - AppBargainActivityRespVO activity1 = new AppBargainActivityRespVO();
35   - activity1.setId(1L);
36   - activity1.setName("618 大砍价");
37   - activity1.setSpuId(2048L);
38   - activity1.setPicUrl("https://static.iocoder.cn/mall/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
39   - activity1.setMarketPrice(50);
40   - activity1.setBargainPrice(100);
41   - activity1.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2)));
42   - activity1.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(1)));
43   - activity1.setStock(10);
44   - activityList.add(activity1);
  42 + PageResult<BargainActivityDO> result = bargainActivityService.getBargainActivityAppPage(pageReqVO);
  43 + if (CollUtil.isEmpty(result.getList())) {
  44 + return success(PageResult.empty(result.getTotal()));
  45 + }
45 46  
46   - AppBargainActivityRespVO activity2 = new AppBargainActivityRespVO();
47   - activity2.setId(2L);
48   - activity2.setName("双十一砍价");
49   - activity2.setSpuId(4096L);
50   - activity2.setPicUrl("https://static.iocoder.cn/mall/132.jpeg");
51   - activity2.setMarketPrice(100);
52   - activity2.setBargainPrice(200);
53   - activity2.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2)));
54   - activity2.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(1)));
55   - activity2.setStock(0);
56   - activityList.add(activity2);
57   -
58   - return success(new PageResult<>(activityList, 10L));
  47 + List<ProductSpuRespDTO> spuList = spuApi.getSpuList(CollectionUtils.convertList(result.getList(), BargainActivityDO::getSpuId));
  48 + return success(BargainActivityConvert.INSTANCE.convertAppPage(result, spuList));
59 49 }
60 50  
61 51 @GetMapping("/list")
62 52 @Operation(summary = "获得砍价活动列表", description = "用于小程序首页")
63   - // TODO 芋艿:增加 Spring Cache
64   - // TODO 芋艿:缺少 swagger 注解
  53 + @Parameter(name = "count", description = "需要展示的数量", example = "6")
65 54 public CommonResult<List<AppBargainActivityRespVO>> getBargainActivityList(
66 55 @RequestParam(name = "count", defaultValue = "6") Integer count) {
67   - List<AppBargainActivityRespVO> activityList = new ArrayList<>();
68   - AppBargainActivityRespVO activity1 = new AppBargainActivityRespVO();
69   - activity1.setId(1L);
70   - activity1.setName("618 大砍价");
71   - activity1.setSpuId(2048L);
72   - activity1.setPicUrl("https://static.iocoder.cn/mall/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
73   - activity1.setMarketPrice(50);
74   - activity1.setBargainPrice(100);
75   - activityList.add(activity1);
76   -
77   - AppBargainActivityRespVO activity2 = new AppBargainActivityRespVO();
78   - activity2.setId(2L);
79   - activity2.setName("双十一砍价");
80   - activity2.setSpuId(4096L);
81   - activity2.setPicUrl("https://static.iocoder.cn/mall/132.jpeg");
82   - activity2.setMarketPrice(100);
83   - activity2.setBargainPrice(200);
84   - activityList.add(activity2);
  56 + List<BargainActivityDO> list = bargainActivityService.getBargainActivityAppList(count);
  57 + if (CollUtil.isEmpty(list)) {
  58 + return success(BargainActivityConvert.INSTANCE.convertAppList(list));
  59 + }
85 60  
86   - return success(activityList);
  61 + List<ProductSpuRespDTO> spuList = spuApi.getSpuList(CollectionUtils.convertList(list, BargainActivityDO::getSpuId));
  62 + // TODO 芋艿:增加 Spring Cache
  63 + return success(BargainActivityConvert.INSTANCE.convertAppList(list, spuList));
87 64 }
88 65  
89 66 @GetMapping("/get-detail")
90 67 @Operation(summary = "获得砍价活动详情")
91   - // TODO 芋艿:缺少 swagger 注解
  68 + @Parameter(name = "id", description = "活动编号", example = "1")
92 69 public CommonResult<AppBargainActivityDetailRespVO> getBargainActivityDetail(@RequestParam("id") Long id) {
93   - AppBargainActivityDetailRespVO activity = new AppBargainActivityDetailRespVO();
94   - activity.setId(2L);
95   - activity.setName("618 大砍价");
96   - activity.setSpuId(2048L);
97   - activity.setPicUrl("https://static.iocoder.cn/mall/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
98   - activity.setMarketPrice(50);
99   - activity.setBargainPrice(100);
100   - activity.setStock(10);
101   - activity.setUnitName("件");
102   - activity.setPrice(40);
103   - activity.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2)));
104   - activity.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(-10)));
105   - activity.setDescription("我吃西红柿");
106   - activity.setSuccessCount(10);
107   - return success(activity);
  70 + BargainActivityDO activity = bargainActivityService.getBargainActivity(id);
  71 + if (activity == null) {
  72 + return success(null);
  73 + }
  74 +
  75 + ProductSpuRespDTO spu = spuApi.getSpu(activity.getSpuId());
  76 + return success(BargainActivityConvert.INSTANCE.convert1(activity, spu));
108 77 }
109 78  
110 79 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityDetailRespVO.java
... ... @@ -45,7 +45,7 @@ public class AppBargainActivityDetailRespVO {
45 45 @Schema(description = "商品单位", required = true, example = "个") // 从 SPU 的 unit 读取,然后转换
46 46 private String unitName;
47 47  
48   - @Schema(description = "砍价最低金额,单位:分", required = true, example = "100") // 从砍价商品里取最低价
  48 + @Schema(description = "砍价最低金额,单位:分", required = true, example = "100")
49 49 private Integer bargainPrice;
50 50  
51 51 @Schema(description = "砍价成功数量", required = true, example = "100")
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityRespVO.java
... ... @@ -36,7 +36,7 @@ public class AppBargainActivityRespVO {
36 36 @Schema(description = "商品市场价,单位:分", required = true, example = "50") // 从 SPU 的 marketPrice 读取
37 37 private Integer marketPrice;
38 38  
39   - @Schema(description = "砍价最低金额,单位:分", required = true, example = "100") // 从砍价商品里取最低价
  39 + @Schema(description = "砍价最低金额,单位:分", required = true, example = "100")
40 40 private Integer bargainPrice;
41 41  
42 42 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/bargain/BargainActivityConvert.java
1 1 package cn.iocoder.yudao.module.promotion.convert.bargain;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  5 +import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils;
  6 +import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
  7 +import cn.iocoder.yudao.module.product.enums.DictTypeConstants;
4 8 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityBaseVO;
5 9 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityRespVO;
6 10 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityUpdateReqVO;
  11 +import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityDetailRespVO;
  12 +import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO;
7 13 import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO;
8 14 import org.mapstruct.Mapper;
9 15 import org.mapstruct.factory.Mappers;
10 16  
11 17 import java.util.List;
  18 +import java.util.Map;
  19 +
  20 +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
  21 +import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen;
12 22  
13 23 /**
14 24 * 拼团活动 Convert
... ... @@ -30,4 +40,60 @@ public interface BargainActivityConvert {
30 40  
31 41 PageResult<BargainActivityRespVO> convertPage(PageResult<BargainActivityDO> page);
32 42  
  43 + default PageResult<BargainActivityRespVO> convertPage(PageResult<BargainActivityDO> page, List<ProductSpuRespDTO> spuList) {
  44 + PageResult<BargainActivityRespVO> result = convertPage(page);
  45 + Map<Long, ProductSpuRespDTO> spuMap = convertMap(spuList, ProductSpuRespDTO::getId);
  46 + List<BargainActivityRespVO> list = CollectionUtils.convertList(result.getList(), item -> {
  47 + findAndThen(spuMap, item.getSpuId(), spu -> {
  48 + item.setPicUrl(spu.getPicUrl());
  49 + item.setSpuName(spu.getName());
  50 + });
  51 + return item;
  52 + });
  53 + result.setList(list);
  54 + return result;
  55 + }
  56 +
  57 + AppBargainActivityDetailRespVO convert1(BargainActivityDO bean);
  58 +
  59 + default AppBargainActivityDetailRespVO convert1(BargainActivityDO bean, ProductSpuRespDTO spu) {
  60 + AppBargainActivityDetailRespVO detail = convert1(bean);
  61 + if (spu != null) {
  62 + detail.setPicUrl(spu.getPicUrl());
  63 + detail.setMarketPrice(spu.getMarketPrice());
  64 + detail.setUnitName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.PRODUCT_UNIT, spu.getUnit()));
  65 + }
  66 + return detail;
  67 + }
  68 +
  69 + PageResult<AppBargainActivityRespVO> convertAppPage(PageResult<BargainActivityDO> page);
  70 +
  71 + default PageResult<AppBargainActivityRespVO> convertAppPage(PageResult<BargainActivityDO> page, List<ProductSpuRespDTO> spuList) {
  72 + PageResult<AppBargainActivityRespVO> result = convertAppPage(page);
  73 + Map<Long, ProductSpuRespDTO> spuMap = convertMap(spuList, ProductSpuRespDTO::getId);
  74 + List<AppBargainActivityRespVO> list = CollectionUtils.convertList(result.getList(), item -> {
  75 + findAndThen(spuMap, item.getSpuId(), spu -> {
  76 + item.setPicUrl(spu.getPicUrl());
  77 + item.setMarketPrice(spu.getMarketPrice());
  78 + });
  79 + return item;
  80 + });
  81 + result.setList(list);
  82 + return result;
  83 + }
  84 +
  85 + List<AppBargainActivityRespVO> convertAppList(List<BargainActivityDO> list);
  86 +
  87 + default List<AppBargainActivityRespVO> convertAppList(List<BargainActivityDO> list, List<ProductSpuRespDTO> spuList) {
  88 + List<AppBargainActivityRespVO> activityList = convertAppList(list);
  89 + Map<Long, ProductSpuRespDTO> spuMap = convertMap(spuList, ProductSpuRespDTO::getId);
  90 + return CollectionUtils.convertList(activityList, item -> {
  91 + findAndThen(spuMap, item.getSpuId(), spu -> {
  92 + item.setPicUrl(spu.getPicUrl());
  93 + item.setMarketPrice(spu.getMarketPrice());
  94 + });
  95 + return item;
  96 + });
  97 + }
  98 +
33 99 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java
1 1 package cn.iocoder.yudao.module.promotion.dal.mysql.bargain;
2 2  
  3 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
3 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 5 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5 6 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
... ... @@ -8,6 +9,7 @@ import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityD
8 9 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
9 10 import org.apache.ibatis.annotations.Mapper;
10 11  
  12 +import java.time.LocalDateTime;
11 13 import java.util.List;
12 14  
13 15 /**
... ... @@ -43,4 +45,11 @@ public interface BargainActivityMapper extends BaseMapperX&lt;BargainActivityDO&gt; {
43 45 .setSql("stock = stock - " + count));
44 46 }
45 47  
  48 + default PageResult<BargainActivityDO> selectAppPage(PageParam pageReqVO, Integer status, LocalDateTime now) {
  49 + return selectPage(pageReqVO, new LambdaQueryWrapperX<BargainActivityDO>()
  50 + .eq(BargainActivityDO::getStatus, status)
  51 + .le(BargainActivityDO::getStartTime, now)
  52 + .ge(BargainActivityDO::getEndTime, now));
  53 + }
  54 +
46 55 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityService.java
1 1 package cn.iocoder.yudao.module.promotion.service.bargain;
2 2  
  3 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
3 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 5 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityCreateReqVO;
5 6 import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityPageReqVO;
... ... @@ -7,6 +8,7 @@ import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActi
7 8 import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO;
8 9  
9 10 import javax.validation.Valid;
  11 +import java.util.List;
10 12  
11 13 /**
12 14 * 砍价活动 Service 接口
... ... @@ -61,4 +63,19 @@ public interface BargainActivityService {
61 63 */
62 64 PageResult<BargainActivityDO> getBargainActivityPage(BargainActivityPageReqVO pageReqVO);
63 65  
  66 + /**
  67 + * 获取 APP 端活动分页数据
  68 + *
  69 + * @param pageReqVO 分页请求
  70 + * @return 砍价活动分页
  71 + */
  72 + PageResult<BargainActivityDO> getBargainActivityAppPage(PageParam pageReqVO);
  73 +
  74 + /**
  75 + * 获取 APP 端活动展示数据
  76 + *
  77 + * @param count 需要的数量
  78 + * @return
  79 + */
  80 + List<BargainActivityDO> getBargainActivityAppList(Integer count);
64 81 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java
... ... @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.promotion.service.bargain;
2 2  
3 3 import cn.hutool.core.util.ObjectUtil;
4 4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  5 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
5 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 7 import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi;
7 8 import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO;
... ... @@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
16 17 import org.springframework.validation.annotation.Validated;
17 18  
18 19 import javax.annotation.Resource;
  20 +import java.time.LocalDateTime;
19 21 import java.util.List;
20 22  
21 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
... ... @@ -113,9 +115,9 @@ public class BargainActivityServiceImpl implements BargainActivityService {
113 115 // 校验存在
114 116 BargainActivityDO activityDO = validateBargainActivityExists(id);
115 117 // 校验状态
116   - if (ObjectUtil.equal(activityDO.getStatus(), CommonStatusEnum.ENABLE.getStatus())) {
117   - throw exception(BARGAIN_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED_OR_END);
118   - }
  118 + //if (ObjectUtil.equal(activityDO.getStatus(), CommonStatusEnum.ENABLE.getStatus())) {
  119 + // throw exception(BARGAIN_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED_OR_END);
  120 + //}
119 121  
120 122 // 删除
121 123 bargainActivityMapper.deleteById(id);
... ... @@ -139,4 +141,20 @@ public class BargainActivityServiceImpl implements BargainActivityService {
139 141 return bargainActivityMapper.selectPage(pageReqVO);
140 142 }
141 143  
  144 + @Override
  145 + public PageResult<BargainActivityDO> getBargainActivityAppPage(PageParam pageReqVO) {
  146 + // 只查询进行中,且在时间范围内的
  147 + return bargainActivityMapper.selectAppPage(pageReqVO, CommonStatusEnum.ENABLE.getStatus(), LocalDateTime.now());
  148 +
  149 + }
  150 +
  151 + @Override
  152 + public List<BargainActivityDO> getBargainActivityAppList(Integer count) {
  153 + if (count == null) {
  154 + count = 6;
  155 + }
  156 + PageResult<BargainActivityDO> result = bargainActivityMapper.selectAppPage(new PageParam().setPageSize(count), CommonStatusEnum.ENABLE.getStatus(), LocalDateTime.now());
  157 + return result.getList();
  158 + }
  159 +
142 160 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java
... ... @@ -38,6 +38,7 @@ import static cn.iocoder.yudao.module.promotion.enums.ErrorCodeConstants.*;
38 38 public class CombinationRecordServiceImpl implements CombinationRecordService {
39 39  
40 40 @Resource
  41 + @Lazy
41 42 private CombinationActivityService combinationActivityService;
42 43 @Resource
43 44 private CombinationRecordMapper recordMapper;
... ...