1. AGENTS.md 更新 - water-docs: 新增 specs/ 与 docs/design/ 生命周期规则章节 - water-backend: 更新协作引用(建设期/建成后、evidence 模块化) 2. specs/ 重复合并 - 006-reminder-event-design 合并入 003-rev006-reminder-event-design - 001-rev004-accounting 删除冗余 data-model.md + contracts/ - 002-rev005-invoice-flow 删除冗余 data-model.md + contracts/ 3. evidence 按模块归档 - 35 个 REV-004 文件归入 evidence/rev004-accounting/ - 7 个通用 bugfix 文件归入 evidence/bugfix/ 和 bugfix/frontend/ - 新建 rev005-invoice/、rev006-reminder/、rev007-statistics/ 目录 4. guides/ 清理 - 14 个 REV004_*.md 移入 evidence/rev004-accounting/ 5. 遗留文件处理 - docs/research/ 归档到 Archive/06_Migration_Plans/ - backend-check detached worktrees 清理 6. 交叉引用修复 - 006-reminder-event-design → 003-rev006-reminder-event-design - docs/guides/REV004_ → docs/evidence/rev004-accounting/REV004_ 7. DB 设计文档修正(01_Database_Design.md) - biz_invoice 明确为开票配置表,非发票记录表 - 新增 biz_invoice_record 为发票申请/结果主表 - 新增 biz_charge_invoice_rel 账单-发票关联说明 - REV-005 承接口径表名全部修正 8. 发票审计证据 - 新增 evidence/rev005-invoice/2026-06-16-invoice-document-audit.md
2.8 KiB
2.8 KiB
REV004 prestorage BPM 部署后集成检查(2026-04-24)
环境
- 主机:
root@192.168.10.130 - 数据库:
jdbc:postgresql://192.168.10.130:5436/sw_system - 参考配置:
sw-business/sw-business-server/src/main/resources/application-dev.yamlsw-gateway/src/main/resources/application-dev.yaml
检查目标
验证部署后的 REV004 预存调整 BPM 接口是否可通过网关/业务服务完成真实 HTTP 集成测试。
运行态探测
容器状态
sw-gateway: Upsw-module-bpm: Upsw-business-server:Up (health: starting),且RestartCount=7
端口
- 网关:
48080 - 业务服务映射:
48081 -> container 48090
HTTP 实测
1. 网关健康
GET http://127.0.0.1:48080/actuator/health
- 返回:
{"status":"UP"} - 结果:PASS
2. 网关预存接口
GET /admin-api/business/accounting-adjust/prestorage-page
- 未登录:
401 账号未登录 - 使用
Authorization: emsoft1仍返回401 - 结论:网关侧不支持直接使用 business 服务的 mock token 调测
3. 业务服务预存接口
GET http://127.0.0.1:48081/admin-api/business/accounting-adjust/prestorage-page?pageNo=1&pageSize=1
Authorization: emsoft1, tenant-id:0:返回500 系统异常Authorization: emsoft1, tenant-id:1:返回404 请求地址不存在
日志根因
docker logs sw-business-server 明确显示:
- Spring 启动失败点:
Error creating bean with name 'accountingAdjustActionController': Injection of resource dependencies failed - 最终失败原因:
A component required a bean of type 'cn.com.emsoft.sw.module.bpm.api.task.BpmProcessInstanceApi' that could not be found.
结论
当前 不是接口联调数据问题,而是 部署后的 business 服务启动失败 / controller 未成功装配,因此无法继续完成真实接口集成测试。
影响判断
本次预存 BPM 变更不仅修改了 business 模块,也修改了 BPM 相关模块:
sw-module-bpm-api/.../BpmProcessInstanceApi.javasw-module-bpm-api/.../dto/BpmProcessInstanceCancelReqDTO.javasw-module-bpm-server/.../BpmProcessInstanceApiImpl.javasw-module-bpm-server/.../RpcConfiguration.javasw-module-bpm-server/.../BpmPrestorageAdjustStatusListener.java
因此若仅更新 sw-business-server,或 sw-module-bpm 未按同版本一并部署,就会出现当前缺少 BpmProcessInstanceApi Bean 的启动失败。
建议下一步
- 同版本重新部署:
sw-business-serversw-module-bpm
- 部署后先验证:
sw-business-server健康状态变为 healthy / restart count 停止增长- 业务服务日志不再出现
BpmProcessInstanceApi缺失
- 然后再执行预存 BPM 真实 HTTP 集成测试:
- save 即提审
- page/detail/process 查询
- revoke
- BPM 审批回写链路