| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.NoticeMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 消息通知信息Service实现 |
| | |
| | | IPage<Notice> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Notice> queryWrapper = new QueryWrapper<>(); |
| | | if (pageWrap.getModel() != null) { |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(Notice::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getUserType() != null) { |
| | | queryWrapper.lambda().eq(Notice::getUserType, pageWrap.getModel().getUserType()); |
| | | } |
| | | if (pageWrap.getModel().getUserId() != null) { |
| | | queryWrapper.lambda().eq(Notice::getUserId, pageWrap.getModel().getUserId()); |
| | | } |
| | | if (pageWrap.getModel().getObjType() != null) { |
| | | queryWrapper.lambda().eq(Notice::getObjType, pageWrap.getModel().getObjType()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(Notice::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getTitle() != null) { |
| | | queryWrapper.lambda().like(Notice::getTitle, pageWrap.getModel().getTitle()); |
| | | } |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(Notice::getCreateDate, pageWrap.getModel().getCreateDate()); |
| | | } |
| | | Notice model = pageWrap.getModel(); |
| | | queryWrapper.lambda().eq(Notice::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.lambda().eq(Objects.nonNull(model.getUserId()),Notice::getUserId,model.getUserId()); |
| | | queryWrapper.lambda().eq(Objects.nonNull(model.getUserType()),Notice::getUserType,model.getUserType()); |
| | | } |
| | | for (PageWrap.SortData sortData : pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | queryWrapper.lambda().orderByAsc(Notice::getStatus).orderByDesc(Notice::getCreateDate); |
| | | return PageData.from(noticeMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | |
| | | QueryWrapper<Notice> wrapper = new QueryWrapper<>(notice); |
| | | return noticeMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void readNotice(Integer id, Integer userId) { |
| | | Notice notice = noticeMapper.selectById(id); |
| | | if (notice != null && notice.getUserId().equals(userId)) { |
| | | notice.setStatus(Constants.ONE); |
| | | notice.setEditDate(new java.util.Date()); |
| | | noticeMapper.updateById(notice); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void readAllNotice(Integer userType, Integer userId) { |
| | | noticeMapper.update(new UpdateWrapper<Notice>().lambda() |
| | | .set(Notice::getStatus, Constants.ONE) |
| | | .set(Notice::getEditDate, new java.util.Date()) |
| | | .eq(Notice::getUserType, userType) |
| | | .eq(Notice::getUserId, userId) |
| | | .eq(Notice::getStatus, Constants.ZERO) |
| | | .eq(Notice::getIsdeleted, Constants.ZERO)); |
| | | } |
| | | |
| | | } |