xiaoqu
|
7add7e65e5
|
slark WIP snapshot (fence 1789139896433)
|
2026-09-11 23:18:16 +08:00 |
|
xiaoqu
|
795a433f35
|
feat(mcp): 新增 integration.context.get 身份与能力自检工具 (REQ-20260911-0012)
- 实时取 AkAuthFilter 鉴权上下文(ThreadLocal AuthContext)+ ToolGuard 同源能力计算,不缓存权限
- tenant_id 映射启用作用域编码;principal_type 集中在 IntegrationContextService.resolvePrincipalType
判定(当前按 token 绑定用户推导 user_delegated,5629 给 agent_api_key 加 principal_type 列后仅改该方法)
- data_scope_version = token_scope 绑定集合最大 modify_time 的 epoch 毫秒,无状态计算
- capability_levels 数据驱动:能力集合含 *.changes.list 工具即具备 SYNC,当前返回 QUERY
- seed-dev.sql operation 作用域白名单加入该工具
|
2026-09-11 23:10:19 +08:00 |
|
xiaoqu
|
f2ac17731a
|
feat(mcp): 统一输出规范与错误码体系——schema_version 双跑信封 + 8 错误码收敛 + 工具只读声明 + 日志脱敏 (REQ-20260911-0011)
|
2026-09-11 22:48:14 +08:00 |
|
xiaoqu
|
52bb9faa27
|
feat(mcp): 新增合同查询工具 contract.list/detail.query (REQ-20260911-0002)
|
2026-09-11 10:21:18 +08:00 |
|
xiaoqu
|
ff452d89d8
|
feat(mcp): 新增出纸机查询工具 hardware.list/detail.query (REQ-20260910-0012)
|
2026-09-10 15:27:14 +08:00 |
|
xiaoqu
|
af22fd0e45
|
fix(mcp): 修复商城订单工具 CR 问题——时区固定/严格日期校验/权限单测 (REQ-20260909-0004)
- OrderTools: startOrderTime/endOrderTime 解析与输出时间格式化统一固定 Asia/Shanghai;
endOrderTime 边界改为 < 次日零点(LocalDate.atStartOfDay),不再用 23:59:59 写法
- 日期入参严格校验:正则 ^\d{4}-\d{2}-\d{2}$ 全串匹配 + ISO_LOCAL_DATE/STRICT 解析,
拒绝 "2026-09-09junk" 尾部垃圾字符与 2026-02-30 等非法日历日
- 新增 PermissionServiceOrderRowFilterTest:applyOrderRowFilter 直接单测,
覆盖总部不过滤/代理自己+下级+代管/代管物业 OR 分支/销售非负责人收窄/agentId 缺失拒绝
|
2026-09-09 18:57:09 +08:00 |
|
xiaoqu
|
3d6d70604d
|
feat(mcp): 新增商城订单查询工具 mall.order.list/detail/logistics.query (REQ-20260909-0004)
- OrderTools: 订单列表(9个过滤字段+分页)、订单详情(订单+明细+收货地址合并)、订单物流(主表+轨迹)
- 新增 m1 商城库 5 个 Entity/Mapper(首次启用 m1 mapper 包)
- PermissionService.applyOrderRowFilter: 移植老接口 getSaleCompany 行级权限语义
- OrderToolsTest 6 用例;seed-dev.sql 绑定 operation scope;文档第 7~9 节
|
2026-09-09 18:06:59 +08:00 |
|
xiaoqu
|
1e42323697
|
feat(mcp): 新增代理/物业详情工具(含发票信息)+ 本机测试环境脚本
xiaoqu-agent-service CI / test (push) Canceled after 0s
- agent.detail.query / property.detail.query:主体详情 + invoice_info
全量抬头列表(默认条优先),行权限复用列表过滤语义
- 新增 InvoiceQueries 共享发票查询助手;InvoiceInfo 实体/Mapper
按线上库 codegen 生成(m0 白名单加 invoice_info)
- Properyt.customerId 补 @TableField("customerId"):库中驼峰列名,
否则映射到不存在的 customer_id(prod 曾报 Unknown column)
- seed-dev.sql 补两个详情工具的 scope 绑定;PermissionServiceTest
补详情行权限断言(合并远端 district 测试冲突)
- 新增 deploy/test-up.sh:本机测试环境一键脚本(构建→重启→刷新
scope 绑定→自检);.env.example 修正引导变量名 APP_ 前缀误写
|
2026-09-09 11:41:35 +08:00 |
|
xqzp2026
|
aa4cc26416
|
fix(mcp): 修正站点楼座数字段映射 (REQ-20260908-0006)
|
2026-09-09 11:20:03 +09:30 |
|
xqzp2026
|
686ce2daf8
|
feat(mcp): 新增站点列表与详情工具 (REQ-20260908-0006)
|
2026-09-08 19:25:12 +09:30 |
|
xiaoqu
|
b8cc1992b7
|
fix(entity): 按线上库结构重建实体,修复 prod 查询 500
- CodeGenerator 支持 CODEGEN_DB_BASE_URL/CODEGEN_SCHEMA_M0/M2/SVC
环境变量覆盖(默认仍 dev 库),并开启文件覆盖
- m0/m2 实体按生产 xiaoqu_complex/xiaoqu_franchisee 重新生成:
User 移除线上不存在的 emailMask/mobileEnc/mobileBidx/mobileMask/
idcardEnc/idcardBidx/idcardMask/tenantResolveStatus/idcardResolveStatus
等 9 个字段;Agent/Properyt 字段对齐线上实际列
- svc 实体无实质变化(Flyway 管理,各环境一致)
- 修复 /api/admin/users 在 prod 报 Unknown column 'email_mask' 的 500
|
2026-09-08 15:48:07 +08:00 |
|
xiaoqu
|
da60b0ab99
|
feat(deploy): 支持远程服务器部署
- deploy.sh 新增 push/remote-deploy/remote-stop/remote-status/remote-log 命令,
远程流程: 构建→上传→停旧→备份→启动→/mcp 健康检查
- 新增 deploy/remote.conf.example 模板(SSH/目录/JDK路径/JVM参数),
实际 remote.conf 已 gitignore
- 远程启动前 source 服务器上的 app.env 注入环境变量
- 新增 application-prod.yml,敏感值全部走环境变量,不写明文
|
2026-09-08 14:07:15 +08:00 |
|
xiaoqu
|
8c872ac15d
|
feat(open): ensure支持二次获取明文(ak存AES-GCM密文key_cipher, app.token-cipher-key派生密钥); 历史无密文Token自动轮换; V3迁移+回滚方案; 同步文档
|
2026-09-07 12:41:03 +08:00 |
|
xiaoqu
|
237a1f1c26
|
feat(mcp): tools/list按token作用域过滤(servlet层重写响应); ToolGuard.allowedToolNames批量查询; AkAuthFilter定序@Order(10)
|
2026-09-04 18:00:41 +08:00 |
|
xiaoqu
|
62b69657a6
|
feat(common): 全局异常处理, ResponseStatusException 统一返回 {message} (Open API/后台错误可读)
|
2026-09-04 16:53:18 +08:00 |
|
xiaoqu
|
965b314751
|
feat(token): 一作用域一Token(签发N个作用域生成N把); 新增Open API /api/open/token/ensure(get-or-create, X-Open-Key鉴权, 明文不可回吐)
|
2026-09-04 16:53:18 +08:00 |
|
xiaoqu
|
af23ced207
|
feat(config): dev环境DB/Redis连接信息明文写入application-dev.yml, 不再走环境变量; 同步README/.env.example/设计文档
|
2026-09-04 14:28:53 +08:00 |
|
xiaoqu
|
48e4f61ff4
|
feat(admin): 用户管理列表只查企业账号(enterprise_type 0/1, NULL保留), 排除物业账号(2)
|
2026-09-03 18:48:21 +08:00 |
|
xiaoqu
|
abfaa8c2d1
|
feat(admin): 用户管理改服务端分页(page/pageSize/total, pageSize上限100), 前端加分页器; MCP工具rows上限100已有, 补测试
|
2026-09-03 18:27:35 +08:00 |
|
xqzp2026
|
87659f9de9
|
fix(database): enforce Flyway migration governance
|
2026-09-03 18:28:10 +09:30 |
|
xqzp2026
|
b1dd68a14c
|
feat(admin): implement P4 management console
|
2026-09-03 18:01:00 +09:30 |
|
xqzp2026
|
e501afe292
|
fix(security): 收紧 MCP 数据权限并移除默认凭据
|
2026-09-03 16:00:19 +09:30 |
|
xiaoqu
|
ddd4b3b4ed
|
property.list.query 销售非负责人规则改为 1:1 复刻老代码 saleFlag 分支(id IN 自建∪代管物业,互斥 return);新增销售视角种子 ak,dev 实测 total=14 与老语义 SQL 逐 id 一致
|
2026-09-03 14:00:13 +08:00 |
|
xiaoqu
|
fd7ec29374
|
property.list.query 移除 enterprise_type=2 物业用户限制:物业用户不查此列表,与老 /property/listByPage 语义一致(PermissionService 保留 isPropertyUser 通用方法);同步设计文档 §9.1 与 README,回归 total 141/73 不变
|
2026-09-03 13:47:01 +08:00 |
|
xiaoqu
|
674c4ea7e6
|
xiaoqu-agent-service P3 首批工具完整版:agent.list.query 补齐入出参与 supervisorName 批量富化,新增 property.list.query(完整版行权限),rows 上限截断提示,LLM 友好 description,种子与 README 客户端接入说明,curl 实测隔离正确
|
2026-09-03 12:40:19 +08:00 |
|
xiaoqu
|
70a45cf3b9
|
xiaoqu-agent-service P2 权限层:自有库 7 表 + svc 数据源,/mcp ak 鉴权(401/ThreadLocal),tool 表启动同步 + scope 强制校验,行级数据权限引擎(移植 getByIsAgent),agent.list.query 基础版,audit_log 审计,种子数据与 curl 全流程实测通过
|
2026-09-03 12:01:09 +08:00 |
|
xiaoqu
|
7a9ea1e888
|
新增 xiaoqu-agent-service:P1 骨架(Spring Boot 3.5.16 + Spring AI 1.1.8 MCP Streamable,三数据源连通,codegen 生成 m0/m2 实体,sys.ping/agent.count demo 工具实测调通)
|
2026-09-03 11:18:51 +08:00 |
|