旧目录 sjwh 并不是一个单体项目,而是多套技术栈共同完成业务:
fastplus:Vue 2 管理后台,承载代理、价格和运营管理。wanjiadai_api:ThinkPHP 6 多应用 API,包含公众号、视频号、统计和任务执行逻辑。ys_share:uni-app 用户端,承载任务、积分、排行、抽奖和提现。- 静态 H5 与辅助 Node 进程:处理部分页面和队列消费。
迁移目标不是复制目录,而是把业务事实放到新的边界中。
能力映射
| 旧能力 | 新结构 |
|---|---|
| 无限级代理 | 推广机构树与路径闭包表 |
| 根价格与代理加价 | 服务目录、机构价格和订单快照 |
| 多套后台账号 | 机构管理员、角色和五类数据范围 |
| 代理余额记录 | 钱包、冻结余额及不可变流水 |
| 分散的服务下单 | 统一订单、执行器、事件和补量流程 |
| 用户接任务 | 统一账号下的移动任务中心 |
| 积分、抽奖和提现 | 独立积分账本、活动记录及审核流程 |
| Cookie 与机器人配置 | 总部资源池、加密存储和调用日志 |
为什么不直接搬历史数据
旧系统中的用户、订单、余额和积分可能使用不同口径。直接导入新账本会让余额难以核对,也可能把过期凭据带入新环境。因此当前架构先建立新的表结构和业务闭环;确实需要保留的数据,应通过独立、可重复执行且带校验报告的迁移脚本导入。
迁移顺序
- 先迁移组织、角色和服务目录等静态主数据。
- 再验证定价、下单、冻结、执行、退款和结算闭环。
- 接入真实执行资源,并完成失败、超时、重试和幂等测试。
- 最后按业务需要迁移可核对的历史数据。
这种顺序把“代码已经具备能力”和“线上数据可以安全切换”分开,便于逐步验证,也给回滚保留空间。