diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/dto/ProductSpuRespDTO.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/dto/ProductSpuRespDTO.java
index 3188f9632..ab93431f4 100644
--- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/dto/ProductSpuRespDTO.java
+++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/dto/ProductSpuRespDTO.java
@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.product.api.spu.dto;
-import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO;
import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
import lombok.Data;
@@ -31,6 +30,12 @@ public class ProductSpuRespDTO {
* 关键字
*/
private String keyword;
+ /**
+ * 单位
+ *
+ * 对应 product_unit 数据字典
+ */
+ private Integer unit;
/**
* 商品简介
*/
diff --git a/yudao-module-mall/yudao-module-promotion-biz/pom.xml b/yudao-module-mall/yudao-module-promotion-biz/pom.xml
index bad2c8a35..44d0e8967 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/pom.xml
+++ b/yudao-module-mall/yudao-module-promotion-biz/pom.xml
@@ -77,6 +77,10 @@
cn.iocoder.boot
yudao-spring-boot-starter-excel
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-dict
+
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/bargain/BargainActivityController.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/bargain/BargainActivityController.java
index 5be621f59..e76e94e57 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/bargain/BargainActivityController.java
+++ b/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;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
+import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi;
+import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityCreateReqVO;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityPageReqVO;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityRespVO;
@@ -19,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
+import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -30,6 +34,8 @@ public class BargainActivityController {
@Resource
private BargainActivityService activityService;
+ @Resource
+ private ProductSpuApi spuApi;
@PostMapping("/create")
@Operation(summary = "创建砍价活动")
@@ -73,7 +79,8 @@ public class BargainActivityController {
if (CollUtil.isEmpty(pageResult.getList())) {
return success(PageResult.empty(pageResult.getTotal()));
}
- return success(BargainActivityConvert.INSTANCE.convertPage(activityService.getBargainActivityPage(pageVO)));
+ List spuList = spuApi.getSpuList(CollectionUtils.convertList(pageResult.getList(), BargainActivityDO::getSpuId));
+ return success(BargainActivityConvert.INSTANCE.convertPage(pageResult, spuList));
}
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainActivityController.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainActivityController.java
index 2232ead7b..dd58d0493 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainActivityController.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainActivityController.java
@@ -1,12 +1,19 @@
package cn.iocoder.yudao.module.promotion.controller.app.bargain;
+import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
+import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi;
+import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityDetailRespVO;
import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO;
+import cn.iocoder.yudao.module.promotion.convert.bargain.BargainActivityConvert;
+import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO;
+import cn.iocoder.yudao.module.promotion.service.bargain.BargainActivityService;
import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -14,8 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.time.Duration;
-import java.util.ArrayList;
+import javax.annotation.Resource;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -25,86 +31,49 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@RequestMapping("/promotion/bargain-activity")
@Validated
public class AppBargainActivityController {
+ @Resource
+ private BargainActivityService bargainActivityService;
+ @Resource
+ private ProductSpuApi spuApi;
@GetMapping("/page")
- @Operation(summary = "获得砍价活动活动") // TODO 芋艿:只查询进行中,且在时间范围内的
- // TODO 芋艿:缺少 swagger 注解
+ @Operation(summary = "获得砍价活动分页")
public CommonResult> getBargainActivityPage(PageParam pageReqVO) {
- List activityList = new ArrayList<>();
- AppBargainActivityRespVO activity1 = new AppBargainActivityRespVO();
- activity1.setId(1L);
- activity1.setName("618 大砍价");
- activity1.setSpuId(2048L);
- activity1.setPicUrl("https://static.iocoder.cn/mall/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
- activity1.setMarketPrice(50);
- activity1.setBargainPrice(100);
- activity1.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2)));
- activity1.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(1)));
- activity1.setStock(10);
- activityList.add(activity1);
+ PageResult result = bargainActivityService.getBargainActivityAppPage(pageReqVO);
+ if (CollUtil.isEmpty(result.getList())) {
+ return success(PageResult.empty(result.getTotal()));
+ }
- AppBargainActivityRespVO activity2 = new AppBargainActivityRespVO();
- activity2.setId(2L);
- activity2.setName("双十一砍价");
- activity2.setSpuId(4096L);
- activity2.setPicUrl("https://static.iocoder.cn/mall/132.jpeg");
- activity2.setMarketPrice(100);
- activity2.setBargainPrice(200);
- activity2.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2)));
- activity2.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(1)));
- activity2.setStock(0);
- activityList.add(activity2);
-
- return success(new PageResult<>(activityList, 10L));
+ List spuList = spuApi.getSpuList(CollectionUtils.convertList(result.getList(), BargainActivityDO::getSpuId));
+ return success(BargainActivityConvert.INSTANCE.convertAppPage(result, spuList));
}
@GetMapping("/list")
@Operation(summary = "获得砍价活动列表", description = "用于小程序首页")
- // TODO 芋艿:增加 Spring Cache
- // TODO 芋艿:缺少 swagger 注解
+ @Parameter(name = "count", description = "需要展示的数量", example = "6")
public CommonResult> getBargainActivityList(
@RequestParam(name = "count", defaultValue = "6") Integer count) {
- List activityList = new ArrayList<>();
- AppBargainActivityRespVO activity1 = new AppBargainActivityRespVO();
- activity1.setId(1L);
- activity1.setName("618 大砍价");
- activity1.setSpuId(2048L);
- activity1.setPicUrl("https://static.iocoder.cn/mall/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
- activity1.setMarketPrice(50);
- activity1.setBargainPrice(100);
- activityList.add(activity1);
+ List list = bargainActivityService.getBargainActivityAppList(count);
+ if (CollUtil.isEmpty(list)) {
+ return success(BargainActivityConvert.INSTANCE.convertAppList(list));
+ }
- AppBargainActivityRespVO activity2 = new AppBargainActivityRespVO();
- activity2.setId(2L);
- activity2.setName("双十一砍价");
- activity2.setSpuId(4096L);
- activity2.setPicUrl("https://static.iocoder.cn/mall/132.jpeg");
- activity2.setMarketPrice(100);
- activity2.setBargainPrice(200);
- activityList.add(activity2);
-
- return success(activityList);
+ List spuList = spuApi.getSpuList(CollectionUtils.convertList(list, BargainActivityDO::getSpuId));
+ // TODO 芋艿:增加 Spring Cache
+ return success(BargainActivityConvert.INSTANCE.convertAppList(list, spuList));
}
@GetMapping("/get-detail")
@Operation(summary = "获得砍价活动详情")
- // TODO 芋艿:缺少 swagger 注解
+ @Parameter(name = "id", description = "活动编号", example = "1")
public CommonResult getBargainActivityDetail(@RequestParam("id") Long id) {
- AppBargainActivityDetailRespVO activity = new AppBargainActivityDetailRespVO();
- activity.setId(2L);
- activity.setName("618 大砍价");
- activity.setSpuId(2048L);
- activity.setPicUrl("https://static.iocoder.cn/mall/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
- activity.setMarketPrice(50);
- activity.setBargainPrice(100);
- activity.setStock(10);
- activity.setUnitName("件");
- activity.setPrice(40);
- activity.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2)));
- activity.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(-10)));
- activity.setDescription("我吃西红柿");
- activity.setSuccessCount(10);
- return success(activity);
+ BargainActivityDO activity = bargainActivityService.getBargainActivity(id);
+ if (activity == null) {
+ return success(null);
+ }
+
+ ProductSpuRespDTO spu = spuApi.getSpu(activity.getSpuId());
+ return success(BargainActivityConvert.INSTANCE.convert1(activity, spu));
}
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityDetailRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityDetailRespVO.java
index fcff0c86e..a583a608f 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityDetailRespVO.java
+++ b/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 {
@Schema(description = "商品单位", required = true, example = "个") // 从 SPU 的 unit 读取,然后转换
private String unitName;
- @Schema(description = "砍价最低金额,单位:分", required = true, example = "100") // 从砍价商品里取最低价
+ @Schema(description = "砍价最低金额,单位:分", required = true, example = "100")
private Integer bargainPrice;
@Schema(description = "砍价成功数量", required = true, example = "100")
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityRespVO.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityRespVO.java
index 50778b53d..39a05f68c 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityRespVO.java
+++ b/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 {
@Schema(description = "商品市场价,单位:分", required = true, example = "50") // 从 SPU 的 marketPrice 读取
private Integer marketPrice;
- @Schema(description = "砍价最低金额,单位:分", required = true, example = "100") // 从砍价商品里取最低价
+ @Schema(description = "砍价最低金额,单位:分", required = true, example = "100")
private Integer bargainPrice;
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/bargain/BargainActivityConvert.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/bargain/BargainActivityConvert.java
index d3ef255f9..8d3df43ac 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/bargain/BargainActivityConvert.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/bargain/BargainActivityConvert.java
@@ -1,14 +1,24 @@
package cn.iocoder.yudao.module.promotion.convert.bargain;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
+import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils;
+import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
+import cn.iocoder.yudao.module.product.enums.DictTypeConstants;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityBaseVO;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityRespVO;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityUpdateReqVO;
+import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityDetailRespVO;
+import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO;
import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
+import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen;
/**
* 拼团活动 Convert
@@ -30,4 +40,60 @@ public interface BargainActivityConvert {
PageResult convertPage(PageResult page);
+ default PageResult convertPage(PageResult page, List spuList) {
+ PageResult result = convertPage(page);
+ Map spuMap = convertMap(spuList, ProductSpuRespDTO::getId);
+ List list = CollectionUtils.convertList(result.getList(), item -> {
+ findAndThen(spuMap, item.getSpuId(), spu -> {
+ item.setPicUrl(spu.getPicUrl());
+ item.setSpuName(spu.getName());
+ });
+ return item;
+ });
+ result.setList(list);
+ return result;
+ }
+
+ AppBargainActivityDetailRespVO convert1(BargainActivityDO bean);
+
+ default AppBargainActivityDetailRespVO convert1(BargainActivityDO bean, ProductSpuRespDTO spu) {
+ AppBargainActivityDetailRespVO detail = convert1(bean);
+ if (spu != null) {
+ detail.setPicUrl(spu.getPicUrl());
+ detail.setMarketPrice(spu.getMarketPrice());
+ detail.setUnitName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.PRODUCT_UNIT, spu.getUnit()));
+ }
+ return detail;
+ }
+
+ PageResult convertAppPage(PageResult page);
+
+ default PageResult convertAppPage(PageResult page, List spuList) {
+ PageResult result = convertAppPage(page);
+ Map spuMap = convertMap(spuList, ProductSpuRespDTO::getId);
+ List list = CollectionUtils.convertList(result.getList(), item -> {
+ findAndThen(spuMap, item.getSpuId(), spu -> {
+ item.setPicUrl(spu.getPicUrl());
+ item.setMarketPrice(spu.getMarketPrice());
+ });
+ return item;
+ });
+ result.setList(list);
+ return result;
+ }
+
+ List convertAppList(List list);
+
+ default List convertAppList(List list, List spuList) {
+ List activityList = convertAppList(list);
+ Map spuMap = convertMap(spuList, ProductSpuRespDTO::getId);
+ return CollectionUtils.convertList(activityList, item -> {
+ findAndThen(spuMap, item.getSpuId(), spu -> {
+ item.setPicUrl(spu.getPicUrl());
+ item.setMarketPrice(spu.getMarketPrice());
+ });
+ return item;
+ });
+ }
+
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java
index ae88ab2bd..3fcf2c87f 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/bargain/BargainActivityMapper.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.promotion.dal.mysql.bargain;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -8,6 +9,7 @@ import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityD
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.ibatis.annotations.Mapper;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -43,4 +45,11 @@ public interface BargainActivityMapper extends BaseMapperX {
.setSql("stock = stock - " + count));
}
+ default PageResult selectAppPage(PageParam pageReqVO, Integer status, LocalDateTime now) {
+ return selectPage(pageReqVO, new LambdaQueryWrapperX()
+ .eq(BargainActivityDO::getStatus, status)
+ .le(BargainActivityDO::getStartTime, now)
+ .ge(BargainActivityDO::getEndTime, now));
+ }
+
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityService.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityService.java
index 71eedfc7f..e59e1ce3e 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityService.java
+++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityService.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.promotion.service.bargain;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.promotion.controller.admin.bargain.vo.BargainActivityCreateReqVO;
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
import cn.iocoder.yudao.module.promotion.dal.dataobject.bargain.BargainActivityDO;
import javax.validation.Valid;
+import java.util.List;
/**
* 砍价活动 Service 接口
@@ -61,4 +63,19 @@ public interface BargainActivityService {
*/
PageResult getBargainActivityPage(BargainActivityPageReqVO pageReqVO);
+ /**
+ * 获取 APP 端活动分页数据
+ *
+ * @param pageReqVO 分页请求
+ * @return 砍价活动分页
+ */
+ PageResult getBargainActivityAppPage(PageParam pageReqVO);
+
+ /**
+ * 获取 APP 端活动展示数据
+ *
+ * @param count 需要的数量
+ * @return
+ */
+ List getBargainActivityAppList(Integer count);
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java
index 9c79c4ad4..c426cfca3 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java
+++ b/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;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi;
import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO;
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
+import java.time.LocalDateTime;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -113,9 +115,9 @@ public class BargainActivityServiceImpl implements BargainActivityService {
// 校验存在
BargainActivityDO activityDO = validateBargainActivityExists(id);
// 校验状态
- if (ObjectUtil.equal(activityDO.getStatus(), CommonStatusEnum.ENABLE.getStatus())) {
- throw exception(BARGAIN_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED_OR_END);
- }
+ //if (ObjectUtil.equal(activityDO.getStatus(), CommonStatusEnum.ENABLE.getStatus())) {
+ // throw exception(BARGAIN_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED_OR_END);
+ //}
// 删除
bargainActivityMapper.deleteById(id);
@@ -139,4 +141,20 @@ public class BargainActivityServiceImpl implements BargainActivityService {
return bargainActivityMapper.selectPage(pageReqVO);
}
+ @Override
+ public PageResult getBargainActivityAppPage(PageParam pageReqVO) {
+ // 只查询进行中,且在时间范围内的
+ return bargainActivityMapper.selectAppPage(pageReqVO, CommonStatusEnum.ENABLE.getStatus(), LocalDateTime.now());
+
+ }
+
+ @Override
+ public List getBargainActivityAppList(Integer count) {
+ if (count == null) {
+ count = 6;
+ }
+ PageResult result = bargainActivityMapper.selectAppPage(new PageParam().setPageSize(count), CommonStatusEnum.ENABLE.getStatus(), LocalDateTime.now());
+ return result.getList();
+ }
+
}
diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java
index 70cbe90e8..be429b7d5 100644
--- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java
+++ b/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.*;
public class CombinationRecordServiceImpl implements CombinationRecordService {
@Resource
+ @Lazy
private CombinationActivityService combinationActivityService;
@Resource
private CombinationRecordMapper recordMapper;