课程设计系统概述
一、系统概述
本系统旨在为特定游戏玩家提供一个安全、便捷的装备交易平台,实现游戏装备的在线交易、评价和管理。系统作为中介平台,通过规范交易流程和提供担保服务,保障买卖双方的交易安全。
二、系统架构
2.1 总体架构
系统采用经典三层架构设计:
- 表示层:用户界面,负责信息展示和用户交互。
- 业务逻辑层:处理核心业务逻辑,如交易流程、安全验证等。
- 数据访问层:与数据库交互,负责数据的存取。
2.2 技术架构
- 前端技术:HTML/CSS/JavaScript。
- 后端技术:Java/Python/C#(将选择其一实现)。
- 数据库:PostgreSQL。
- 通信协议:HTTP/HTTPS。
三、功能模块
3.1 用户管理模块
3.2 装备管理模块
3.3 交易模块
- 购买流程管理。
- 出售管理。
- 交易状态监控。
- 交易历史记录。
3.4 资金管理模块
3.5 评价系统模块
四、数据库结构
4.1 ER 图概念设计
系统的主要实体关系如下:
- 用户(Users):系统用户,可作为买家或卖家。
- 装备(Equipments):交易的游戏装备。
- 交易(Transactions):记录买卖双方的交易信息。
- 评价(Reviews):交易后的互评信息。
- 钱包记录(WalletRecords):用户资金变动记录。
实体间主要关系:
- 用户 - 装备:一对多(一个用户可出售多件装备)。
- 用户 - 交易:一对多(作为买家 / 卖家参与多个交易)。
- 装备 - 交易:一对一(一件装备对应一笔交易)。
- 交易 - 评价:一对多(一笔交易可有买卖双方评价)。
- 用户 - 钱包记录:一对多(用户有多条钱包记录)。
4.2 表结构设计
4.2.1 用户表(Users)
字段名 | 数据类型 | 约束 | 说明 |
---|
UserID | INT | 主键,自增 | 用户唯一标识 |
Username | VARCHAR(50) | 非空,唯一 | 用户名 |
Password | VARCHAR(255) | 非空 | 加密存储的密码 |
Email | VARCHAR(100) | 非空,唯一 | 电子邮箱 |
Phone | VARCHAR(20) | | 电话号码 |
RegistrationDate | TIMESTAMP | 非空,默认当前时间 | 注册时间 |
Balance | DECIMAL(10,2) | 非空,默认 0 | 账户余额 |
CreditRating | INT | 非空,默认 3 | 信用评级(1 - 5) |
Status | VARCHAR(20) | 非空,默认‘unverified’ | 账户状态 |
4.2.2 装备表(Equipments)
字段名 | 数据类型 | 约束 | 说明 |
---|
EquipmentID | INT | 主键,自增 | 装备唯一标识 |
SellerID | INT | 外键,非空 | 卖家 ID |
EquipmentName | VARCHAR(100) | 非空 | 装备名称 |
Description | TEXT | | 装备描述 |
Category | VARCHAR(50) | 非空 | 装备类别 |
Level | INT | 非空 | 装备等级 |
Rarity | VARCHAR(20) | 非空 | 稀有度 |
Attributes | JSONB | | 装备属性(JSON 格式) |
Price | DECIMAL(10,2) | 非空 | 出售价格 |
ListedDate | TIMESTAMP | 非空,默认当前时间 | 上架时间 |
Status | VARCHAR(20) | 非空,默认‘active’ | 装备状态 |
ImageURL | VARCHAR(255) | | 装备图片 URL |
4.2.3 交易表(Transactions)
字段名 | 数据类型 | 约束 | 说明 |
---|
TransactionID | INT | 主键,自增 | 交易唯一标识 |
EquipmentID | INT | 外键,非空 | 交易装备 ID |
SellerID | INT | 外键,非空 | 卖家 ID |
BuyerID | INT | 外键,非空 | 买家 ID |
TransactionDate | TIMESTAMP | 非空,默认当前时间 | 交易发起时间 |
Price | DECIMAL(10,2) | 非空 | 成交价格 |
Status | VARCHAR(20) | 非空 | 交易状态 |
PaymentMethod | VARCHAR(50) | 非空 | 支付方式 |
CompletionDate | TIMESTAMP | | 交易完成时间 |
4.2.4 评价表(Reviews)
字段名 | 数据类型 | 约束 | 说明 |
---|
ReviewID | INT | 主键,自增 | 评价唯一标识 |
TransactionID | INT | 外键,非空 | 关联交易 ID |
ReviewerID | INT | 外键,非空 | 评价人 ID |
TargetID | INT | 外键,非空 | 被评价人 ID |
Rating | INT | 非空,1 - 5 | 评分(1 - 5 星) |
Comment | TEXT | | 评价内容 |
ReviewDate | TIMESTAMP | 非空,默认当前时间 | 评价时间 |
ReviewType | VARCHAR(20) | 非空 | 评价类型 |
4.2.5 钱包记录表(WalletRecords)
字段名 | 数据类型 | 约束 | 说明 |
---|
RecordID | INT | 主键,自增 | 记录唯一标识 |
UserID | INT | 外键,非空 | 用户 ID |
TransactionID | INT | 外键 | 关联交易 ID |
Type | VARCHAR(20) | 非空 | 记录类型 |
Amount | DECIMAL(10,2) | 非空 | 金额 |
Balance | DECIMAL(10,2) | 非空 | 操作后余额 |
Timestamp | TIMESTAMP | 非空,默认当前时间 | 操作时间 |
Description | TEXT | | 描述 |
4.3 主要数据库约束
- 用户名和电子邮箱唯一性约束。
- 装备价格非负约束。
- 评分范围(1 - 5)约束。
- 各实体间的外键约束。
- 状态字段的枚举值约束。