From 2f1988b9b3047e64d1a7b85fbaf8518d16eb88ec Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期五, 07 六月 2024 11:21:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionBannerServiceImpl.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 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 393ea44..9ab37bc 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,7 +2,17 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+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;
@@ -25,7 +35,78 @@
         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 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())
+                .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