feat(msgcenter): 计数口径改总数 + 出参/筛选全面改用 appId(appKey 不再下发)
build / build-push (push) Successful in 54s

- summary 透传 sysTotal/bizTotal/approvalTotal 分类总数(含已读,UserMsg 新字段)
- 新代理端点 GET /msgCenter/countByApp([{appId, appName, total, unread}])替代 unreadCountByApp:UserMsg /oapi/msg/countByApp + 应用字典富化
- 新增应用字典(UserBase /oapi/app/list 按用户 5min TTL 缓存):appKey↔appId/name 映射,失败沿用旧值并进 30s 短路
- list 筛选参数 appKey→appId(代理翻译为 appKey 下行,字典查无返回空页);行出参 appKey 移除,替换为 appId/appName——appKey 属后端签名标识不再暴露前端
This commit is contained in:
chenxing
2026-10-08 16:37:15 +08:00
parent 18e8e978a6
commit 0e57022555
2 changed files with 144 additions and 27 deletions
@@ -41,17 +41,17 @@ public class MessageCenterController {
}
/** 消息分页列表:{total, list[]}(元素含改写后的绝对 jumpUrl;UserMsg 不可达降级空)。
* 可选服务端筛选:msgType 0/1/2、appKey、isRead 0/1、keyword 标题/内容模糊(不传与现状一致)。 */
* 可选服务端筛选:msgType 0/1/2、appId(注册表应用 id,代理翻译下行)、isRead 0/1、keyword 标题/内容模糊(不传与现状一致)。 */
@GetMapping("msgCenter/list")
public Map<String, Object> list(BoaUser authUserWithDept,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "count", required = false) Integer count,
@RequestParam(value = "onlyUnread", required = false) Boolean onlyUnread,
@RequestParam(value = "msgType", required = false) Integer msgType,
@RequestParam(value = "appKey", required = false) String appKey,
@RequestParam(value = "appId", required = false) String appId,
@RequestParam(value = "isRead", required = false) Integer isRead,
@RequestParam(value = "keyword", required = false) String keyword) {
return proxy.list(authUserWithDept.getId(), page, count, onlyUnread, msgType, appKey, isRead, keyword);
return proxy.list(authUserWithDept.getId(), page, count, onlyUnread, msgType, appId, isRead, keyword);
}
/** 铃铛摘要:未读数 + 各应用待办角标 */
@@ -60,10 +60,10 @@ public class MessageCenterController {
return proxy.summary(authUserWithDept.getId(), resolveSchId(authUserWithDept));
}
/** 按来源应用未读数映射(消息中心「按应用」清单角标):{appKey: 未读数},无未读的 appKey 不出现 */
@GetMapping("msgCenter/unreadCountByApp")
public Map<String, Long> unreadCountByApp(BoaUser authUserWithDept) {
return proxy.unreadCountByApp(authUserWithDept.getId());
/** 按来源应用消息计数(消息中心「按应用」清单角标):[{appId, appName, total, unread}],总数含已读 */
@GetMapping("msgCenter/countByApp")
public java.util.List<java.util.Map<String, Object>> countByApp(BoaUser authUserWithDept) {
return proxy.countByApp(authUserWithDept.getId());
}
/**