系统架构设计
摘要
随着互联网技术的发展,校园商业活动逐渐向线上迁移。本平台旨在整合校园内商品资源,提供在线浏览、下单、支付及配送等功能,优化校园商业生态。系统采用前后端分离架构,后端基于 SpringBoot 框架实现 RESTful API,前端使用 Vue.js 构建用户界面。数据库采用 MySQL 存储核心数据,并通过 SQL 脚本初始化。
数据表设计
用户信息数据表
用户信息表中,注册时间由函数自动生成,用户 ID 为主键,存储用户基本属性及权限信息。
| 字段名 | 数据类型 | 是否为空 | 描述 |
|---|---|---|---|
| user_id | BIGINT | NOT NULL | 用户唯一标识 |
| username | VARCHAR(50) | NOT NULL | 用户登录名 |
| password_hash | VARCHAR(255) | NOT NULL | 加密后的密码 |
| VARCHAR(100) | NOT NULL | 绑定邮箱 | |
| phone | VARCHAR(20) | NULL | 联系电话 |
| role_type | TINYINT | NOT NULL | 角色类型(1-管理员,2-商户,3-用户) |
| create_time | DATETIME | NOT NULL | 注册时间 |
| last_login | DATETIME | NULL | 最后登录时间 |
商品信息数据表
商品信息表中,上架时间由系统自动记录,商品 ID 为主键,存储商品详情及库存状态。
| 字段名 | 数据类型 | 是否为空 | 描述 |
|---|---|---|---|
| product_id | BIGINT | NOT NULL | 商品唯一标识 |
| shop_id | BIGINT | NOT NULL | 关联商户 ID |
| product_name | VARCHAR(100) | NOT NULL | 商品名称 |
| category_code | VARCHAR(20) | NOT NULL | 分类编码 |
| price | DECIMAL(10,2) | NOT NULL | 售价 |
| stock_quantity | INT | NOT NULL | 库存数量 |
| description | TEXT | NULL | 商品描述 |
| publish_time | DATETIME | NOT NULL | 上架时间 |
| is_deleted | TINYINT | NOT NULL | 逻辑删除标记 |
订单交易数据表
订单交易表中,下单时间由系统生成,订单 ID 为主键,记录交易流水及状态。
| 字段名 | 数据类型 | 是否为空 | 描述 |
|---|---|---|---|
| order_id | BIGINT | NOT NULL | 订单唯一标识 |
| user_id | BIGINT | NOT NULL | 关联用户 ID |
| total_amount | DECIMAL(10,2) | NOT NULL | 订单总金额 |
| payment_method | TINYINT | NOT NULL | 支付方式(1-支付宝,2-微信) |
| order_status | TINYINT | NOT NULL | 状态(1-待支付,2-已发货,3-已完成) |
| create_time | DATETIME | NOT NULL | 下单时间 |
| finish_time | DATETIME | NULL | 完成时间 |
| delivery_address | VARCHAR(255) | NOT NULL | 配送地址 |
技术栈选型
后端技术
- 框架:SpringBoot 2.7.x + Spring Security
- 持久层:Spring Data JPA + QueryDSL
- 缓存:Redis 6.x
- 消息队列:RabbitMQ 3.9
前端技术
- Vue 3.x + Element Plus
- ECharts 5.0 数据可视化
- Axios HTTP 客户端
安全措施
- JWT 令牌认证机制
- 基于注解的权限控制:
@PreAuthorize("hasRole('ADMIN')") - 敏感数据加密存储
- 防止 CSRF 攻击的 Token 验证
- 操作日志审计
系统集成与运维
外部系统对接
- LDAP/AD 域账号同步
- 企业微信/钉钉消息通知
- 文件存储对接 OSS/MinIO
- 单点登录实现 CAS 集成
监控与部署
- Spring Boot Admin 服务器监控
- Prometheus + Grafana 性能监控
- ELK 日志分析系统
- Docker 容器化部署
- Kubernetes 集群编排
- CI/CD 流水线配置


