拆分范围(14 个文件):migrate / users / operation_logs / energy_stats / charge_records / batteries / device_logs / auth / captcha / main / routes::mod / h5 / cabinet_tree / report_worker 手法:长 SQL 抽模块级 const、拼装与映射与校验抽私有 fn、路由按业务域拆 Router 再 merge、 Excel 导出按"取数/表头/逐行/收尾"分阶段、连续代码块原样搬移+传参。 行为不变的证据: - 路由 79 → 79 条逐条比对一致(路径+handler+方法链;中间件/CORS/with_state 作用域保持) - 字符串字面量多重集比对:11 个文件唯一集合完全一致;report_worker 零差异(435 条字面量全等) - 关键契约计数不变:CAST 14→14、AS SIGNED 4→4、COALESCE 6→6;SQL 文本与 Redis key 零增删 - 未新增 #[allow] / unwrap / expect / panic;captcha 的 RNG 消耗顺序保持(验证码分布不变) 验收:cargo check 0 error / 0 warning;cargo test --bins 39 passed / 0 failed;全仓已无 >80 行函数。 端到端回归:先部署测试环境跑 TCP 协议联调 13/13,且数据库终态与重构前逐字段一致 (orders.energy=22、start_soc=850、end_soc=1000、records.energy=22.00、max_temp=29800、占用状态正确复位)。
264 KiB
264 KiB