Files
teapot_system/铜壶管理系统开发任务计划书.md

12 KiB
Raw Permalink Blame History

铜壶管理系统开发任务计划书

1. 计划目标

本计划书用于指导铜壶管理系统从文档阶段进入实施阶段,目标是在前后端分离架构下,完成多用户登录、权限控制、商品目录、商品详情、订单管理、标签导出、统计分析等核心模块开发,并满足“图片存数据库”的明确要求。

本计划默认采用以下实施前提:

  1. 前端与后端独立开发、独立部署。
  2. 商品图片与标签模板通过统一附件能力管理,其中图片必须保存到 SQLite 数据库。
  3. 本计划不包含 Git 分支管理流程,交付以源码包、数据库脚本、部署文档为准。
  4. 系统仅设置两类用户:管理员与普通用户;管理员拥有全量权限,普通用户权限由管理员创建和分配。

2. 交付范围

本次交付建议至少包含以下内容:

  • 前端管理端项目一套
  • 后端 API 服务项目一套
  • SQLite 建表与初始化脚本一套
  • 登录认证与用户权限管理能力
  • 附件上传、读取、下载与标签导出能力
  • 部署说明、初始化说明、验收清单

不在本次优先范围内的内容:

  • 小程序或移动 App
  • 多租户能力
  • 复杂组织架构、部门审批、数据域级权限中心
  • 自动化 CI/CD 流程

3. 推荐项目结构

建议后续源码按以下目录拆分:

teapot_system/
  docs/
  frontend/
  backend/
  sql/
  deploy/

说明:

  • frontend:前端管理端源码
  • backend:后端 API 服务源码
  • sql:建表脚本、初始化数据、升级脚本
  • deploy:部署说明、环境变量模板、打包说明

4. 工期与人员建议

建议投入方式如下:

  • 标准配置1 名前端 + 1 名后端 + 1 名兼职测试/业务验收
  • 并行开发周期:约 5 至 7 周
  • 单人开发周期:约 8 至 10 周

如需更快交付,可优先上线“登录权限 + 商品管理 + 订单管理 + 标签下载”主链路,统计功能作为第二阶段补充。


5. 阶段计划

阶段 预计工期 主要目标 前端任务 后端任务 产出物 验收重点
阶段 1需求冻结与原型细化 2 天 固化业务规则和页面流转 确认页面清单、字段清单、路由结构 确认接口域、状态流转、数据实体 最终设计文档、页面草图、字段清单 需求边界明确,无冲突点
阶段 2架构与数据库设计 2-3 天 明确前后端边界与 SQLite 表结构 规划页面布局、接口调用层、状态管理结构、权限展示规则 设计数据库、接口规范、统一返回结构 ER 图、接口清单、SQLite 脚本初版 表结构可覆盖用户、商品、订单、图片入库需求
阶段 3基础工程搭建 2 天 搭好可运行项目骨架 初始化 Vue 项目、路由、Pinia、请求封装、基础布局 初始化 Spring Boot 项目、SQLite 连接、统一异常处理、参数校验、接口骨架 前后端可运行空壳工程 前后端基础访问联通
阶段 4登录与权限 3-4 天 完成登录、鉴权和用户管理基础能力 开发登录页、登录态保持、路由守卫、权限菜单、用户管理页 完成登录认证、密码加密、接口鉴权、用户 CRUD、权限分配接口 登录页、用户管理页、认证接口 管理员和普通用户权限差异生效
阶段 5类目与商品列表 4-5 天 完成目录树与款式墙主流程 开发左侧目录树、商品卡片墙、筛选条件、快捷加购入口 完成类目 CRUD、商品列表、商品 CRUD 接口 目录页和商品列表页 目录切换、卡片加载、商品新增编辑正常
阶段 6商品详情与图片入库 4-5 天 完成商品详情编辑与附件入库 开发商品详情页、图片上传组件、标签文件上传组件、多图排序、只读态展示 完成附件上传入库、缩略图生成、原图下载、标签文件管理接口 商品详情页、附件表、附件接口 图片刷新后可读取,且确实保存在数据库
阶段 7订单与标签导出 5-6 天 完成订单创建、编辑、完成、标签下载 开发订单列表页、订单详情页、数量编辑、完成按钮、快递单号录入、权限按钮控制 完成订单 CRUD、库存校验、完成流转、标签按量导出 订单模块主流程 未完成订单可编辑,已完成订单默认只读且管理员可删除,标签下载正确
阶段 8统计分析 2-3 天 完成月度与年度统计 开发统计筛选页、表格与汇总展示 开发月度/年度统计聚合接口 统计页面 数量、单价、小计、总价计算准确
阶段 9联调、测试与部署 3-4 天 修复问题并形成交付物 接口联调、页面细节修正、异常提示完善 性能优化、SQL 校验、导出测试、部署脚本整理 部署说明、验收清单、发布包 主流程稳定可用,可完成验收

建议预留 2 天缓冲时间,用于处理标签排版细节、数据修正或现场反馈调整。


6. 模块级任务拆解

6.1 前端任务清单

  1. 搭建基础框架:路由、状态管理、请求封装、全局异常提示。
  2. 开发登录页、退出登录、登录态保持和路由守卫。
  3. 开发主布局:左侧树、顶部订单入口、当前用户信息、右侧内容区。
  4. 开发菜单级、页面级、按钮级权限控制,根据当前用户动态显示入口与操作按钮。
  5. 开发管理员用户管理页:用户新增、编辑、启停、密码重置、权限分配。
  6. 开发类目树组件:树节点增删改、展开收起、点击跳转。
  7. 开发商品卡片墙:卡片展示、状态标签、筛选、分页、快捷加购。
  8. 开发商品详情页:基础表单、多图上传、主图设置、原图下载、标签文件上传、只读展示。
  9. 开发订单列表页:全部/未完成/已完成切换、搜索筛选、删除操作、权限差异展示。
  10. 开发订单详情页:订单明细、数量编辑、金额汇总、快递单号录入、标签下载。
  11. 开发统计页面:月度统计、年度统计、筛选条件、汇总展示。
  12. 完成接口联调、错误提示、空状态和加载状态处理。

6.2 后端任务清单

  1. 初始化项目骨架:统一返回结构、异常处理、日志、参数校验。
  2. 实现登录认证:用户名密码校验、密码哈希存储、登录令牌签发与退出。
  3. 实现接口鉴权:基于管理员全量权限和普通用户权限编码控制 API 访问。
  4. 实现用户管理:管理员新增普通用户、编辑用户、重置密码、启停账号、分配权限。
  5. 设计并实现类目管理接口与商品管理接口。
  6. 实现附件上传能力:接收图片、校验格式、生成缩略图、写入数据库。
  7. 实现附件读取能力:缩略图预览、原图下载、标签模板下载。
  8. 实现订单模块:创建订单、编辑订单、删除订单、订单完成。
  9. 实现库存校验逻辑:下单不得超过库存,订单完成逻辑可选扣减库存或锁定库存。
  10. 实现标签导出逻辑:根据订单明细和数量生成 PDF 或 ZIP。
  11. 实现统计接口:月度与年度维度聚合统计。
  12. 输出部署配置、SQLite 初始化脚本、测试数据脚本。

6.3 数据库任务清单

  1. 设计用户、用户权限、类目、商品、附件、订单、订单明细、订单日志表。
  2. 明确 SQLite 中图片 BLOB 字段、缩略图字段和索引策略。
  3. 建立用户类型、账号状态、订单状态、商品状态、附件类型、权限编码等枚举规范。
  4. 输出建表脚本与初始化脚本,并配置 WAL 模式与基础 pragma 策略。
  5. 输出 SQLite 数据库文件备份策略,确保图片入库后可完整恢复。

6.4 测试任务清单

  1. 测试登录、退出登录、未登录拦截、停用账号拦截。
  2. 测试管理员创建普通用户、重置密码、分配权限是否生效。
  3. 测试普通用户菜单显示、页面访问和接口访问是否与权限一致。
  4. 测试目录新增、编辑、删除和跳转。
  5. 测试商品新增、编辑、状态变更、库存修改。
  6. 测试图片上传、刷新读取、原图下载、多图排序。
  7. 测试标签模板上传与订单标签导出。
  8. 测试订单创建、编辑、删除、完成、快递单号校验。
  9. 测试月度与年度统计是否与订单明细一致。
  10. 测试大图片上传、异常文件上传、库存不足下单、越权访问等边界场景。

7. 关键里程碑定义

  1. M1基础架构完成 前后端空壳工程可运行,数据库脚本初版完成。
  2. M2登录与权限完成 管理员和普通用户可登录,权限菜单、接口鉴权和用户管理能力可用。
  3. M3商品管理主流程完成 可完成目录管理、商品列表和商品详情编辑。
  4. M4图片入库完成 图片上传后写入数据库,前端可正常显示缩略图并下载原图。
  5. M5订单链路完成 可创建订单、编辑未完成订单、填写快递单号后完成订单。
  6. M6标签下载完成 可根据订单数量导出对应标签文件。
  7. M7统计与验收完成 月度/年度统计上线,系统进入验收阶段。

8. 验收清单

  1. 系统支持用户名密码登录、退出登录,未登录状态不能进入业务页面。
  2. 管理员拥有全部查看和编辑权限,可进入用户管理页面。
  3. 管理员可创建普通用户、重置密码、启停账号并分配权限。
  4. 商品查看权限用户只能浏览商品列表与详情,不可编辑商品和上传附件。
  5. 打包工权限用户可查看订单、填写快递单号并完成订单,但不可编辑商品和用户。
  6. 左侧目录可维护,点击型号和产品节点的跳转行为正确。
  7. 商品列表页能显示缩略图、状态、库存、价格,并支持快捷加购。
  8. 商品详情页可以维护 SKU、价格、库存状态、库存数量。
  9. 商品详情页支持上传多张图片,上传后图片保存于数据库而不是磁盘路径。
  10. 订单列表可区分全部、未完成、已完成。
  11. 未完成订单可以修改数量、删除商品、删除整单。
  12. 填写快递单号后订单可完成,完成后普通用户不可编辑;管理员可删除已完成订单。
  13. 订单详情页可下载对应数量的标签文件。
  14. 统计页面可按月、按年查看款式数量、单价、小计和总价。
  15. 数据库备份后可恢复图片与业务数据。

9. 风险与应对措施

  1. 图片入库导致数据库体积增长过快 方案:附件表与业务表分离,列表接口不查 BLOB建立定期备份与归档策略。
  2. 标签导出排版复杂,容易反复调整 方案:优先确认固定标签模板,再进入导出开发阶段。
  3. SQLite 写并发能力有限 方案:采用单实例部署,启用 WAL 模式,订单创建与修改时增加事务校验并缩短写事务时间。
  4. 仅做前端隐藏导致权限越权 方案:前后端双重校验权限,所有核心接口都做服务端鉴权。
  5. 无 Git 流程时版本留痕不足 方案:按里程碑输出压缩包、数据库脚本编号和变更说明文档。

10. 交付与备份建议

由于本项目不采用 Git 流程,建议至少执行以下管理方式:

  1. 每个里程碑打一个源码压缩包,例如 teapot_system_m3_20260411.zip
  2. 数据库脚本按版本号编号,例如 V001__init.sqlV002__order_module.sql
  3. 每次发布前保留 SQLite 数据库文件全量备份,并同时关注 WAL 或日志文件。
  4. 发布包中同时包含部署说明、环境变量说明和初始化 SQL。

11. 实施顺序建议

如需尽快上线,建议按以下优先级实施:

  1. 登录与权限
  2. 左侧目录 + 商品卡片墙
  3. 商品详情页 + 图片入库
  4. 订单创建/编辑/完成
  5. 标签按量下载
  6. 统计分析

这样可以先打通登录权限、商品与订单主链路,再补统计和优化项。