第2次阶段性评审报告 - xiaochu-dev/online-shopping-group5 GitHub Wiki
第2次阶段性评审报告
基本信息
- 报告期次:第2次
- 报告日期:2026-10-21
- 项目组号:第5组
- 项目名称:在线购物系统(挑战升级)
- 组长:胡成溯
项目总体计划
项目按课程「挑战升级」方式组织,共 7 个迭代、7 次阶段性评审,每个迭代 2 周:
| 迭代 | 周期 | 迭代目标 |
|---|---|---|
| 1 | 2026-09-24 ~ 10-08 | MVP 基线:单商品售卖完整闭环(登录、发布、意向排队、口令码撤销、冻结、结果标记、历史) |
| 2 | 2026-10-09 ~ 10-22 | 技术栈迁移(Python → Java)+多商品、两级分类、搜索、客户体系(挑战需求 A) |
| 3 | 2026-10-23 ~ 11-05 | 商品中心合入与联调、回归及后续迭代范围确认 |
| 4 | 2026-11-06 ~ 11-19 | 订单与支付:支付接口、订单状态机、退款 |
| 5 | 2026-11-20 ~ 12-03 | 营销能力:优惠券、限时折扣 |
| 6 | 2026-12-04 ~ 12-17 | 评价体系与库存管理 |
| 7 | 2026-12-18 ~ 12-31 | 集成加固、回归测试与项目验收 |
当前项目进度:约 30%
整体约30%沿用团队按七次迭代形成的阶段估算,不作为功能验收率。本迭代计划42故事点,商品中心14点已随PR #1于2026-10-21合入iter2-java,当前42点的代码均已集成。本地83项回归通过;团队Java17环境联调、外链视频实际播放及教师验收仍分别确认。
口径说明:第 1 次报告的 90% 指迭代 1 内部(MVP 范围)的完成度;本次的 30% 指七次迭代的整体进度,两者口径不同,不宜直接比较。
当前迭代期定义
- 本次迭代起止日期:2026-10-09 ~ 2026-10-22
- 迭代节奏:2 周,与第 2 次阶段性评审同步
当前迭代目标定义
本次迭代有两个目标:一是按课程要求把技术栈从 Python/FastAPI 迁移到 Java,二是在新栈上完成挑战需求 A 的增量。具体到功能需求点:
目标一:技术栈迁移
- 用 Java 17 + Spring Boot 3.3.5 + MyBatis-Plus + Thymeleaf + SQLite 重建工程,业务规则与迭代 1 保持一致
- 建立
common/auth/buyer/product/admin/portal包隔离规则,三人各自包内改动互不影响 - 产出可重复执行的建表脚本与接口契约,作为并行开发的唯一依据
目标二:挑战需求 A(A.1 商品管理 / A.2 客户体系)
- A.1-1 多商品:解除迭代 1「同一时间仅一件在售」的限制
- A.1-2 两级分类:一级 / 二级分类字典,商品必须挂到二级叶子;列表支持按分类筛选
- A.1-3 库存:商品带库存数量,为 0 自动下架
- A.1-4 商品浏览与关键词搜索
- A.1-5 多图与富媒体描述
- A.2-1 客户注册登录:浏览不拦截,下单必须登录;登录后以账号识别身份,不再生成口令码
- A.2-2 客户历史下单:只展示已有结果(成功 / 失败)的订单,含商品名、下单时间、结果、交易时间
- A.2-3 商家查看客户:客户列表与客户详情(含购买历史)
本次迭代交付情况:技术栈迁移、浏览搜索、客户注册登录、历史下单、商家查看客户已在集成分支交付。商品中心的多商品发布、两级分类维护、库存与上下架、9图上传和富文本描述已在独立分支完成,并接入门户正式服务、本地全量回归通过;PR #1已合入iter2-java。团队下一步重点为Java17环境联调与演示证据补齐。
当前迭代的任务与成果物
任务计划(42 故事点,一人一个模块,代码包不交叉):
| 责任人 | 任务编号 | 任务范围 | 故事点 |
|---|---|---|---|
| 胡成溯 | T2-01~07 | 平台基座与账号:包结构重构、客户注册登录、客户管理、契约 | 13 |
| 黄程宇 | T2-08~12 | 商品中心:两级分类、多商品发布、库存状态机、多图、富文本 | 14 |
| 周到 | T2-13~18 | 买家门户:列表筛选、搜索、详情、下单、我的订单、卖家交易确认 | 15 |
成果物(均为物理实体):
- 可运行系统:
iter2-java分支(直接下载Java版;默认main仍是旧Python版),mvnw.cmd spring-boot:run启动,端口 8080 - 后端源码:Java 类 60 余个,其中买家门户 21 个;卖家 / 买家登录、客户管理、商品中心包结构已就位
- 页面模板:买家列表、详情、我的订单、卖家意向管理,以及商品发布、商品管理、分类管理、账号与客户管理等模板
- 数据库脚本:
00-base/01-buyer/02-product/03-intent四份 + 商品备份迁移器与intent表结构迁移器(旧匿名订单重建边界见数据库设计) - 接口契约与设计:总API、账号契约、商品契约、架构与六表数据库设计已按当前实现同步
- 自动化测试:商品交付分支全量83项通过(含16项新增),详见商品中心测试记录-迭代2;当前机器JDK25按Java17目标编译,测试加Byte Buddy兼容开关,团队Java17环境待联调
- 商品中心交付:PR #1、商品中心模块-迭代2、商品接口契约与旧表备份迁移
- Wiki 文档:架构设计、构建过程、部署手册、口令码与队列规则(均含迭代 2 独立页)
任务完成情况:
- T2-01~T2-07(13 点)已完成,完成人胡成溯
- T2-13~T2-18(15 点)已完成,完成人周到
- T2-08~T2-12(14点)已完成分支交付与本地验证,完成人黄程宇;PR #1已合入iter2-java,计入代码集成范围,最终验收另行确认
工作任务表
| 序号 | 已完成工作任务 | 完成人 | 成果物地址 | 教师评审意见 |
|---|---|---|---|---|
| 1 | 模块化重构:Entity / Mapper 从 common 迁入各模块 domain 包,common 只保留 api、exception、util 并冻结 |
胡成溯 | pom.xml | |
| 2 | 客户注册:buyer 表与四字段注册(用户名唯一、密码、电话必填不唯一、默认交易地点选填),密码 sha256 + 随机盐存储 |
胡成溯 | BuyerAuthController、BuyerAuthService、01-buyer.sql | |
| 3 | 买家登录 / 退出 / 会话保持,与卖家两套独立 cookie 可同浏览器共存,对外暴露 BuyerContext.current() |
胡成溯 | BuyerContext、BuyerLoginInterceptor | |
| 4 | 卖家侧客户管理列表:分页、按用户名 / 电话检索、注册时间倒序,展示用户名、电话、默认交易地点、注册时间 | 胡成溯 | CustomerAdminController | |
| 5 | 客户详情页:四项基本信息 + 该客户购买历史(含成功与失败两类结果) | 胡成溯 | customer-detail.html、IntentHistoryPort | |
| 6 | 账号模块接口契约分节(注册 / 登录 / 客户管理),并入总体契约文档 | 胡成溯 | 契约-账号与客户-迭代2 | |
| 7 | 账号模块自动化用例:注册 4 条、登录 3 条、客户列表与越权校验 | 胡成溯 | BuyerAuthTest | |
| 8 | 商品列表:分页与启用的两级分类筛选,一级筛选包含二级子类;CategoryPort已由商品中心正式服务提供 | 周到 | PortalController、PortalService | |
| 9 | 关键词搜索:按商品名称与描述模糊匹配,可与分类筛选叠加,无结果有友好提示 | 周到 | PortalService、product-list.html | |
| 10 | 商品详情页:多图展示、富媒体描述渲染、库存显示,frozen 标「交易中」、可售为 0 标「已售罄」,两种情况下单按钮均置灰 |
周到 | product-detail.html | |
| 11 | 下单:必须登录,未登录跳登录页并带回跳地址;姓名电话取买家资料快照、交易地点默认带出可当次改写;提交时不扣库存;同一买家同一商品最多 1 条未结束意向;不再生成口令码 | 周到 | PortalService、03-intent.sql、IntentSchemaMigrator | |
| 12 | 我的订单:只展示已有结果的订单(成功 / 失败),含商品名、下单时间、交易结果、交易时间,按时间倒序分页,换号不串数据 | 周到 | MyOrdersController、OrderHistoryService、my-orders.html | |
| 13 | 卖家交易确认:按商品查看意向队列(先到先得),确认后商品冻结,标成功扣减库存并解冻,标失败不扣库存且可作废或塞回队尾,全程无独立「取消」状态 | 周到 | SellerIntentController、SellerIntentService、seller-intents.html | |
| 14 | T2-08 两级分类:分类新增/停用/空类删除,阻止第三级、同父级重名和有引用分类删除,提供启用分类树 | 黄程宇 | 商品中心模块 | |
| 15 | T2-09 多商品发布:名称/价格/二级分类校验,支持连续发布,发布前确认,无商品编辑或删除入口 | 黄程宇 | 商品中心模块 | |
| 16 | T2-10 库存与状态机:成交原子扣1、归零自动下架及排队失败、手动下架/补货/重新上架,已验证5任务并发及异常回滚 | 黄程宇 | 商品中心模块、测试记录 | |
| 17 | T2-11 多图:发布时最多9张,排序/主图、5MiB和JPG/PNG完整校验、默认占位图,发布后不可改图 | 黄程宇 | 商品中心模块 | |
| 18 | T2-12 富文本:段落/加粗/图片、受信视频iframe、保存前白名单和渲染片段;外站实际播放待补证据 | 黄程宇 | 商品中心模块、测试记录 |