| | |
| | | |
| | | 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; |
| | |
| | | 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(); |
| | | } |
| | | } |