# 任务列表:IoT 模型位置重构 ## 准备工作 - [x] **TASK-001**: 确认 `internal/model/` 目录已存在且可写 - 验证方法:`ls -la internal/model/` - 预期输出:目录存在,包含现有模型文件 - **结果**: ✅ 已确认 - [x] **TASK-002**: 确认 `internal/iot/model/` 目录包含 11 个模型文件 - 验证方法:`ls internal/iot/model/ | wc -l` - 预期输出:11 - **结果**: ✅ 已确认 11 个文件 - [x] **TASK-003**: 搜索项目中所有引用 `internal/iot/model` 的代码 - 验证方法:`rg "internal/iot/model" internal/ --type go` - 预期输出:无结果(当前已验证) - **结果**: ✅ 无 Go 代码引用 ## 迁移执行 - [x] **TASK-004**: 移动运营商模型文件 - 命令:`git mv internal/iot/model/carrier.go internal/model/` - 验证:`test -f internal/model/carrier.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-005**: 移动佣金模型文件 - 命令:`git mv internal/iot/model/commission.go internal/model/` - 验证:`test -f internal/model/commission.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-006**: 移动流量使用记录模型文件 - 命令:`git mv internal/iot/model/data_usage.go internal/model/` - 验证:`test -f internal/model/data_usage.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-007**: 移动设备模型文件 - 命令:`git mv internal/iot/model/device.go internal/model/` - 验证:`test -f internal/model/device.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-008**: 移动财务记录模型文件 - 命令:`git mv internal/iot/model/financial.go internal/model/` - 验证:`test -f internal/model/financial.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-009**: 移动 IoT 卡模型文件 - 命令:`git mv internal/iot/model/iot_card.go internal/model/` - 验证:`test -f internal/model/iot_card.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-010**: 移动号卡模型文件 - 命令:`git mv internal/iot/model/number_card.go internal/model/` - 验证:`test -f internal/model/number_card.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-011**: 移动订单模型文件 - 命令:`git mv internal/iot/model/order.go internal/model/` - 验证:`test -f internal/model/order.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-012**: 移动套餐模型文件 - 命令:`git mv internal/iot/model/package.go internal/model/` - 验证:`test -f internal/model/package.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-013**: 移动轮询配置模型文件 - 命令:`git mv internal/iot/model/polling.go internal/model/` - 验证:`test -f internal/model/polling.go && echo "成功"` - **结果**: ✅ 已完成 - [x] **TASK-014**: 移动系统配置模型文件 - 命令:`git mv internal/iot/model/system.go internal/model/` - 验证:`test -f internal/model/system.go && echo "成功"` - **结果**: ✅ 已完成 ## 清理工作 - [x] **TASK-015**: 验证 `internal/iot/model/` 目录已空 - 验证方法:`ls internal/iot/model/` - 预期输出:无文件 - **结果**: ✅ 目录为空 - [x] **TASK-016**: 删除空的 `internal/iot/model/` 目录 - 命令:`rmdir internal/iot/model/` - 验证:`test ! -d internal/iot/model/ && echo "目录已删除"` - **结果**: ✅ 目录已删除 - [x] **TASK-017**: 检查 `internal/iot/` 目录是否还包含其他内容 - 验证方法:`ls -la internal/iot/` - 如果为空,考虑删除 `internal/iot/` 目录 - **结果**: ✅ 目录为空,但保留用于未来的 IoT Handler/Service/Store 层 ## 验证工作 - [x] **TASK-018**: 再次搜索项目中所有引用 `internal/iot/model` 的代码 - 验证方法:`rg "internal/iot/model" . --type go` - 预期输出:无结果 - **结果**: ✅ 无 Go 代码引用 - [x] **TASK-019**: 验证所有迁移的模型文件包名正确 - 验证方法:`grep "^package " internal/model/{carrier,commission,data_usage,device,financial,iot_card,number_card,order,package,polling,system}.go` - 预期输出:所有 11 个文件的包名都是 `package model` - **结果**: ✅ 所有文件包名统一为 `package model` - [x] **TASK-020**: 运行 Go 代码格式检查 - 命令:`go fmt ./...` - 预期输出:无需格式化(或格式化成功) - **结果**: ✅ 格式检查通过 - [x] **TASK-021**: 运行 Go 代码静态分析 - 命令:`go vet ./...` - 预期输出:无错误 - **结果**: ✅ 静态分析通过 - [x] **TASK-022**: 编译项目 - 命令:`go build -o /tmp/junhong_cmp_fiber ./cmd/api` - 预期输出:编译成功,无错误 - **结果**: ✅ 编译成功 - [x] **TASK-023**: 运行项目测试(如果存在) - 命令:`go test ./... -v` - 预期输出:所有测试通过(或无测试) - **结果**: ✅ 跳过(项目暂无测试) ## 文档更新 - [x] **TASK-024**: 检查是否需要更新项目文档 - 验证方法:`rg "internal/iot/model" docs/ README.md CLAUDE.md 2>/dev/null` - 预期输出:无结果(或更新找到的文档) - **结果**: ✅ 已更新 `docs/iot-sim-management/表结构详细说明.md` 中的 25 处引用 - [x] **TASK-025**: 更新本次重构的总结文档 - 创建 `docs/refactor-iot-model-location/` 目录 - 编写重构总结(包含动机、影响、验证结果) - **结果**: ✅ 已完成,文档位于 `docs/refactor-iot-model-location/重构总结.md` ## 依赖关系 **并行任务:** - TASK-004 到 TASK-014 可以并行执行(移动文件操作互不依赖) **串行依赖:** - TASK-001, TASK-002, TASK-003 必须在迁移前完成(准备工作) - TASK-004 到 TASK-014 必须在 TASK-015 之前完成(移动完成后才能验证) - TASK-015 必须在 TASK-016 之前完成(验证空目录后才能删除) - TASK-018 到 TASK-023 必须在 TASK-016 之后完成(清理完成后才能验证) ## 预计时间 - 准备工作:5 分钟 - 迁移执行:5 分钟(自动化脚本) - 清理工作:2 分钟 - 验证工作:5 分钟 - 文档更新:10 分钟 **总计:约 30 分钟**