Files
starRiverProperty/docs/architecture/V1-V2-电梯API源码比对白名单.md
T
反编译工作区 e8672a3c7b fix: relocate cwos-portal decompiled output to correct path; remove nested directory
Former-commit-id: dc30d42a8c55ed8b2382a41dc2434233fbed9930
2026-04-29 12:09:48 +08:00

3.3 KiB
Raw Blame History

V1 / V2 电梯应用 API 调用链源码比对白名单

本文约定:每次发布或横向对拍异常排查时,优先仅对下列文件做 V1 与 V2 的语义级 diff,避免整仓反编译树与 Maven 源码的「格式噪声」干扰判断。

用途

  • 核对「HTTP 入口 → Service → Feign/DAO」是否与历史 V1 行为一致。
  • maven-cw-elevator-application/tools/elevator_api_parity/ 对拍清单互补:白名单覆盖曾出现 code_only 不一致 的典型链路。

比对基线(仓库内路径)

根路径
V2Maven 源码) maven-cw-elevator-application/cw-elevator-application-web/src/main/java/cn/cloudwalk/elevator/web
maven-cw-elevator-application/cw-elevator-application-service/src/main/java/cn/cloudwalk/elevator/service
V1(反编译树,与 1.0-SNAPSHOT 模块 JAR 对齐) artifacts/decompiled/trees/cw-elevator-application-web-1.0-SNAPSHOT.jar.src/cn/cloudwalk/elevator/web
artifacts/decompiled/trees/cw-elevator-application-service-1.0-SNAPSHOT.jar.src/cn/cloudwalk/elevator/service

若线网 V1 为 另一 fat-jar,应先确认其反编译树或 CFR 输出与上表 V1 根是否同源,再执行比对。

白名单(相对上述「根」的类路径)

优先级 相对路径 说明
P0 person/controller/AcsPersonController.java person/addperson/editperson/pageByApptimeDetail
P0 record/controller/AcsElevatorRecordController.java record/page、`analyse/cycle
P0 passrule/controller/AcsPassRuleController.java passRule/add 等规则入口
P0 person/impl/PersonRuleServiceImpl.java person/add 业务链、76260527 空设备等
P0 person/impl/AcsPersonServiceImpl.java editpageByApptimeDetail、图库/设备 Feign 组装
P0 record/impl/AcsElevatorRecordServiceImpl.java openRecordanalyseCycleanalyseCountpageInfo
P1 passrule/impl/AcsPassRuleServiceImpl.java 规则新增/编辑主流程
P1 passrule/impl/ImageRuleRefServiceImpl.java addOnlyRule 等与 76260527 相关分支
P1 common/AbstractCloudwalkController.java getCloudwalkContext() 等与请求头/会话相关

按需扩展时,应先在 api_catalog.json 或走查清单中标注接口 id,再增补对应 Controller/Service避免无界扫 diff

建议命令(忽略空白,便于看语义)

在仓库根目录执行,示例(web 单文件):

diff -uw \
  artifacts/decompiled/trees/cw-elevator-application-web-1.0-SNAPSHOT.jar.src/cn/cloudwalk/elevator/person/controller/AcsPersonController.java \
  maven-cw-elevator-application/cw-elevator-application-web/src/main/java/cn/cloudwalk/elevator/person/controller/AcsPersonController.java

service 模块将两条根路径中的 ...-web-... / cw-elevator-application-web 换成 ...-service-... / cw-elevator-application-service 即可。

相关文档

  • V1/V2 依赖比对(lib/cw_lib 与反应堆坐标):V1-V2-电梯依赖比对.md
  • 对拍约定与清单说明:../../maven-cw-elevator-application/tools/elevator_api_parity/API-RECONCILIATION.md
  • 走查任务总览:对外接口不变-走查任务与状态.md