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 架构:
- 表现层:前端页面,负责页面展示与用户交互,发送 HTTP 请求
- 业务逻辑层:后端服务,处理核心业务规则、状态流转、权限校验
- 数据访问层:数据库操作,负责商品、订单、账号数据的增删改查
三、数据库设计初稿
3.1 核心表清单
共设计 3 张核心数据表,覆盖全部业务需求:
seller:卖家账号表product:商品信息表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 | 更新时间 | 非空 |
四、核心接口设计初稿
- 商品查询接口:GET /product/detail
- 提交购买接口:POST /order/submit
- 卖家登录接口:POST /seller/login
- 商品发布接口:POST /product/add
- 订单列表查询接口:GET /order/list
- 交易结果标记接口:POST /order/updateStatus
- 密码修改接口: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