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「鉴权说明」)
- 响应结构:
Map(status/message/data,详见 index.md「响应结构与错误码 - 风格一」)。其中POST /返回void无响应体。
Notice模型主要字段:id、summary(摘要)、content(内容)、toUserId、createTime、read(已读 boolean)、module、linkParams(跳转参数 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) |
请求示例¶
响应¶
结构:Map。
data:DataPackage<Notice> 分页对象。
成功示例:
{
"status": 1,
"message": "ok",
"data": {
"datas": [ { "id": "...", "summary": "待办:XX 流程", "read": false, "subjectType": 1, "createTime": "..." } ],
"rowCount": 5, "linesPerPage": 10, "pageNo": 1
}
}
2. 删除事项提醒通知¶
按 noticeId 删除一条事项提醒通知。
- 接口类型:REST 资源
- 请求方式:
DELETE - 请求路径:
/api/message/notice(完整:{message-context}/api/message/notice) - 鉴权:是
- Tag:通知模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| noticeId | query | string | 是 | 通知事项 id(@RequestParam,Swagger 标注 required=true) |
请求示例¶
响应¶
结构:Map。
data:null(不写入 data 字段)。
成功示例:
失败示例: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) |
请求示例¶
响应¶
结构:Map。
data:null。
成功示例:
失败示例:5. 标记所有未读通知为已读¶
将当前登录用户全部未读事项提醒通知批量标记为已读。
- 接口类型:REST 资源
- 请求方式:
PUT - 请求路径:
/api/message/notice/allRead(完整:{message-context}/api/message/notice/allRead) - 鉴权:是
- Tag:通知模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| — | — | — | — | 无显式参数;当前用户从 token 解析 |
请求示例¶
响应¶
结构:Map。
data:null。
成功示例:
失败示例: