package com.ycl.service.message.impl; 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 com.ycl.dto.message.MessageColumnParam; import com.ycl.entity.message.MessageColumn; import com.ycl.mapper.message.MessageColumnMapper; import com.ycl.mapper.message.MessageMapper; import com.ycl.service.message.IMessageColumnService; import com.ycl.vo.message.MessageColumnUserVO; import com.ycl.vo.message.MessageColumnVO; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; /** *

* 消息栏目 服务实现类 *

* * @author mg * @since 2022-10-10 */ @Service public class MessageColumnServiceImpl extends ServiceImpl implements IMessageColumnService { @Resource MessageMapper messageMapper; @Resource MessageColumnMapper messageColumnMapper; @Override public IPage list(MessageColumnParam messageColumnParam) { Page page = new Page<>(messageColumnParam.getCurrent(), messageColumnParam.getPageSize()); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(MessageColumn::getCreateTime); Page result = baseMapper.selectPage(page, queryWrapper); return result; } @Override public List listColumnUser(Integer id) { List messageColumnUserVOS = messageMapper.selectUserColumn(id); List ids = messageColumnUserVOS.stream().map(item -> item.getId()).collect(Collectors.toList()); baseMapper .selectList(new LambdaQueryWrapper().eq(MessageColumn::getIsShow, 1)) .stream() .forEach(item -> { if (!ids.contains(item.getId())) { MessageColumnUserVO messageColumnUserVO = new MessageColumnUserVO(); BeanUtils.copyProperties(item, messageColumnUserVO); messageColumnUserVOS.add(messageColumnUserVO); } }); return messageColumnUserVOS; } @Override public List listAllColumn() { return messageColumnMapper.selectAllColumn(); } @Override public List listShowColumn() { return this.list(new LambdaQueryWrapper().eq(MessageColumn::getIsShow,1)); } }