类 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
  • 构造器详细资料

    • 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,Object>>>> getUnreadNotice() throws TokenAuthenticationException
      获取未读通知列表 该接口用于获取当前登录用户的未读系统通知、私信和待办事项,每种类型最多返回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 操作结果
      抛出:
      TokenAuthenticationException
      BusiException
      SQLException