史诗007 - Allin System有实体模块移植到独立包
史诗目标
将allin_system-master/server/src目录下有对应数据库实体的模块移植到packages目录下,作为非多租户独立包,遵循项目现有的独立包结构和命名规范,实现模块的现代化重构和标准化管理。
史诗描述
现有系统上下文
当前相关功能:allin_system-master是一个基于NestJS的后端系统,根据allin_2025-11-25.sql分析,有以下有实体的模块:
- channel_info模块 - 对应channel_info表
- company模块 - 对应employer_company表
- dict_management模块 - 对应sys_dict表
- disability_person模块 - 对应disabled_person、disabled_bank_card、disabled_photo、disabled_remark、disabled_visit表
- order模块 - 对应employment_order、order_person、order_person_asset表
- platform模块 - 对应employer_platform表
- salary模块 - 对应salary_level表
无实体模块(本次不移植):admin、auth、users模块
技术栈:TypeScript、NestJS、PostgreSQL、Redis、MinIO
集成点:模块间通过NestJS模块系统集成,共享数据库连接和配置
增强详情
- 新增/变更内容:将7个有实体的现有模块从allin_system-master/server/src移植到packages目录下的独立包
- 集成方式:每个模块将重构为独立的npm包,遵循@d8d命名规范,通过workspace依赖管理
- 成功标准:
- 7个有实体模块成功移植为独立包
- 保持原有功能完整性
- 遵循现有独立包结构模式
- 通过类型检查和基本测试验证
故事
故事1:分析模块结构和实体关系
- 分析7个有实体模块的依赖关系
- 制定模块到独立包的映射方案
- 确定命名规范和包结构
- 验证实体与模块的对应关系
故事2:创建基础包模板和工具脚本
- 创建标准的独立包模板
- 开发自动化移植脚本
- 配置workspace依赖管理
- 准备TypeScript配置和构建脚本
故事3:移植核心业务模块(company、platform、salary)
- 移植公司管理模块(对应employer_company表)
- 移植平台管理模块(对应employer_platform表)
- 移植薪资管理模块(对应salary_level表)
- 验证功能完整性和数据一致性
故事4:移植复杂业务模块(order、disability_person)
- 移植订单管理模块(对应employment_order、order_person、order_person_asset表)
- 移植残疾人管理模块(对应5个相关表)
- 验证复杂业务逻辑和关联关系
故事5:移植辅助模块(channel_info、dict_management)
- 移植渠道信息模块(对应channel_info表)
- 移植字典管理模块(对应sys_dict表)
- 完成所有7个模块移植
- 整体功能验证和集成测试
兼容性要求
风险缓解
- 主要风险:模块间依赖关系复杂,移植过程中可能破坏现有功能
- 缓解措施:逐个模块移植,每个模块完成后进行功能验证
- 回滚计划:保留原始allin_system-master目录作为备份,可随时恢复
完成定义
验证清单
范围验证
风险评估
完整性检查
故事经理交接说明
"请为此棕地史诗开发详细的用户故事。关键考虑:
- 这是对运行TypeScript、NestJS、PostgreSQL、Redis、MinIO的现有系统的增强
- 只移植有实体的7个模块:channel_info、company、dict_management、disability_person、order、platform、salary
- 不移植的模块:admin、auth、users(无对应数据库实体)
- 集成点:模块间API调用、数据库访问、配置共享
- 要遵循的现有模式:@d8d包命名、workspace依赖、模块化结构
- 关键兼容性要求:API接口不变、数据库schema兼容、性能影响最小
- 每个故事必须包含验证现有功能保持完整的检查
- 特别注意disability_person和order模块的复杂实体关系
史诗应在保持系统完整性的同时实现将有实体模块移植为标准化独立包的目标。"