houzhongjian
2024-10-16 7da8f196dee8e3c526c009a4bc7f5983ece6bb97
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.notify;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO;
5 import com.iailab.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO;
6 import com.iailab.module.system.dal.dataobject.notify.NotifyMessageDO;
7 import com.iailab.module.system.dal.dataobject.notify.NotifyTemplateDO;
8
9 import java.util.Collection;
10 import java.util.List;
11 import java.util.Map;
12
13 /**
14  * 站内信 Service 接口
15  *
16  * @author xrcoder
17  */
18 public interface NotifyMessageService {
19
20     /**
21      * 创建站内信
22      *
23      * @param userId 用户编号
24      * @param userType 用户类型
25      * @param template 模版信息
26      * @param templateContent 模版内容
27      * @param templateParams 模版参数
28      * @return 站内信编号
29      */
30     Long createNotifyMessage(Long userId, Integer userType,
31                              NotifyTemplateDO template, String templateContent, Map<String, Object> templateParams);
32
33     /**
34      * 获得站内信分页
35      *
36      * @param pageReqVO 分页查询
37      * @return 站内信分页
38      */
39     PageResult<NotifyMessageDO> getNotifyMessagePage(NotifyMessagePageReqVO pageReqVO);
40
41     /**
42      * 获得【我的】站内信分页
43      *
44      * @param pageReqVO 分页查询
45      * @param userId 用户编号
46      * @param userType 用户类型
47      * @return 站内信分页
48      */
49     PageResult<NotifyMessageDO> getMyMyNotifyMessagePage(NotifyMessageMyPageReqVO pageReqVO, Long userId, Integer userType);
50
51     /**
52      * 获得站内信
53      *
54      * @param id 编号
55      * @return 站内信
56      */
57     NotifyMessageDO getNotifyMessage(Long id);
58
59     /**
60      * 获得【我的】未读站内信列表
61      *
62      * @param userId   用户编号
63      * @param userType 用户类型
64      * @param size     数量
65      * @return 站内信列表
66      */
67     List<NotifyMessageDO> getUnreadNotifyMessageList(Long userId, Integer userType, Integer size);
68
69     /**
70      * 统计用户未读站内信条数
71      *
72      * @param userId   用户编号
73      * @param userType 用户类型
74      * @return 返回未读站内信条数
75      */
76     Long getUnreadNotifyMessageCount(Long userId, Integer userType);
77
78     /**
79      * 标记站内信为已读
80      *
81      * @param ids    站内信编号集合
82      * @param userId 用户编号
83      * @param userType 用户类型
84      * @return 更新到的条数
85      */
86     int updateNotifyMessageRead(Collection<Long> ids, Long userId, Integer userType);
87
88     /**
89      * 标记所有站内信为已读
90      *
91      * @param userId   用户编号
92      * @param userType 用户类型
93      * @return 更新到的条数
94      */
95     int updateAllNotifyMessageRead(Long userId, Integer userType);
96
97 }