diff --git a/buyer-api/src/main/java/cn/lili/controller/other/broadcast/StudioController.java b/buyer-api/src/main/java/cn/lili/controller/other/broadcast/StudioController.java index d161e5c15..1c03c9e99 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/broadcast/StudioController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/broadcast/StudioController.java @@ -3,7 +3,7 @@ package cn.lili.controller.other.broadcast; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.goods.entity.dos.Studio; +import cn.lili.modules.goods.entity.vos.StudioVO; import cn.lili.modules.goods.service.StudioService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; @@ -35,7 +35,7 @@ public class StudioController { @ApiImplicitParam(name = "status", value = "直播间状态", paramType = "query", dataType = "String") }) @GetMapping - public ResultMessage> page(PageVO pageVO, Integer recommend, String status) { + public ResultMessage> page(PageVO pageVO, Integer recommend, String status) { return ResultUtil.data(studioService.studioList(pageVO, recommend, status)); } diff --git a/framework/src/main/java/cn/lili/modules/goods/service/StudioService.java b/framework/src/main/java/cn/lili/modules/goods/service/StudioService.java index 40d273af2..906c36964 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/StudioService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/StudioService.java @@ -70,7 +70,7 @@ public interface StudioService extends IService { * @param status 直播间状态 * @return 直播间分页 */ - IPage studioList(PageVO pageVO, Integer recommend, String status); + IPage studioList(PageVO pageVO, Integer recommend, String status); /** * 修改直播间状态 diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StudioServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StudioServiceImpl.java index 4aed7636d..abda74b1e 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StudioServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/StudioServiceImpl.java @@ -1,6 +1,7 @@ package cn.lili.modules.goods.serviceimpl; import cn.hutool.core.convert.Convert; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.json.JSONUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; @@ -32,12 +33,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -209,15 +213,27 @@ public class StudioServiceImpl extends ServiceImpl impleme } @Override - public IPage studioList(PageVO pageVO, Integer recommend, String status) { + public IPage studioList(PageVO pageVO, Integer recommend, String status) { QueryWrapper queryWrapper = new QueryWrapper() .eq(recommend != null, "recommend", true) - .eq(status != null, "status", status) + .eq(CharSequenceUtil.isNotEmpty(status), "status", status) .orderByDesc("create_time"); if (UserContext.getCurrentUser() != null && UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { queryWrapper.eq("store_id", UserContext.getCurrentUser().getStoreId()); } - return this.page(PageUtil.initPage(pageVO), queryWrapper); + Page page = this.page(PageUtil.initPage(pageVO), queryWrapper); + List records = page.getRecords(); + List studioVOS = new ArrayList<>(); + for (Studio record : records) { + StudioVO studioVO = new StudioVO(); + //获取直播间信息 + BeanUtil.copyProperties(record, studioVO); + //获取直播间商品信息 + studioVO.setCommodityList(commodityMapper.getCommodityByRoomId(studioVO.getRoomId())); + studioVOS.add(studioVO); + } + page.setRecords(studioVOS); + return page; } diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java index 85ad2a417..8f8b5819b 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/PromotionService.java @@ -1,5 +1,8 @@ package cn.lili.modules.promotion.service; +import cn.lili.modules.promotion.entity.dos.PromotionGoods; + +import java.util.List; import java.util.Map; /** @@ -15,7 +18,7 @@ public interface PromotionService { * * @return 当前促销活动集合 */ - Map getCurrentPromotion(); + Map> getCurrentPromotion(); /** * 根据商品索引获取当前商品索引的所有促销活动信息 diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java index f68b05061..b50c79ce4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java @@ -2,8 +2,7 @@ package cn.lili.modules.promotion.serviceimpl; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.modules.promotion.entity.dos.*; -import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams; -import cn.lili.modules.promotion.entity.dto.search.PintuanSearchParams; +import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams; import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams; import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum; import cn.lili.modules.promotion.service.*; @@ -16,6 +15,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 促销业务层实现 @@ -69,37 +69,11 @@ public class PromotionServiceImpl implements PromotionService { * @return 当前促销活动集合 */ @Override - public Map getCurrentPromotion() { - Map resultMap = new HashMap<>(16); - - SeckillSearchParams seckillSearchParams = new SeckillSearchParams(); - seckillSearchParams.setPromotionStatus(PromotionsStatusEnum.START.name()); - //获取当前进行的秒杀活动活动 - List seckillList = seckillService.listFindAll(seckillSearchParams); - if (seckillList != null && !seckillList.isEmpty()) { - for (Seckill seckill : seckillList) { - resultMap.put(PromotionTypeEnum.SECKILL.name(), seckill); - } - } - FullDiscountSearchParams fullDiscountSearchParams = new FullDiscountSearchParams(); - fullDiscountSearchParams.setPromotionStatus(PromotionsStatusEnum.START.name()); - //获取当前进行的满优惠活动 - List fullDiscountList = fullDiscountService.listFindAll(fullDiscountSearchParams); - if (fullDiscountList != null && !fullDiscountList.isEmpty()) { - for (FullDiscount fullDiscount : fullDiscountList) { - resultMap.put(PromotionTypeEnum.FULL_DISCOUNT.name(), fullDiscount); - } - } - PintuanSearchParams pintuanSearchParams = new PintuanSearchParams(); - pintuanSearchParams.setPromotionStatus(PromotionsStatusEnum.START.name()); - //获取当前进行的拼团活动 - List pintuanList = pintuanService.listFindAll(pintuanSearchParams); - if (pintuanList != null && !pintuanList.isEmpty()) { - for (Pintuan pintuan : pintuanList) { - resultMap.put(PromotionTypeEnum.PINTUAN.name(), pintuan); - } - } - return resultMap; + public Map> getCurrentPromotion() { + PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams(); + searchParams.setPromotionStatus(PromotionsStatusEnum.START.name()); + List promotionGoods = promotionGoodsService.listFindAll(searchParams); + return promotionGoods.stream().collect(Collectors.groupingBy(PromotionGoods::getPromotionType)); } /** diff --git a/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java b/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java index fb514b846..584db8bfc 100644 --- a/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/other/broadcast/StudioManagerController.java @@ -36,7 +36,7 @@ public class StudioManagerController { @ApiOperation(value = "获取店铺直播间列表") @ApiImplicitParam(name = "status", value = "直播间状态", paramType = "query") @GetMapping - public ResultMessage> page(PageVO pageVO, String status) { + public ResultMessage> page(PageVO pageVO, String status) { return ResultUtil.data(studioService.studioList(pageVO, null, status)); } diff --git a/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java b/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java index 9afbb2b4c..a4c9f59d8 100644 --- a/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/promotion/PromotionManagerController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; import java.util.Map; /** @@ -37,8 +38,8 @@ public class PromotionManagerController { @GetMapping("/current") @ApiOperation(value = "获取当前进行中的促销活动") - public ResultMessage> getCurrentPromotion() { - Map currentPromotion = promotionService.getCurrentPromotion(); + public ResultMessage>> getCurrentPromotion() { + Map> currentPromotion = promotionService.getCurrentPromotion(); return ResultUtil.data(currentPromotion); } diff --git a/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java b/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java index 09999f035..efe697e3d 100644 --- a/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/other/broadcast/StudioStoreController.java @@ -38,7 +38,7 @@ public class StudioStoreController { @ApiOperation(value = "获取店铺直播间列表") @ApiImplicitParam(name = "status", value = "直播间状态", paramType = "query", dataType = "String") @GetMapping - public ResultMessage> page(PageVO pageVO, String status) { + public ResultMessage> page(PageVO pageVO, String status) { return ResultUtil.data(studioService.studioList(pageVO, null, status)); }