package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.mall.dto.NewsListDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IApiMallNewsService; import cc.mrbird.febs.mall.vo.NewsListVo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; /** * @author wzy * @date 2021-09-28 **/ @Slf4j @Service @RequiredArgsConstructor public class ApiMallNewsServiceImpl extends ServiceImpl implements IApiMallNewsService { private final MallNewsCategoryMapper mallNewsCategoryMapper; private final PlatformBannerMapper platformBannerMapper; private final MallGoodsMapper mallGoodsMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; @Override public List findNewsCategoryList() { return mallNewsCategoryMapper.selectList(null); } @Override public IPage findNewsInPage(NewsListDto newsListDto) { Page page = new Page<>(newsListDto.getPageNum(), newsListDto.getPageSize()); MallNewsInfo mallNewsInfo = new MallNewsInfo(); mallNewsInfo.setCategoryId(newsListDto.getCategoryId()); return this.baseMapper.selectNewsVoInPage(page, mallNewsInfo); } @Override public List findTopNews() { Page page = new Page<>(1, 999); MallNewsInfo mallNewsInfo = new MallNewsInfo(); mallNewsInfo.setIsTop(1); IPage pageList = this.baseMapper.selectNewsVoInPage(page, mallNewsInfo); return pageList.getRecords(); } @Override public FebsResponse findAllBanner() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByAsc("is_top"); queryWrapper.orderByAsc("created_time"); List paymentMethodList = platformBannerMapper.selectList(queryWrapper); if(CollUtil.isNotEmpty(paymentMethodList)){ for(PlatformBanner platformBanner : paymentMethodList){ if("1".equals(platformBanner.getIsJump()) && 1 == platformBanner.getIsInside()){ String jumpUrl = platformBanner.getJumpUrl(); QueryWrapper queryWrapperGoods = new QueryWrapper<>(); queryWrapperGoods.eq("goods_no",jumpUrl); List goodsList = mallGoodsMapper.selectList(queryWrapperGoods); if(CollUtil.isNotEmpty(goodsList)){ platformBanner.setGoodsId(goodsList.get(0).getId()); } } } } return new FebsResponse().success().data(paymentMethodList); } @Override public FebsResponse indexVideo() { DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.VIDEO_URL_INDEX.getType(), DataDictionaryEnum.VIDEO_URL_INDEX.getCode() ); return new FebsResponse().success().data(dataDictionaryCustom.getValue()); } }