feat(mcp): 新增出纸机查询工具 hardware.list/detail.query (REQ-20260910-0012) #7

Merged
wangheng merged 1 commits from feat/REQ-20260910-0012-hardware-tools into main 2026-09-10 16:03:06 +08:00
Owner

需求

REQ-20260910-0012(ai-proj id 5609,项目 224)

内容

仿老接口 POST /hardware/listByPage(HardwareViewController)新增两个 MCP 工具:

  • hardware.list.query:11 个过滤字段 + 分页(rows 默认 20 上限 100 截断+notice),固定 id 倒序
  • hardware.detail.query:按 id 查详情,站点信息必带(districtName/省市县/地址/联系人 + buildingId/floor)

设计决策(已评审)

  1. 新开 hardware 工具分类/作用域(seed-dev.sql 已加种子,token 需绑定 hardware scope 才可见)
  2. 行级权限 1:1 复刻老接口 getByIsAgent(propertyFlag=true) 语义;PermissionService 提取 resolveRowScope 消除第三次复制
  3. 富化修正老接口 N+1:Redis multiGet 批量 + networkcard IN 批量
  4. 不做:电池类范围过滤、page_field 字段级裁剪、导出/指令下发

验证

  • mvn clean compile + 91 单测全绿(新增 13)
  • 测试环境 8088 冒烟通过:tools/list 可见、list(total=12711 与库一致)、snCode 精确查、组合过滤(2097 与库 count 一致)、rows=200 截断+notice、detail 正常/不存在 notice、Redis 富化(agentName/propertyName/districtName)、物联网卡富化
  • 代理商身份行权限由 PermissionServiceHardwareRowFilterTest 6 用例覆盖(dev 库无代理身份 ak 明文,未做真实身份冒烟)

部署注意

合并后各环境需将目标 ak 绑定到 hardware scope,否则 tools/list 不可见新工具。

## 需求 REQ-20260910-0012(ai-proj id 5609,项目 224) ## 内容 仿老接口 POST /hardware/listByPage(HardwareViewController)新增两个 MCP 工具: - `hardware.list.query`:11 个过滤字段 + 分页(rows 默认 20 上限 100 截断+notice),固定 id 倒序 - `hardware.detail.query`:按 id 查详情,站点信息必带(districtName/省市县/地址/联系人 + buildingId/floor) ## 设计决策(已评审) 1. 新开 `hardware` 工具分类/作用域(seed-dev.sql 已加种子,token 需绑定 hardware scope 才可见) 2. 行级权限 1:1 复刻老接口 getByIsAgent(propertyFlag=true) 语义;PermissionService 提取 resolveRowScope 消除第三次复制 3. 富化修正老接口 N+1:Redis multiGet 批量 + networkcard IN 批量 4. 不做:电池类范围过滤、page_field 字段级裁剪、导出/指令下发 ## 验证 - mvn clean compile + 91 单测全绿(新增 13) - 测试环境 8088 冒烟通过:tools/list 可见、list(total=12711 与库一致)、snCode 精确查、组合过滤(2097 与库 count 一致)、rows=200 截断+notice、detail 正常/不存在 notice、Redis 富化(agentName/propertyName/districtName)、物联网卡富化 - 代理商身份行权限由 PermissionServiceHardwareRowFilterTest 6 用例覆盖(dev 库无代理身份 ak 明文,未做真实身份冒烟) ## 部署注意 合并后各环境需将目标 ak 绑定到 hardware scope,否则 tools/list 不可见新工具。
wangheng added 1 commit 2026-09-10 15:37:10 +08:00
wangheng merged commit d5bb8646e1 into main 2026-09-10 16:03:06 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangheng/xiaoqu_mcp_service#7