From fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 29 七月 2024 18:51:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java | 94 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 86 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java index 45333e7..7555764 100644 --- a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java +++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java @@ -2,14 +2,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.ruoyi.promotion.domain.pojo.PromotionBanner; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.enums.ListingStatusEnum; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.page.BeanUtils; +import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.promotion.controller.management.dto.MgtPromotionBannerDTO; +import com.ruoyi.promotion.controller.management.dto.MgtPromotionBannerQuery; +import com.ruoyi.promotion.controller.management.dto.MgtPromotionBannerUpdDTO; +import com.ruoyi.promotion.controller.management.vo.MgtPromotionBannerVO; +import com.ruoyi.promotion.domain.PromotionBanner; import com.ruoyi.promotion.mapper.PromotionBannerMapper; import com.ruoyi.promotion.service.IPromotionBannerService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; import java.util.List; +import org.springframework.stereotype.Service; /** * <p> @@ -22,14 +30,84 @@ @Service public class PromotionBannerServiceImpl extends ServiceImpl<PromotionBannerMapper, PromotionBanner> implements IPromotionBannerService { - @Resource - private IPromotionBannerService iPromotionBannerService; @Override public List<PromotionBanner> getBaanerList(Integer bannerType) { LambdaQueryWrapper<PromotionBanner> wrapper= Wrappers.lambdaQuery(); wrapper.eq(PromotionBanner::getBannerType,bannerType); wrapper.eq(PromotionBanner::getDelFlag,0); + wrapper.eq(PromotionBanner::getListingStatus, ListingStatusEnum.ON_SHELVES); wrapper.orderByDesc(PromotionBanner::getSortNum); - return iPromotionBannerService.list(wrapper); + return this.list(wrapper); + } + + @Override + public PageDTO<MgtPromotionBannerVO> getBannerPage(MgtPromotionBannerQuery query) { + Page<PromotionBanner> page = this.lambdaQuery() + .eq(StringUtils.isNotNull(query.getListingStatus()), + PromotionBanner::getListingStatus, query.getListingStatus()) + .like(StringUtils.isNotBlank(query.getBannerName()), PromotionBanner::getBannerName, + query.getBannerName()) + .orderByDesc(PromotionBanner::getCreateTime) + .page(new Page<>(query.getPageCurr(), query.getPageSize())); + if (StringUtils.isEmpty(page.getRecords())) { + return PageDTO.empty(page); + } + return PageDTO.of(page, MgtPromotionBannerVO.class); + } + + /** + * 添加/编辑轮播图 + * + * @param dto 轮播图数据传输对象 + */ + @Override + public void savePromotionBanner(MgtPromotionBannerDTO dto) { + PromotionBanner promotionBanner = BeanUtils.copyBean(dto, PromotionBanner.class); + // 添加 + if (StringUtils.isNull(promotionBanner.getId())) { + if (StringUtils.isNull(promotionBanner.getBannerType())) { + throw new ServiceException("轮播图类型不能为空"); + } + this.save(promotionBanner); + } else { + // 更新 + this.updateById(promotionBanner); + } + } + + /** + * 删除轮播图 + * + * @param id 轮播图id + */ + @Override + public void delPromotionBanner(Long id) { + this.removeById(id); + } + + /** + * 查看轮播图详情 + * + * @param id 轮播图id + * @return MgtPromotionBannerVO + */ + @Override + public MgtPromotionBannerVO getPromotionBanner(Long id) { + PromotionBanner promotionBanner = this.getById(id); + if (StringUtils.isNull(promotionBanner)) { + throw new ServiceException("轮播图不存在"); + } + return BeanUtils.copyBean(promotionBanner, MgtPromotionBannerVO.class); + } + + /** + * 轮播图 上架/下架 + * + * @param dto 轮播图状态数据传输对象 + */ + @Override + public void updStatus(MgtPromotionBannerUpdDTO dto) { + this.lambdaUpdate().set(PromotionBanner::getListingStatus, dto.getListingStatus()) + .eq(PromotionBanner::getId, dto.getId()).update(); } } -- Gitblit v1.7.1