阶段一:基础设施与用户体系 — 详细任务清单
工期:3-4周(15-20天)
目标:管理员能录入数据,用户能登录并看到有价值的信息
功能点:20个
流程:M1(需求) → M2(架构) → M3(编码) → M4(测试)
里程碑总览
Week 1-2 Week 2-3 Week 3-4
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ M1 需求分析 │ │ M3 编码实现 │ │ M3 编码(续)+自检 │
│ M2 架构设计 │ │ (核心模块) │ │ M4 测试验收 │
│ (可并行) │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
5-7天 7-8天 5-7天
M1 Team A — 需求分析(3-4天)
交付产物
| 序号 |
文件路径 |
说明 |
| 1 |
deliveries/team-a-requirement/spec.md |
阶段一需求规格 |
| 2 |
deliveries/team-a-requirement/use-cases.md |
用例文档 |
| 3 |
deliveries/team-a-requirement/constraints.md |
约束条件 |
| 4 |
deliveries/team-a-requirement/DELIVERY-MANIFEST.md |
交付清单 |
任务分解
| 任务 |
内容 |
耗时 |
| M1.1 |
基于 requirements-specification.md 提取阶段一的20个功能点详细需求 |
1天 |
| M1.2 |
编写用例文档(每个功能点至少1个主用例+异常用例) |
1天 |
| M1.3 |
编写约束条件(技术约束、安全约束、适老化约束) |
0.5天 |
| M1.4 |
编写 DELIVERY-MANIFEST.md(含给下游关键信息) |
0.5天 |
M1 用例覆盖清单
| 功能模块 |
用例数 |
核心用例 |
| 数据库建表 |
2 |
全量建表成功、索引创建验证 |
| 角色管理 |
3 |
创建角色、绑定权限、角色列表 |
| 账号管理 |
4 |
创建账号、分配角色、启用/禁用、列表查询 |
| 字典管理 |
4 |
品种/工种/农资/行政区划 CRUD |
| 操作日志 |
2 |
日志记录、日志查询 |
| Excel 模板下载 |
1 |
下载4类模板 |
| Excel 上传+预览 |
4 |
上传、预览有效行、预览错误行、预览重复行 |
| 数据校验+去重 |
3 |
手机号校验、去重检测、跳过/覆盖选择 |
| 确认入库 |
3 |
同步入库(≤100行)、异步入库(>100行)、完成通知 |
| 审核框架 |
3 |
审核列表、通过操作、驳回+原因 |
| 导入数据审核 |
2 |
待审数据展示、审核后生效 |
| 行情配置 |
3 |
设置价格区间、设置趋势、行情列表 |
| 微信登录 |
3 |
登录成功、拒绝授权兜底、Token 签发 |
| 身份路由 |
3 |
0个身份提示、1个直接进入、N个选择页 |
| 身份选择页 |
2 |
大卡片展示、点击进入 |
| 今日行情 |
2 |
涨价展示、降价展示 |
| 金刚区 |
2 |
4入口展示、灰态入口 |
| 手机号加密 |
2 |
加密存储验证、phone_hash 查询 |
| 权限框架 |
3 |
小程序拦截器、后台拦截器、越权拦截 |
| 接口脱敏 |
2 |
手机号脱敏、姓名脱敏 |
M1 验收标准
M2 Team B — 架构设计(3-4天)
交付产物
| 序号 |
文件路径 |
说明 |
| 1 |
deliveries/team-b-architecture/design.md |
架构设计文档 |
| 2 |
deliveries/team-b-architecture/api-definition.md |
接口定义 |
| 3 |
deliveries/team-b-architecture/tech-stack.md |
技术选型说明 |
| 4 |
deliveries/team-b-architecture/DELIVERY-MANIFEST.md |
交付清单 |
任务分解
| 任务 |
内容 |
耗时 |
| M2.1 |
模块架构设计(分层架构:Controller→Service→Mapper) |
0.5天 |
| M2.2 |
数据库详细设计(字段类型、索引、注释) |
0.5天 |
| M2.3 |
接口定义(RESTful API,请求/响应格式) |
1天 |
| M2.4 |
安全架构设计(加密方案、拦截器链、脱敏策略) |
0.5天 |
| M2.5 |
技术选型说明 |
0.5天 |
| M2.6 |
DELIVERY-MANIFEST.md |
0.5天 |
M2 接口清单(阶段一)
认证模块
| 接口 |
方法 |
模块 |
说明 |
| /api/wx/auth/login |
POST |
gateway-mobile |
微信登录 |
| /api/wx/auth/identity-list |
GET |
gateway-mobile |
获取身份列表 |
| /api/admin/auth/login |
POST |
gateway-management |
后台登录 |
系统管理模块
| 接口 |
方法 |
模块 |
说明 |
| /api/admin/roles |
GET/POST |
service-system |
角色列表/创建 |
| /api/admin/roles/{id} |
PUT/DELETE |
service-system |
角色编辑/删除 |
| /api/admin/users |
GET/POST |
service-system |
账号列表/创建 |
| /api/admin/users/{id} |
PUT |
service-system |
账号编辑 |
| /api/admin/dicts |
GET/POST |
service-system |
字典列表/创建 |
| /api/admin/dicts/{id} |
PUT/DELETE |
service-system |
字典编辑/删除 |
| /api/admin/logs |
GET |
service-system |
操作日志查询 |
数据导入模块
| 接口 |
方法 |
模块 |
说明 |
| /api/admin/import/template/{type} |
GET |
service-system |
下载模板 |
| /api/admin/import/upload |
POST |
service-system |
上传 Excel |
| /api/admin/import/preview |
POST |
service-system |
预览导入数据 |
| /api/admin/import/confirm |
POST |
service-system |
确认入库 |
审核模块
| 接口 |
方法 |
模块 |
说明 |
| /api/admin/audit/list |
GET |
service-audit |
审核列表 |
| /api/admin/audit/{id} |
PUT |
service-audit |
审核操作(通过/驳回) |
行情模块
| 接口 |
方法 |
模块 |
说明 |
| /api/admin/market-price |
GET/POST |
service-trade |
行情列表/配置 |
| /api/admin/market-price/{id} |
PUT/DELETE |
service-trade |
行情编辑/删除 |
| /api/wx/market-price |
GET |
gateway-mobile |
今日行情(小程序端) |
小程序首页
| 接口 |
方法 |
模块 |
说明 |
| /api/wx/home/market-price |
GET |
gateway-mobile |
首页行情数据 |
| /api/wx/home/entries |
GET |
gateway-mobile |
金刚区入口配置 |
M2 验收标准
M3 Team C — 编码实现(10-12天)
模块拆分与并行策略
并行组1(基础层,无依赖):
├── C-Common: service-common 共享库
├── C-DB: 全量建表 SQL + MyBatis XML
└── C-Security: 加密/脱敏/拦截器基础框架
并行组2(业务层,依赖并行组1):
├── C-System: 系统管理(角色/账号/字典/日志)
├── C-Import: 数据导入(上传/预览/校验/入库)
└── C-Audit: 审核框架
并行组3(展示层,依赖并行组2):
├── C-Trade: 行情管理
├── C-Auth: 微信登录+身份路由
└── C-Home: 小程序首页
串行(集成层):
└── C-Gateway: 网关配置+拦截器注册
任务详细分解
C-Common: service-common 共享库(1天)
| 任务 |
文件 |
说明 |
| C-Common.1 |
ApiResult.java |
统一响应体 |
| C-Common.2 |
PageResult.java |
分页响应体 |
| C-Common.3 |
BaseEntity.java |
基础实体(id, created_at, updated_at) |
| C-Common.4 |
BizException.java |
业务异常类 |
| C-Common.5 |
ErrorCode.java |
错误码枚举 |
| C-Common.6 |
PageUtil.java |
分页工具 |
| C-Common.7 |
AesUtil.java |
AES 加密工具 |
| C-Common.8 |
PhoneUtil.java |
手机号脱敏工具 |
| C-Common.9 |
JwtUtil.java |
JWT 工具 |
C-DB: 数据库(1天)
| 任务 |
文件 |
说明 |
| C-DB.1 |
schema.sql |
全量建表 SQL(15张表+索引) |
| C-DB.2 |
data.sql |
初始数据(字典+管理员) |
| C-DB.3 |
SysUserMapper.xml |
用户表 MyBatis 映射 |
| C-DB.4 |
UserIdentityMapper.xml |
身份表映射 |
| C-DB.5 |
MarketPriceMapper.xml |
行情表映射 |
| C-DB.6 |
AuditLogMapper.xml |
审核日志映射 |
| C-DB.7 |
OperationLogMapper.xml |
操作日志映射 |
| C-DB.8 |
其他 Mapper.xml |
剩余表的映射(空表预建) |
C-Security: 安全基础设施(2天)
| 任务 |
文件 |
模块 |
说明 |
| C-Sec.1 |
WxAuthInterceptor.java |
gateway-mobile |
微信 JWT 拦截器 |
| C-Sec.2 |
AdminAuthInterceptor.java |
gateway-management |
后台 JWT 拦截器 |
| C-Sec.3 |
PermissionInterceptor.java |
gateway-* |
RBAC 权限拦截器 |
| C-Sec.4 |
DataMaskingInterceptor.java |
gateway-* |
数据脱敏拦截器 |
| C-Sec.5 |
WebMvcConfig.java |
gateway-* |
拦截器注册配置 |
| C-Sec.6 |
SecurityConfig.java |
service-common |
安全配置常量 |
C-System: 系统管理(2天)
| 任务 |
文件 |
说明 |
| C-Sys.1 |
SysRoleController.java |
角色管理 API |
| C-Sys.2 |
SysRoleService.java |
角色业务逻辑 |
| C-Sys.3 |
SysUserController.java |
账号管理 API |
| C-Sys.4 |
SysUserService.java |
账号业务逻辑 |
| C-Sys.5 |
DictController.java |
字典管理 API |
| C-Sys.6 |
DictService.java |
字典业务逻辑 |
| C-Sys.7 |
OperationLogService.java |
操作日志记录 |
| C-Sys.8 |
OperationLogAspect.java |
日志切面(AOP) |
C-Import: 数据导入(2天)
| 任务 |
文件 |
说明 |
| C-Imp.1 |
ImportController.java |
导入 API(上传/预览/确认) |
| C-Imp.2 |
ExcelParseService.java |
Excel 解析(Apache POI) |
| C-Imp.3 |
ImportValidateService.java |
数据校验(手机号/必填项) |
| C-Imp.4 |
ImportDedupService.java |
去重逻辑(手机号+身份) |
| C-Imp.5 |
ImportExecuteService.java |
入库执行(同步/异步) |
| C-Imp.6 |
ImportTemplateService.java |
模板下载 |
| C-Imp.7 |
FieldMappingConfig.java |
字段映射配置(硬编码4种模板) |
C-Audit: 审核框架(1天)
| 任务 |
文件 |
说明 |
| C-Aud.1 |
AuditController.java |
审核 API(列表/通过/驳回) |
| C-Aud.2 |
AuditService.java |
审核业务逻辑 |
| C-Aud.3 |
AuditLogService.java |
审核日志记录 |
| C-Aud.4 |
SlaReminderTask.java |
SLA 提醒定时任务(24h/48h) |
C-Trade: 行情管理(0.5天)
| 任务 |
文件 |
说明 |
| C-Trade.1 |
MarketPriceController.java |
行情 CRUD API(后台) |
| C-Trade.2 |
MarketPriceService.java |
行情业务逻辑 |
| C-Trade.3 |
WxMarketPriceController.java |
行情查询 API(小程序端) |
C-Auth: 微信登录(1.5天)
| 任务 |
文件 |
说明 |
| C-Auth.1 |
WxAuthController.java |
登录 API(code→JWT) |
| C-Auth.2 |
WxAuthService.java |
登录业务逻辑 |
| C-Auth.3 |
IdentityService.java |
身份查询+路由逻辑 |
| C-Auth.4 |
WxApiService.java |
微信 API 调用(code2session) |
C-Home: 小程序首页(0.5天)
| 任务 |
文件 |
说明 |
| C-Home.1 |
HomeController.java |
首页 API(行情+金刚区) |
| C-Home.2 |
HomeService.java |
首页数据聚合 |
C-Gateway: 网关配置(0.5天)
| 任务 |
文件 |
说明 |
| C-Gw.1 |
GatewayMobileConfig.java |
移动端网关路由配置 |
| C-Gw.2 |
GatewayManagementConfig.java |
管理端网关路由配置 |
| C-Gw.3 |
application.properties |
完整配置(DB/Redis/OSS/短信/JWT) |
编译自检(Team C 执行)
# 依赖链编译
cd com.fenzhitech.crrc.service-common && ./gradlew compileJava
cd com.fenzhitech.crrc.service-system && ./gradlew compileJava
cd com.fenzhitech.crrc.service-audit && ./gradlew compileJava
cd com.fenzhitech.crrc.service-trade && ./gradlew compileJava
cd com.fenzhitech.crrc.gateway-mobile && ./gradlew compileJava
cd com.fenzhitech.crrc.gateway-management && ./gradlew compileJava
M3 验收标准
M4 Team D — 测试验收(5-7天)
交付产物
| 序号 |
文件路径 |
说明 |
| 1 |
deliveries/team-d-testing/test-cases.md |
测试用例 |
| 2 |
deliveries/team-d-testing/test-report.md |
测试报告 |
| 3 |
deliveries/team-d-testing/bug-list.md |
Bug 清单 |
| 4 |
deliveries/team-d-testing/DELIVERY-MANIFEST.md |
交付清单 |
| 5 |
{module}/src/test/java/ |
自动化测试代码 |
测试重点(业务领导指定)
核心接口(必须测试)
- /api/admin/auth/login — 后台登录
- /api/wx/auth/login — 微信登录
- /api/admin/import/upload — Excel 上传
- /api/admin/import/preview — 导入预览
- /api/admin/import/confirm — 确认入库
- /api/admin/audit/{id} — 审核操作
- /api/wx/market-price — 今日行情
重点场景
| 场景 |
说明 |
| 登录成功/失败 |
微信登录正常流程、拒绝授权兜底 |
| 身份路由 |
0/1/N个身份的路由逻辑 |
| Excel 导入 |
空行/格式错误/重复/超大文件 |
| 预览准确性 |
有效行/错误行/重复行计数正确 |
| 审核操作 |
通过/驳回、SLA 提醒触发 |
| 权限隔离 |
不同角色访问隔离、越权拦截 |
| 手机号安全 |
加密存储验证、接口脱敏验证 |
任务分解
| 任务 |
内容 |
耗时 |
| M4.1 |
编写测试用例(≥45个,覆盖所有用例) |
1.5天 |
| M4.2 |
编写自动化测试代码(JUnit 4 + Spring Boot Test) |
2天 |
| M4.3 |
执行手动验证(核心接口冒烟) |
0.5天 |
| M4.4 |
运行 ./gradlew test 确认全部通过 |
0.5天 |
| M4.5 |
编写 test-report.md 和 bug-list.md |
0.5天 |
| M4.6 |
Bug 修复(如有) |
1-2天 |
M4 验收标准
阶段一风险与缓解
| 风险 |
影响 |
概率 |
缓解措施 |
| 20个功能点工期不足 |
延期1-2周 |
高 |
优先完成登录+导入+行情,审核框架可延到阶段2a初 |
| Excel 导入格式多样性 |
字段映射不全 |
中 |
MVP 硬编码覆盖4种标准模板 |
| 微信手机号授权拒绝 |
用户无法注册 |
中 |
后台手动绑定兜底 |
| Spring Boot 1.5.9 兼容性 |
SDK 版本冲突 |
低 |
阶段零已验证 |
| 安全框架与业务逻辑耦合 |
代码复杂度高 |
中 |
拦截器独立模块,AOP 切面解耦 |