Technical‐Solution - sjj124390/- GitHub Wiki

在线购物系统技术方案与数据库设计初稿

一、技术选型

1.1 前端技术栈

  • 页面结构:HTML5
  • 样式开发:CSS3
  • 交互逻辑:原生 JavaScript
  • 优势:轻量无依赖,适合 MVP 快速开发,无需构建环境

1.2 后端技术栈

  • 开发语言:Java
  • Web 框架:Spring Boot
  • 数据库:MySQL 8.0
  • 优势:课程技术栈匹配,生态成熟,资料丰富

1.3 部署与托管

  • 代码托管:GitHub
  • 文档托管:GitHub Wiki
  • 运行环境:Spring Boot 内置 Tomcat

二、系统架构设计

采用经典三层 B/S 架构:

  1. 表现层:前端页面,负责页面展示与用户交互,发送 HTTP 请求
  2. 业务逻辑层:后端服务,处理核心业务规则、状态流转、权限校验
  3. 数据访问层:数据库操作,负责商品、订单、账号数据的增删改查

三、数据库设计初稿

3.1 核心表清单

共设计 3 张核心数据表,覆盖全部业务需求:

  1. seller:卖家账号表
  2. product:商品信息表
  3. purchase_order:购买意向订单表

3.2 表结构详情

表 1:seller(卖家账号表)

字段名 类型 说明 约束
id int 主键 ID 主键,自增
username varchar(32) 卖家账号 唯一,非空
password varchar(64) 登录密码(加密存储) 非空
create_time datetime 创建时间 非空
update_time datetime 更新时间 非空

表 2:product(商品信息表)

字段名 类型 说明 约束
id int 商品 ID 主键,自增
name varchar(64) 商品名称 非空
description text 商品描述 非空
image_url varchar(255) 商品图片地址 非空
price decimal(10,2) 商品价格 非空
status tinyint 商品状态:0 - 在售 1 - 冻结 2 - 已售出 非空,默认 0
create_time datetime 创建时间 非空
update_time datetime 更新时间 非空

表 3:purchase_order(购买意向订单表)

字段名 类型 说明 约束
id int 订单 ID 主键,自增
product_id int 关联商品 ID 外键,关联 product.id
buyer_name varchar(32) 购买人姓名 非空
buyer_phone varchar(20) 购买人电话 非空
remark varchar(255) 购买备注 可空
status tinyint 订单状态:0 - 待交易 1 - 交易成功 2 - 交易失败 非空,默认 0
create_time datetime 提交时间 非空
update_time datetime 更新时间 非空

四、核心接口设计初稿

  1. 商品查询接口:GET /product/detail
  2. 提交购买接口:POST /order/submit
  3. 卖家登录接口:POST /seller/login
  4. 商品发布接口:POST /product/add
  5. 订单列表查询接口:GET /order/list
  6. 交易结果标记接口:POST /order/updateStatus
  7. 密码修改接口:POST /seller/updatePassword

数据库验收清单 https://github.com/sjj124390/-/blob/main/database/acceptance.md 数据库 https://github.com/sjj124390/-/blob/main/database/schema.sql 数据库技术方案(孙俊杰负责) https://github.com/sjj124390/-/blob/main/docs/database-design.md