|
@@ -12,8 +12,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
/**
|
|
|
* 系统消息表 服务实现类
|
|
|
*
|
|
@@ -39,15 +37,27 @@ public class SysMessageServiceImpl extends BaseServiceImpl<SysMessageMapper, Sys
|
|
|
public InformMessageVO getInformByUser() {
|
|
|
UserSession userSession = UserSession.getLoginInfo();
|
|
|
InformMessageVO vo = new InformMessageVO();
|
|
|
- vo.setNoticeList(this.listCategoryByUser(userSession.getId(), 0));
|
|
|
- vo.setMessageList(this.listCategoryByUser(userSession.getId(), 1));
|
|
|
- vo.setTodoList(this.listCategoryByUser(userSession.getId(), 2));
|
|
|
+ // 通知
|
|
|
+ Page<SysMessage> noticePage = this.pageCategoryByUser(userSession.getId(), 0);
|
|
|
+ vo.setNoticeNum(noticePage.getTotal());
|
|
|
+ vo.setNoticeList(noticePage.getRecords());
|
|
|
+ // 消息
|
|
|
+ Page<SysMessage> messagePage = this.pageCategoryByUser(userSession.getId(), 1);
|
|
|
+ vo.setMessageNum(messagePage.getTotal());
|
|
|
+ vo.setMessageList(messagePage.getRecords());
|
|
|
+ // 待办
|
|
|
+ Page<SysMessage> todoPage = this.pageCategoryByUser(userSession.getId(), 2);
|
|
|
+ vo.setTodoNum(todoPage.getTotal());
|
|
|
+ vo.setTodoList(todoPage.getRecords());
|
|
|
+ // 总数量
|
|
|
+ vo.setTotalNum(vo.getNoticeNum() + vo.getMessageNum() + vo.getTodoNum());
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
- public List<SysMessage> listCategoryByUser(Long userId, Integer category) {
|
|
|
- return lambdaQuery().select(SysMessage::getId, SysMessage::getTitle, SysMessage::getContent, SysMessage::getCreateTime)
|
|
|
- .eq(SysMessage::getCategory, category).eq(SysMessage::getUserId, userId).eq(SysMessage::getViewed, 0)
|
|
|
- .orderByDesc(SysMessage::getCreateTime).last("LIMIT 5").list();
|
|
|
+ public Page<SysMessage> pageCategoryByUser(Long userId, Integer category) {
|
|
|
+ return super.page(Page.of(1, 5), Wrappers.<SysMessage>lambdaQuery().select(SysMessage::getId, SysMessage::getTitle,
|
|
|
+ SysMessage::getContent, SysMessage::getCreateTime).eq(SysMessage::getCategory, category)
|
|
|
+ .eq(SysMessage::getUserId, userId).eq(SysMessage::getViewed, 0).orderByDesc(SysMessage::getCreateTime));
|
|
|
}
|
|
|
+
|
|
|
}
|