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.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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; private final MallActivityMapper mallActivityMapper; @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() { List paymentMethodList = platformBannerMapper.selectList( new LambdaQueryWrapper() .orderByAsc(PlatformBanner::getIsTop) .orderByAsc(PlatformBanner::getCreatedTime) ); if(CollUtil.isNotEmpty(paymentMethodList)){ paymentMethodList.forEach(item -> { if("1".equals(item.getIsJump()) && 1 == item.getIsInside() && StrUtil.isNotEmpty(item.getJumpUrl())){ String jumpUrl = item.getJumpUrl(); MallActivity mallActivity = mallActivityMapper.selectById(Long.parseLong(jumpUrl)); item.setActivityId(mallActivity.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()); } }