第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 的增量。具体到功能需求点:

目标一:技术栈迁移

  1. 用 Java 17 + Spring Boot 3.3.5 + MyBatis-Plus + Thymeleaf + SQLite 重建工程,业务规则与迭代 1 保持一致
  2. 建立 common / auth / buyer / product / admin / portal 包隔离规则,三人各自包内改动互不影响
  3. 产出可重复执行的建表脚本与接口契约,作为并行开发的唯一依据

目标二:挑战需求 A(A.1 商品管理 / A.2 客户体系)

  1. A.1-1 多商品:解除迭代 1「同一时间仅一件在售」的限制
  2. A.1-2 两级分类:一级 / 二级分类字典,商品必须挂到二级叶子;列表支持按分类筛选
  3. A.1-3 库存:商品带库存数量,为 0 自动下架
  4. A.1-4 商品浏览与关键词搜索
  5. A.1-5 多图与富媒体描述
  6. A.2-1 客户注册登录:浏览不拦截,下单必须登录;登录后以账号识别身份,不再生成口令码
  7. A.2-2 客户历史下单:只展示已有结果(成功 / 失败)的订单,含商品名、下单时间、结果、交易时间
  8. 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、保存前白名单和渲染片段;外站实际播放待补证据 黄程宇 商品中心模块、测试记录