类 NoticeController
java.lang.Object
net.sohelp.boot.admin.core.base.BaseController
net.sohelp.boot.engine.web.controller.NoticeController
@RestController("engine-web-notice")
@RequestMapping("/engine/web/notice")
@ConditionalOnExpression("${sohelp-boot.engine.enabled:true} && ${sohelp-boot.engine.service.enabled:true} && ${sohelp-boot.engine.notice.enabled:true}")
public class NoticeController
extends BaseController
消息提醒
- 从以下版本开始:
- 2024/8/25 15:32
- 作者:
- AaronFung
-
字段概要
从类继承的字段 net.sohelp.boot.admin.core.base.BaseController
request, response -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明batchDelete(Map<String, Object> dataMap) 批量删除通知接口 该接口用于根据传入的ID列表和类型,批量删除指定用户的通知批量读取通知接口 该接口用于批量更新通知的读取状态,根据传入的通知ID列表和状态进行更新。获取未读通知列表 该接口用于获取当前登录用户的未读系统通知、私信和待办事项,每种类型最多返回6条数据。获取未读通知数量 该接口用于获取当前登录用户的未读系统通知、私信和待办事项的数量分页查询用户信件 根据用户ID和是否已读状态分页查询用户信件,并返回结果获取我的通知 该接口用于分页查询当前登录用户的系统通知,包括通知标题、是否已读等信息,并按ID降序排列。pageTodo()分页查询待办事项 该接口用于分页查询当前登录用户的待办事项,通过构建SQL查询语句,从数据库中获取待办事项列表,并进行格式化处理后返回。标记所有指定类型的通知为已读 该接口接收一个包含通知类型的请求体,并将该类型且未删除的通知标记为已读状态sendMessage(Map<String, Object> dataMap) 发送用户消息接口 向指定用户发送消息,支持多终端实时推送。从类继承的方法 net.sohelp.boot.admin.core.base.BaseController
error, error, fail, fail, fail, getLoginID, getLoginName, getLoginOrgID, getLoginOrgName, getLoginUser, getNickname, getTenantId, getUserName, getUserNo, i18n, i18n, isAdministrator, isDeveloper, limit, offset, ok, ok, response, response, responseStream, success, success, success, success, validateToken
-
构造器详细资料
-
NoticeController
public NoticeController()
-
-
方法详细资料
-
pageNotice
@GetMapping("/pageNotice") @Permission("") public ApiResult<Pager<Map<String,Object>>> pageNotice() throws TokenAuthenticationException, BusiException, SQLException获取我的通知 该接口用于分页查询当前登录用户的系统通知,包括通知标题、是否已读等信息,并按ID降序排列。- 返回:
- ApiResult无效输入:'<'Pager无效输入:'<'Map无效输入:'<'String, Object>>> 分页查询结果,包含通知信息的Map列表
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出此异常BusiException- 如果业务处理过程中出现异常,则抛出此异常SQLException- 如果数据库查询过程中出现异常,则抛出此异常
-
pageLetter
@GetMapping("/pageLetter") @Permission("") public ApiResult<Pager<Map<String,Object>>> pageLetter() throws TokenAuthenticationException, BusiException, SQLException分页查询用户信件 根据用户ID和是否已读状态分页查询用户信件,并返回结果- 返回:
- 分页查询结果,包含信件的Pager对象
- 抛出:
TokenAuthenticationException- 如果token验证失败,则抛出TokenAuthenticationException异常BusiException- 如果业务逻辑出错,则抛出BusiException异常SQLException- 如果数据库查询出错,则抛出SQLException异常
-
pageTodo
@GetMapping("/pageTodo") @Permission("") public ApiResult<Pager<Map<String,Object>>> pageTodo() throws TokenAuthenticationException, BusiException, SQLException分页查询待办事项 该接口用于分页查询当前登录用户的待办事项,通过构建SQL查询语句,从数据库中获取待办事项列表,并进行格式化处理后返回。- 返回:
- ApiResult无效输入:'<'Pager无效输入:'<'Map无效输入:'<'String, Object>>> 包含待办事项分页结果的ApiResult对象
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出TokenAuthenticationException异常BusiException- 如果业务处理过程中发生异常,则抛出BusiException异常SQLException- 如果数据库查询过程中发生异常,则抛出SQLException异常
-
readAll
@PostMapping("/readAll") @Permission("") public ApiResult<String> readAll(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException标记所有指定类型的通知为已读 该接口接收一个包含通知类型的请求体,并将该类型且未删除的通知标记为已读状态- 参数:
dataMap- 请求体,包含需要标记为已读的通知类型 - type: 通知的类型- 返回:
- 操作成功的ApiResult对象
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出TokenAuthenticationException异常
-
batchRead
@PostMapping("/batchRead") @Permission("") public ApiResult<String> batchRead(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException批量读取通知接口 该接口用于批量更新通知的读取状态,根据传入的通知ID列表和状态进行更新。- 参数:
dataMap- 包含通知ID列表和状态的Map对象 - ids: 需要更新读取状态的通知ID列表 - is_read: 通知的读取状态,1表示已读,其他值表示未读- 返回:
- 返回操作结果的ApiResult对象,包含操作成功的信息
- 抛出:
TokenAuthenticationException- 如果用户未认证或认证失败,则抛出TokenAuthenticationException异常
-
batchDelete
@PostMapping("/batchDelete") @Permission("") public ApiResult<String> batchDelete(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException批量删除通知接口 该接口用于根据传入的ID列表和类型,批量删除指定用户的通知- 参数:
dataMap- 包含删除通知所需数据的Map,其中必须包含"ids"和"type"两个键 - "ids":要删除的通知ID列表,类型为List- "type":通知的类型,类型为String,对应NoticeTypeEnum的枚举值 - 返回:
- 操作结果,成功返回ok,失败返回错误信息
- 抛出:
TokenAuthenticationException- 如果验证令牌失败,则抛出该异常
-
getUnreadNotice
@GetMapping("/getUnreadNotice") @Permission("") public ApiResult<Map<String,List<Map<String, getUnreadNotice() throws TokenAuthenticationExceptionObject>>>> 获取未读通知列表 该接口用于获取当前登录用户的未读系统通知、私信和待办事项,每种类型最多返回6条数据。- 返回:
- ApiResult 包含未读通知的Map,键为"notice"(系统通知)、"letter"(私信)和"todo"(待办事项),值为对应的通知列表
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出TokenAuthenticationException异常
-
getUnreadNoticeNum
@GetMapping("/getUnreadNoticeNum") @Permission("") public ApiResult<Map<String,Integer>> getUnreadNoticeNum() throws TokenAuthenticationException获取未读通知数量 该接口用于获取当前登录用户的未读系统通知、私信和待办事项的数量- 返回:
- ApiResult无效输入:'<'Map无效输入:'<'String, Integer>> 包含未读通知数量的结果,键包括"notice"(系统通知)、"letter"(私信)和"todo"(待办事项)
- 抛出:
TokenAuthenticationException- 如果令牌认证失败,则抛出TokenAuthenticationException异常
-
sendMessage
@PostMapping("/sendMessage") @Permission("") public ApiResult<String> sendMessage(@RequestBody Map<String, Object> dataMap) throws TokenAuthenticationException, BusiException, SQLException发送用户消息接口 向指定用户发送消息,支持多终端实时推送。 如果目标用户同时登录了多个终端(PC、手机等),每个终端都会收到消息。- 参数:
dataMap- 请求体参数: - to_user_id: 接收者用户ID(必填) - title: 消息标题(必填) - content: 消息内容(必填) - type: 消息类型,SYSTEM=系统通知/TODO=待办/USER=私信(默认USER) - ref_id: 关联业务ID(可选) - ref_type: 关联类型,0=表单/1=流程/2=消息(默认2) - ref_url: 跳转链接(可选)- 返回:
- ApiResult
操作结果 - 抛出:
TokenAuthenticationExceptionBusiExceptionSQLException
-