跳转至

NoticeController(事项提醒通知)

cn.myapps.message.notice.controller.NoticeController@Controller("NoticeAction"))— 流程/业务事项的提醒通知查询、删除、创建、已读标记。继承 BaseController<Notice>,方法返回 Map<String, Object> 经 Jackson 序列化。

  • 基址${myapps.context-path.message:}/api/message/notice(完整:{message-context}/api/message/notice
  • Tag:通知模块
  • 鉴权:是(需 accessToken;详见 index.md「鉴权说明」)
  • 响应结构Mapstatus/message/data,详见 index.md「响应结构与错误码 - 风格一」)。其中 POST / 返回 void 无响应体

Notice 模型主要字段:idsummary(摘要)、content(内容)、toUserIdcreateTimeread(已读 boolean)、modulelinkParams(跳转参数 JSON)、subjectType(事项类型 int)、domainid

源码 NoticeController.java 第 106 行有一行被注释掉的 // @PostMapping(value = "", produces = "application/json;charset=UTF-8"),不计入端点;实际生效的 POST / 端点为第 107 行的 @PostMapping(即下文「3. 创建通知」)。


1. 获取事项提醒通知

按阅读状态、事项类型分页查询当前用户的事项提醒通知;summary 关键字可参与匹配(业务侧约定)。readStatus=0 表示只查未读,其他值(含空)查全部。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/api/message/notice(完整:{message-context}/api/message/notice
  • 鉴权:是
  • Tag:通知模块

请求参数

参数名 位置 类型 必填 说明
readStatus query string 阅读状态(Swagger 标注 required=true);"0"=只查未读,其他=全部
type query int 事项类型(Swagger 标注 required=true,源码注释为「后续补充」)
summary query string 摘要关键字
_currpage query int 页码,默认 1(Swagger 默认值 1)
_rowcount query int 每页条数,默认 30(Swagger 默认值 10;实际 <=0 时取 30)

请求示例

GET /api/message/notice?accessToken=<token>&readStatus=0&type=1&_currpage=1&_rowcount=10 HTTP/1.1

响应

结构MapdataDataPackage<Notice> 分页对象。

成功示例

{
  "status": 1,
  "message": "ok",
  "data": {
    "datas": [ { "id": "...", "summary": "待办:XX 流程", "read": false, "subjectType": 1, "createTime": "..." } ],
    "rowCount": 5, "linesPerPage": 10, "pageNo": 1
  }
}
失败示例
{ "status": 0, "message": "error" }


2. 删除事项提醒通知

noticeId 删除一条事项提醒通知。

  • 接口类型:REST 资源
  • 请求方式DELETE
  • 请求路径/api/message/notice(完整:{message-context}/api/message/notice
  • 鉴权:是
  • Tag:通知模块

请求参数

参数名 位置 类型 必填 说明
noticeId query string 通知事项 id(@RequestParam,Swagger 标注 required=true

请求示例

DELETE /api/message/notice?accessToken=<token>&noticeId=<nid> HTTP/1.1

响应

结构Mapdatanull(不写入 data 字段)。

成功示例

{ "status": 1, "message": "ok" }
失败示例
{ "status": 0, "message": "error" }


3. 创建通知

创建一条事项提醒通知。返回 void,无响应体;服务端异常时打印堆栈但不抛出(HTTP 200,无响应体)。

  • 接口类型:REST 资源
  • 请求方式POST
  • 请求路径/api/message/notice(完整:{message-context}/api/message/notice
  • 鉴权:是
  • Tag:通知模块

请求体

请求体为 Notice JSON(@RequestBody Notice):

字段 类型 必填 说明
summary string 摘要
content string 内容
toUserId string 接收人 id
subjectType int 事项类型
linkParams string 跳转参数(JSON 字符串)
module string 来源模块

请求示例

POST /api/message/notice?accessToken=<token> HTTP/1.1
Content-Type: application/json

{ "summary": "待办提醒", "toUserId": "<uid>", "subjectType": 1, "linkParams": "{}" }

响应

结构:无(void,HTTP 200,无响应体)。源码在控制台打印 Notice--><对象>,业务异常被 try/catch 吞掉。


4. 设置事项提醒通知为已读(已废弃)

将单条通知标记为已读。@Deprecated,源码注释建议改用 PUT /allRead 标记全部未读为已读。

  • 接口类型:REST 资源
  • 请求方式PUT
  • 请求路径/api/message/notice/read(完整:{message-context}/api/message/notice/read
  • 鉴权:是
  • Tag:通知模块

请求参数

参数名 位置 类型 必填 说明
noticeId query string 通知事项 id(@RequestParam,Swagger 标注 required=true

请求示例

PUT /api/message/notice/read?accessToken=<token>&noticeId=<nid> HTTP/1.1

响应

结构Mapdatanull

成功示例

{ "status": 1, "message": "ok" }
失败示例
{ "status": 0, "message": "error" }


5. 标记所有未读通知为已读

将当前登录用户全部未读事项提醒通知批量标记为已读。

  • 接口类型:REST 资源
  • 请求方式PUT
  • 请求路径/api/message/notice/allRead(完整:{message-context}/api/message/notice/allRead
  • 鉴权:是
  • Tag:通知模块

请求参数

参数名 位置 类型 必填 说明
无显式参数;当前用户从 token 解析

请求示例

PUT /api/message/notice/allRead?accessToken=<token> HTTP/1.1

响应

结构Mapdatanull

成功示例

{ "status": 1, "message": "ok" }
失败示例
{ "status": 0, "message": "error" }