package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.mall.dto.MallNewsInfoDto; import cc.mrbird.febs.mall.entity.MallNewsCategory; import cc.mrbird.febs.mall.entity.MallNewsInfo; import cc.mrbird.febs.mall.mapper.MallNewsCategoryMapper; import cc.mrbird.febs.mall.mapper.MallNewsInfoMapper; import cc.mrbird.febs.mall.service.IMallNewsInfoService; import cc.mrbird.febs.mall.vo.AdminMallNewsInfoVo; import cn.hutool.core.util.ObjectUtil; 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; /** * @author wzy * @date 2022-05-13 **/ @Slf4j @Service @RequiredArgsConstructor public class MallNewsInfoServiceImpl extends ServiceImpl implements IMallNewsInfoService { private final MallNewsCategoryMapper mallNewsCategoryMapper; @Override public IPage getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage adminMallNewsInfoVos = this.baseMapper.getNewInfoListInPage(page, mallNewsInfo); return adminMallNewsInfoVos; } @Override public FebsResponse addNewsInfo(MallNewsInfoDto mallNewsInfoDto) { Integer type = mallNewsInfoDto.getType(); if(type == 2){ Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId(); if(goodsId == 0L){ return new FebsResponse().fail().message("请选择跳转的产品"); } } MallNewsInfo mallNewsInfo = new MallNewsInfo(); mallNewsInfo.setTitle(mallNewsInfoDto.getTitle()); mallNewsInfo.setContent(mallNewsInfoDto.getContent()); mallNewsInfo.setType(mallNewsInfoDto.getType()); if(mallNewsInfoDto.getType() == 2){ mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId()); } this.baseMapper.insert(mallNewsInfo); return new FebsResponse().success(); } @Override public FebsResponse delNewsInfo(Long id) { MallNewsInfo mallNewsInfo = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(mallNewsInfo)){ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); } this.baseMapper.deleteById(id); return new FebsResponse().success(); } @Override public FebsResponse updateNewsInfo(MallNewsInfoDto mallNewsInfoDto) { MallNewsInfo mallNewsInfoBefore = this.baseMapper.selectById(mallNewsInfoDto.getId()); if(ObjectUtil.isEmpty(mallNewsInfoBefore)){ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); } Integer type = mallNewsInfoDto.getType(); if(type == 2){ Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId(); if(goodsId == 0L){ return new FebsResponse().fail().message("请选择跳转的产品"); } } MallNewsInfo mallNewsInfo = new MallNewsInfo(); mallNewsInfo.setTitle(mallNewsInfoDto.getTitle()); mallNewsInfo.setContent(mallNewsInfoDto.getContent()); mallNewsInfo.setType(mallNewsInfoDto.getType()); if(mallNewsInfoDto.getType() == 2){ mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId()); } this.baseMapper.insert(mallNewsInfo); this.baseMapper.deleteById(mallNewsInfoDto.getId()); return new FebsResponse().success(); } @Override public MallNewsInfo getNewsInfoById(long id) { return this.baseMapper.selectById(id); } @Override public IPage findNewsCategoryInPage(MallNewsCategory mallNewsCategory, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); return mallNewsCategoryMapper.selectInPage(mallNewsCategory, page); } @Override public void addOrModifyNewsCategory(MallNewsCategory mallNewsCategory) { if (mallNewsCategory.getId() != null) { mallNewsCategoryMapper.updateById(mallNewsCategory); return; } mallNewsCategoryMapper.insert(mallNewsCategory); } @Override public MallNewsCategory findNewsCategoryById(Long id) { return mallNewsCategoryMapper.selectById(id); } }