# 1-校园二手交易系统 - 功能说明
# 项目概述
面向校园师生的二手商品发布与交易平台,围绕商品审核、买卖订单、收藏评论和在线沟通组织业务。普通用户既可以购买商品,也可以发布自己的闲置物品;商家通过后台维护商品和交易记录。
# 项目概览
# 创新点
- 双向交易身份:用户同时具有买家和卖家业务入口,分别管理购买订单与销售订单。
- 会话式沟通:包含聊天页面、会话列表、历史消息、未读计数以及 WebSocket 相关实现。
- 交易内容治理:商品审核、举报处理和用户反馈分别对应独立业务模块。
# 项目亮点
- 角色分工:提供管理员、商家、普通用户等业务入口。
- 业务数据组织:主初始化脚本包含 15 张表,围绕该系统的核心对象与业务记录建模。
- 前后端分离:前端负责页面交互,后端通过控制器、服务与数据映射层提供接口。
- 操作体验:提供列表查询、表单编辑、状态展示及个人资料维护入口。
# 管理员
# 账号管理
维护管理员、用户和商家账号。
# 商品与分类
维护分类,查看商品并处理上架审核。
# 订单管理
查询和维护交易订单。
# 互动管理
管理评论、留言和举报记录。
# 平台内容
维护公告、轮播图、帮助中心和用户反馈。
# 商家
# 商品管理
通过后台“我的商品”维护商品资料。
# 订单管理
查看销售订单并维护处理状态。
# 交易互动
通过评论、留言管理入口查看交易相关互动。
# 普通用户
# 商品浏览
按条件查找商品,查看图片、价格、成色和商品说明。
# 商品发布
通过“我的商品”新增和维护闲置商品。
# 买卖订单
分别查看买到的商品和卖出的商品,执行确认、发货、收货及评价操作。
# 收藏与地址
管理商品收藏和收货地址。
# 交流与反馈
查看留言、进入聊天会话、提交举报和平台反馈。
# 账户余额
查看个人资料与余额,使用系统提供的充值入口。
# 功能权限对照表
下表说明当前菜单与业务入口分工。“—”表示未列为该角色的常规入口;不代表已对每个接口完成权限安全审计。
| 功能模块 | 管理员 | 商家 | 普通用户 |
|---|---|---|---|
| 账号、分类与平台内容 | 管理 | — | 浏览公开内容 |
| 商品 | 审核与维护 | 发布维护 | 发布维护 |
| 买卖订单 | 后台维护 | 销售处理 | 购买与销售处理 |
| 评论、留言 | 后台管理 | 后台互动 | 评论与聊天 |
| 举报与反馈 | 处理 | — | 提交 |
# 业务状态说明
- 前台买卖订单:待确认 → 已确认 → 已发货 → 已完成 → 已评价;待确认时可取消或拒绝。
- 商品:待审核、已上架、已下架、已售出。
- 举报:待处理、已处理、已驳回。
# 默认账号
以下为主初始化 SQL 中能够核实的示例账号;需先导入对应脚本。这里不把脚本初始值视为当前运行数据库的实际账号或余额。
| 登录角色 | 角色标识 | 用户名 | 初始密码 |
|---|---|---|---|
| 管理员 | ADMIN | admin | 123456 |
| 商家 | MERCHANT | merchant | 123456 |
| 普通用户 | USER | user | 123456 |
# 核心业务流程
# 发布商品
- 用户填写商品资料并提交。
- 管理员在商品审核入口处理。
- 上架后供用户浏览。
# 购买与交付
- 选择商品及地址。
- 提交“待确认”订单并扣减买家余额。
- 卖家确认。
- 发货。
- 买家确认收货。
- 评价。
# 留言咨询
- 进入商品详情或聊天入口。
- 发送消息。
- 对方查看会话和历史记录。
- 更新已读状态。
# 技术说明
# 系统架构
| 项目 | 当前源码配置 |
|---|---|
| Vue | ^3.4.29 |
| Element Plus | ^2.8.4 |
| Pinia | ^2.2.2 |
| Axios | ^1.7.5 |
| Vite | ^5.3.1 |
| Spring Boot | 3.2.10 |
| Java | 17 |
| MyBatis 集成组件 | 3.0.4 |
| 数据库 | MySQL;具体运行版本以实际部署为准 |
| 身份认证 | JWT;通过登录接口生成令牌 |
前端版本按 package.json 中的声明范围记录,不将依赖范围等同于已安装的精确版本。
# 访问地址
- 后端接口:http://localhost:1000 (opens new window),对应服务端端口配置。
- 前端开发页面:http://localhost:5173 (opens new window),项目未显式覆盖 Vite 默认端口,实际以启动日志为准。
- 登录入口:前端
/login;管理端基础路由/admin。
# 数据库
- 配置数据库名:
a_2026_1_second_hand_trading_system。 - 主初始化脚本:
sql/sql.sql。 - 主脚本建表数量:15 张,仅统计当前主脚本的 CREATE TABLE,不包含临时 SQL、迁移脚本或运行时改动。
- 字符集:主脚本采用 utf8mb4。
- 数据表清单:
address、admin、banner、category、collect、comment、feedback、goods、help、merchant、message、notice、orders、report、user。
# 文件上传
- 上传接口:
POST /file/upload。 - 文件访问:
GET /file/{fileName}。 - 配置限制:单文件 100MB,单次请求 1000MB。
- 使用范围:根据业务页面上传图片或附件;具体允许类型以对应上传组件配置为准。
# 系统特色
# 双向交易身份
用户同时具有买家和卖家业务入口,分别管理购买订单与销售订单。
# 会话式沟通
包含聊天页面、会话列表、历史消息、未读计数以及 WebSocket 相关实现。
# 交易内容治理
商品审核、举报处理和用户反馈分别对应独立业务模块。
# 当前实现说明
- 前台订单使用“待确认、已确认、已发货、已评价”,后台订单选项及初始化 SQL 仍使用“待发货、待收货、待评价”等名称,两套状态尚未统一。
- 下单服务包含余额扣减;订单取消仅更新状态,不能据此承诺自动退款或卖家余额自动结算。
- 初始化主 SQL 的用户表与新增余额业务存在版本差异,部署时需核对用户余额字段;聊天扩展另见 sql/websocket_update.sql。
本次按本地源码进行静态核对,未启动前后端或连接数据库执行端到端验证;上述说明反映当前代码与页面定义。