package com.fdkankan.manage.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.common.constant.CommonStatus; import com.fdkankan.common.constant.TbStatus; import com.fdkankan.common.response.PageInfo; import com.fdkankan.common.response.ResultData; import com.fdkankan.manage.entity.News; import com.fdkankan.manage.mapper.INewsMapper; import com.fdkankan.manage.service.INewsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.vo.BaseParamVO; import com.fdkankan.manage.vo.NewsDisplayParamVO; import com.fdkankan.manage.vo.NewsPublicParamVO; import com.fdkankan.manage.vo.NewsPutTopParamVO; import com.fdkankan.manage.vo.PageNewsParamVO; import com.fdkankan.manage.vo.PageNewsVO; import com.fdkankan.manage.vo.SaveNewsParamVO; import com.fdkankan.manage.vo.UpdateNewsParamVO; import java.util.Calendar; import org.springframework.stereotype.Service; /** *

* 服务实现类 *

* * @author * @since 2022-06-06 */ @Service public class NewsServiceImpl extends ServiceImpl implements INewsService { @Override public PageInfo pageNews(PageNewsParamVO param) { Page pageNewsVOPage = this.baseMapper.pageNews(new Page<>(param.getPageNum(), param.getPageSize()), param); return PageInfo.PageInfo(pageNewsVOPage); } @Override public ResultData display(Long userId, NewsDisplayParamVO param) { this.update(new LambdaUpdateWrapper() .set(News::getDisplay, param.getDisplay()) .set(News::getUpdateTime, Calendar.getInstance().getTime()) .set(News::getUpdaterId, userId) .eq(News::getId, param.getId())); return ResultData.ok(); } @Override public ResultData putTop(Long userId, NewsPutTopParamVO param) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .set(News::getIsTop, param.getIsTop()) .set(News::getUpdateTime, Calendar.getInstance().getTime()) .set(News::getUpdaterId, userId) .eq(News::getId, param.getId()); if(CommonStatus.YES.code() == param.getIsTop().byteValue()){ updateWrapper.set(News::getTopTime, Calendar.getInstance().getTime()); } this.update(updateWrapper); return ResultData.ok(); } @Override public ResultData publicNews(Long userId, NewsPublicParamVO param) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() .set(News::getIsPublic, param.getIsPublic()) .set(News::getUpdateTime, Calendar.getInstance().getTime()) .set(News::getUpdaterId, userId) .eq(News::getId, param.getId()); if(CommonStatus.YES.code() == param.getIsPublic().byteValue()){ updateWrapper.set(News::getPublicTime, Calendar.getInstance().getTime()); } this.update(updateWrapper); return ResultData.ok(); } @Override public ResultData delete(Long userId, BaseParamVO param) { this.update(new LambdaUpdateWrapper() .set(News::getTbStatus, TbStatus.DELETE.code()) .set(News::getUpdateTime, Calendar.getInstance().getTime()) .set(News::getUpdaterId, userId) .eq(News::getId, param.getId())); return ResultData.ok(); } @Override public News getNewsDetail(BaseParamVO param) { return this.getById(param.getId()); } @Override public ResultData addNews(Long userId, SaveNewsParamVO param) { News news = BeanUtil.copyProperties(param, News.class); news.setCreaterId(userId); news.setPublicTime(Calendar.getInstance().getTime()); this.save(news); return ResultData.ok(); } @Override public ResultData updateNews(Long userId, UpdateNewsParamVO param) { News news = BeanUtil.copyProperties(param, News.class); news.setUpdateTime(Calendar.getInstance().getTime()); news.setUpdaterId(userId); this.updateById(news); return ResultData.ok(); } }