摘要
随着互联网技术的迅猛发展和在线交易需求的不断增长,传统拍卖模式面临时空限制、竞价不透明等问题。为了解决这些问题,基于 Spring Boot 的在线拍卖系统应运而生。该系统采用 Spring Boot 框架结合 Java 语言进行后端开发,前端则使用 Vue.js 构建交互界面,以 MySQL 数据库作为数据存储核心,构建了一个高效、便捷且安全的在线拍卖平台。系统实现了普通用户、卖家用户和管理员的注册与登录、拍品信息发布与管理、竞价处理、拍卖倒计时控制、订单生成与支付、用户评价等核心功能。通过优化拍卖流程,系统显著提升了用户体验,简化了竞拍操作,确保了竞拍过程的透明性和实时性。经过多轮严格的功能测试、性能测试和安全测试,系统运行稳定,操作简便,界面友好,能够有效满足卖家和竞拍者的需求。
关键词:在线拍卖系统;Spring Boot;Java;MySQL
第 1 章 绪论
1.1 开发背景
随着电子商务的蓬勃发展和互联网技术的进步,在线拍卖作为一种新型交易模式正在快速普及,但现有平台仍面临高并发稳定性不足、交易安全风险、用户体验不佳和功能单一等问题。为此,本文设计并实现了基于 Java 技术的在线拍卖系统,采用 Spring Boot+Vue.js 的前后端分离架构,整合分布式事务管理和实时竞价推送等技术,支持英式拍卖和荷兰式拍卖等多种模式。系统通过 Redis 缓存和消息队列实现每秒 500+ 的高并发处理,基于 WebSocket 确保毫秒级实时竞价反馈,并采用 RBAC 权限控制、HTTPS 加密传输等多重安全措施。
1.2 开发意义
本系统的研发具有重要的理论价值和实践意义。在理论层面,系统创新性地将分布式事务管理机制应用于在线拍卖场景,解决了高并发竞价环境下的数据一致性问题。在实践层面,系统通过引入多模式拍卖机制和实时竞价推送技术,打破了传统拍卖的时空限制,使买卖双方能够随时随地进行安全、高效的交易活动。此外,本系统的实施推动了拍卖行业的数字化转型,为艺术品、收藏品等特殊商品交易提供了更加公开透明的平台。
1.3 国内现状
当前,我国在线拍卖市场正处于快速发展阶段,艺术品、收藏品等垂直领域需求尤为旺盛,但行业仍面临诸多挑战:约 65% 的中小型平台存在高并发处理能力不足的问题,28% 的用户遭遇过交易安全问题。在此背景下,开发基于 Java 技术栈的高性能在线拍卖系统,不仅能解决现有平台的技术瓶颈,更能推动行业向更规范、更安全的方向发展。
1.4 国外现状
国际在线拍卖市场已形成较为成熟的体系,以 eBay 等为代表的平台年交易规模巨大,其中 78% 采用 Java 技术栈开发。这些平台普遍采用 WebSocket+Redis 实现 50ms 以内的实时竞价。当前行业呈现明显移动化趋势,AI 估价、AR 预览等创新技术正重塑用户体验。
第 2 章 相关技术介绍
2.1 SpringBoot 框架介绍
SpringBoot 是 Spring 家族中的一个重要成员,它简化了 Spring 应用的初始搭建和开发过程。通过提供一系列默认配置和自动装配机制,SpringBoot 使得开发者能够更快地构建出生产级别的 Spring 应用。它支持多种开发工具和框架,如 Maven、Gradle 等,并且可以与多种数据库和缓存技术无缝集成。
2.2 MySQL 数据库
MySQL 是一款开源的关系型数据库管理系统,以其高性能、高可靠性和易用性而著称。MySQL 支持多种存储引擎,如 InnoDB、MyISAM 等,能够满足不同应用场景的需求。它提供了丰富的 SQL 语法和函数,使得开发者能够方便地进行数据查询、更新和删除操作。
2.3 Java 语言
JAVA 是一种广泛使用的编程语言,具有跨平台、面向对象、安全性高等特点。JAVA 语言提供了丰富的类库和 API,使得开发者能够轻松地进行网络编程、数据库操作等任务。JAVA 还支持多线程编程和分布式计算,为开发高性能和可扩展的应用提供了有力支持。
第 3 章 系统分析
3.1 可行性分析
3.1.1 技术可行性
基于 Spring Boot 框架开发在线拍卖系统具有显著优势。Spring Boot 以其简洁的配置、高效的性能以及强大的集成能力,为快速构建稳定、可扩展的 Web 应用提供了坚实基础。结合 MySQL 数据库的高效存储与检索能力,以及 Java 语言的广泛应用与成熟生态,系统能够实现复杂的数据处理与业务逻辑。
3.1.2 经济可行性
该系统开发成本较低,主要投入在人力和硬件资源上,采用 Spring Boot 和 MySQL 等开源技术,避免了额外的许可费用。上线后,通过提供便捷、透明的拍卖服务,能够吸引大量用户,并通过广告和增值服务实现盈利。
3.1.3 操作可行性
该在线拍卖系统具有简洁友好的界面和操作流程,用户无需复杂培训即可轻松上手。系统功能模块化设计,包括用户注册、拍品管理、竞拍处理、订单支付等,确保用户能够快速完成各项操作。
3.1.4 社会可行性
该在线拍卖系统响应了国家推动数字经济和公平交易的政策,通过技术手段解决信息不对称和流程繁琐的问题,促进了拍卖市场的透明和公平。
3.2 系统功能需求
Java 的在线拍卖系统包含游客(非注册用户)、普通用户(注册用户)、卖家用户(注册用户)、管理员(注册用户) 四个角色划分。
3.2.1 游客主要功能
游客是非注册用户,所以只能游览拍卖商品,不能拍卖或者发布商品,除非注册登录。
3.2.2 用户主要功能
- 用户注册:填写账号、密码、昵称、邮箱、手机号、用户类型等字段值,点击注册按钮,注册成功。
- 用户登录:输入用户名、密码、验证码登录系统。
- 首页:展示轮播图、热门拍品推荐、最新上架拍品、拍卖资讯。
- 拍卖公告:展示后台发布的所有拍卖公告信息。
- 拍卖咨询:用户可对拍品发起在线咨询,商家/客服可进行回复。
- 投诉建议:用户可提交拍卖过程中的投诉或对平台提出建议。
- 拍品信息:展示所有上架的拍品信息,可按分类筛选、关键词搜索。
- 我的账户:修改个人资料、修改密码、查看竞拍信息、订单信息等。
3.2.3 管理员主要功能
- 个人信息:查看和编辑自己的个人信息。
- 改密码:修改登录密码。
- 网站首页:管理网站的首页内容。
- 后台首页:访问并管理系统的后台首页。
- 系统用户:管理系统中的用户,进行增、删、改、查操作。
- 拍品类型管理:负责管理拍卖品的分类。
- 拍品信息管理:管理拍品的详细信息,审核并发布新的拍品。
- 竞拍信息管理:管理和审核竞拍信息。
- 取消出价管理:处理用户取消出价的请求。
- 订单信息管理:查看和管理用户的订单信息。
- 订单状态管理:管理订单的状态。
- 轮播图功能:管理网站首页的轮播图。
- 留言管理:查看和处理用户的留言和反馈。
- 拍卖公告管理:发布和管理拍卖公告。
- 拍卖资讯和资讯管理:管理和发布拍卖相关资讯。
3.3 非功能性需求分析
性能:系统需要能够处理高并发请求,确保在多个用户同时操作时仍能保持稳定运行。
安全性:系统必须采取严格的措施来保护敏感数据,如用户信息、交易记录等。
易用性:系界面友好直观,操作流程简化,提升用户体验。
可维护性:代码结构清晰,文档完备,便于后续开发与问题排查。
3.4 系统用户用例分析
3.4.1 普通用户用例图

图 3-1 普通用户用例图
3.4.2 卖家用户用例图

图 3-2 卖家用户用例图
3.4.3 管理员用例图

图 3-3 管理员用例图
第 4 章 系统设计
4.1 功能模块设计
基于 Java 的在线拍卖系统的设计与实现中主要涉及有普通用户、卖家用户、管理员三个角色。每个角色对应的功能模块如图所示。

图 4-1 系统功能结构图
4.2 数据库设计
4.2.1 概念设计
借助先进的系统,ER 图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。基于 Java 的在线拍卖系统的设计与实现中管理员、普通用户、卖家用户、首页、拍卖公告、拍卖咨询、投诉建议、拍品信息等 E-R 实体关系图。

图 4-2 总体 ER 图
4.2.2 逻辑设计
通过上一小节基于 Java 的在线拍卖系统的设计与实现中总 E-R 关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | token_id | int | | 是 | 是 | 临时访问牌 ID |
| 2 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 3 | info | text | 65535 | 否 | 否 | 信息 |
| 4 | maxage | int | | 是 | 否 | 最大寿命:默认 2 小时 |
| 5 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 6 | update_time | timestamp | | 是 | 否 | 更新时间 |
| 7 | user_id | int | | 是 | 否 | 用户编号 |
表 4-1 access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | article_id | mediumint | | 是 | 是 | 文章 id |
| 2 | title | varchar | 125 | 是 | 是 | 标题 |
| 3 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 4 | hits | int | | 是 | 否 | 点击数 |
| 5 | praise_len | int | | 是 | 否 | 点赞数 |
| 6 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 7 | update_time | timestamp | | 是 | 否 | 更新时间 |
| 8 | source | varchar | 255 | 否 | 否 | 来源 |
| 9 | url | varchar | 255 | 否 | 否 | 来源地址 |
| 10 | tag | varchar | 255 | 否 | 否 | 标签 |
| 11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 12 | img | varchar | 255 | 否 | 否 | 封面图 |
| 13 | description | text | 65535 | 否 | 否 | 文章描述 |
表 4-2 article(文章)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | type_id | smallint | | 是 | 是 | 分类 ID |
| 2 | display | smallint | | 是 | 否 | 显示顺序 |
| 3 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 4 | father_id | smallint | | 是 | 否 | 上级分类 ID |
| 5 | description | varchar | 255 | 否 | 否 | 描述 |
| 6 | icon | text | 65535 | 否 | 否 | 分类图标 |
| 7 | url | varchar | 255 | 否 | 否 | 外链地址 |
| 8 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 9 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-3 article_type(文章分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | auctions_type_id | int | | 是 | 是 | 拍品类型 ID |
| 2 | product_type | varchar | 64 | 否 | 否 | 拍品类型 |
| 3 | create_time | datetime | | 是 | 否 | 创建时间 |
| 4 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-4 auctions_type(拍品类型)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | auction_information_id | int | | 是 | 是 | 竞拍信息 ID |
| 2 | seller_user | int | | 否 | 否 | 卖家用户 |
| 3 | seller_name | varchar | 64 | 否 | 否 | 卖家姓名 |
| 4 | lit_no | varchar | 64 | 否 | 否 | 拍品编号 |
| 5 | lit_title | varchar | 64 | 否 | 否 | 拍品标题 |
| 6 | auctions_type | varchar | 64 | 否 | 否 | 拍品类型 |
| 7 | type_of_auction | varchar | 64 | 否 | 否 | 拍卖类型 |
| 8 | starting_price | double | | 否 | 否 | 起拍价格 |
| 9 | ordinary_user | int | | 否 | 否 | 普通用户 |
| 10 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 11 | auction_price | double | | 否 | 否 | 竞拍价格 |
| 12 | auction_time | datetime | | 否 | 否 | 竞拍时间 |
| 13 | auction_remarks | text | 65535 | 否 | 否 | 竞拍备注 |
| 14 | cancel_bid_limit_times | int | | 是 | 否 | 取消出价限制次数 |
| 15 | order_information_limit_times | int | | 是 | 否 | 生成订单限制次数 |
| 16 | create_time | datetime | | 是 | 否 | 创建时间 |
| 17 | update_time | timestamp | | 是 |
表 4-5 auction_information(竞拍信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | auth_id | int | | 是 | 是 | 授权 ID |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
| 3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 4 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 6 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 8 | parent_sort | int | | 是 | 否 | 父级菜单排序 |
| 9 | position | varchar | 32 | 否 | 否 | 位置 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | add | tinyint | | 是 | 否 | 是否可增加 |
| 12 | del | tinyint | | 是 | 否 | 是否可删除 |
| 13 | set | tinyint | | 是 | 否 | 是否可修改 |
| 14 | get | tinyint | | 是 | 否 | 是否可查看 |
| 15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 18 |
表 4-6 auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | cancel_bid_id | int | | 是 | 是 | 取消出价 ID |
| 2 | seller_user | int | | 否 | 否 | 卖家用户 |
| 3 | seller_name | varchar | 64 | 否 | 否 | 卖家姓名 |
| 4 | lit_no | varchar | 64 | 否 | 否 | 拍品编号 |
| 5 | lit_title | varchar | 64 | 否 | 否 | 拍品标题 |
| 6 | auctions_type | varchar | 64 | 否 | 否 | 拍品类型 |
| 7 | type_of_auction | varchar | 64 | 否 | 否 | 拍卖类型 |
| 8 | starting_price | double | | 否 | 否 | 起拍价格 |
| 9 | ordinary_user | int | | 否 | 否 | 普通用户 |
| 10 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 11 | auction_price | double | | 否 | 否 | 竞拍价格 |
| 12 | auction_time | datetime | | 否 | 否 | 竞拍时间 |
| 13 | cancellation_reason | varchar | 64 | 否 | 否 | 取消缘由 |
| 14 | cancel_time | datetime | | 否 | 否 | 取消时间 |
| 15 | cancel_note | text | 65535 | 否 | 否 | 取消备注 |
| 16 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 17 | examine_reply | varchar | 255 | 否 |
表 4-7 cancel_bid(取消出价)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | code_token_id | int | | 是 | 是 | 验证码 ID |
| 2 | token | varchar | 255 | 否 | 否 | 令牌 |
| 3 | code | varchar | 255 | 否 | 否 | 验证码 |
| 4 | expire_time | timestamp | | 是 | 否 | 失效时间 |
| 5 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 6 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-8 code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | collect_id | int | | 是 | 是 | 收藏 ID |
| 2 | user_id | int | | 是 | 是 | 收藏人 ID |
| 3 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int | | 是 | 否 | 来源 ID |
| 6 | title | varchar | 255 | 否 | 否 | 标题 |
| 7 | img | varchar | 255 | 否 | 否 | 封面 |
| 8 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 9 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-9 collect(收藏)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | comment_id | int | | 是 | 是 | 评论 ID |
| 2 | user_id | int | | 是 | 是 | 评论人 ID |
| 3 | reply_to_id | int | | 是 | 否 | 回复评论 ID |
| 4 | content | longtext | 4294967295 | 否 | 否 | 内容 |
| 5 | nickname | varchar | 255 | 否 | 否 | 昵称 |
| 6 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 7 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 8 | update_time | timestamp | | 是 | 否 | 更新时间 |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 10 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 11 | source_id | int | | 是 | 否 | 来源 ID |
表 4-10 comment(评论)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | hits_id | int | | 是 | 是 | 点赞 ID |
| 2 | user_id | int | | 是 | 否 | 点赞人 |
| 3 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 4 | update_time | timestamp | | 是 | 否 | 更新时间 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | | 是 | 否 | 来源 ID |
表 4-11 hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | lot_information_id | int | | 是 | 是 | 拍品信息 ID |
| 2 | seller_user | int | | 否 | 否 | 卖家用户 |
| 3 | seller_name | varchar | 64 | 否 | 否 | 卖家姓名 |
| 4 | lit_no | varchar | 64 | 否 | 否 | 拍品编号 |
| 5 | lit_title | varchar | 64 | 否 | 否 | 拍品标题 |
| 6 | auctions_type | varchar | 64 | 否 | 否 | 拍品类型 |
| 7 | type_of_auction | varchar | 64 | 否 | 否 | 拍卖类型 |
| 8 | starting_price | double | | 否 | 否 | 起拍价格 |
| 9 | auctions_pictures | varchar | 255 | 否 | 否 | 拍品图片 |
| 10 | lot_atlas | text | 65535 | 否 | 否 | 拍品图集 |
| 11 | auction_rules | text | 65535 | 否 | 否 | 竞拍规则 |
| 12 | auction_description | text | 65535 | 否 | 否 | 拍品描述 |
| 13 | hits | int | | 是 | 否 | 点击数 |
| 14 | praise_len | int | | 是 | 否 | 点赞数 |
| 15 | collect_len | int | | 是 | 否 | 收藏数 |
| 16 | comment_len | int | | 是 | 否 | 评论数 |
| 17 | auction_information_limit_times | int | | 是 | 否 |
表 4-12 lot_information(拍品信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | message_id | int | | 是 | 是 | 留言板 ID |
| 2 | user_id | int | | 是 | 否 | 用户 ID |
| 3 | title | varchar | 64 | 否 | 否 | 标题 |
| 4 | content | longtext | 4294967295 | 是 | 否 | 内容 |
| 5 | nickname | varchar | 32 | 是 | 否 | 昵称 |
| 6 | avatar | varchar | 255 | 否 | 否 | 头像 |
| 7 | email | varchar | 125 | 否 | 否 | 留言者邮箱 |
| 8 | phone | varchar | 11 | 否 | 否 | 留言者手机号码 |
| 9 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 10 | update_time | timestamp | | 是 | 否 | 更新时间 |
| 11 | reply | longtext | 4294967295 | 否 | 否 | 回复 |
| 12 | reply_state | tinyint | | 否 | 否 | 回复状态 |
表 4-13 message(留言板)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | notice_id | mediumint | | 是 | 是 | 公告 ID |
| 2 | title | varchar | 125 | 是 | 否 | 标题 |
| 3 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 4 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 5 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-14 notice(公告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | order_information_id | int | | 是 | 是 | 订单信息 ID |
| 2 | seller_user | int | | 否 | 否 | 卖家用户 |
| 3 | seller_name | varchar | 64 | 否 | 否 | 卖家姓名 |
| 4 | lit_no | varchar | 64 | 否 | 否 | 拍品编号 |
| 5 | lit_title | varchar | 64 | 否 | 否 | 拍品标题 |
| 6 | auctions_type | varchar | 64 | 否 | 否 | 拍品类型 |
| 7 | type_of_auction | varchar | 64 | 否 | 否 | 拍卖类型 |
| 8 | starting_price | double | | 否 | 否 | 起拍价格 |
| 9 | auction_price | double | | 否 | 否 | 竞拍价格 |
| 10 | auction_time | datetime | | 否 | 否 | 竞拍时间 |
| 11 | ordinary_user | int | | 否 | 否 | 普通用户 |
| 12 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 13 | contact_phone | varchar | 64 | 否 | 否 | 联系电话 |
| 14 | handling_charges | double | | 否 | 否 | 手续费用 |
| 15 | total_amount | varchar | 64 | 否 | 否 | 合计金额 |
| 16 | receiving_address | text | 65535 | 否 | 否 | 收货地址 |
| 17 | confirmation_elements | varchar | 64 |
表 4-15 order_information(订单信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | order_status_id | int | | 是 | 是 | 订单状态 ID |
| 2 | seller_user | int | | 否 | 否 | 卖家用户 |
| 3 | seller_name | varchar | 64 | 否 | 否 | 卖家姓名 |
| 4 | lit_no | varchar | 64 | 否 | 否 | 拍品编号 |
| 5 | lit_title | varchar | 64 | 否 | 否 | 拍品标题 |
| 6 | auctions_type | varchar | 64 | 否 | 否 | 拍品类型 |
| 7 | type_of_auction | varchar | 64 | 否 | 否 | 拍卖类型 |
| 8 | starting_price | double | | 否 | 否 | 起拍价格 |
| 9 | auction_price | double | | 否 | 否 | 竞拍价格 |
| 10 | auction_time | datetime | | 否 | 否 | 竞拍时间 |
| 11 | ordinary_user | int | | 否 | 否 | 普通用户 |
| 12 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 13 | contact_phone | varchar | 64 | 否 | 否 | 联系电话 |
| 14 | handling_charges | double | | 否 | 否 | 手续费用 |
| 15 | total_amount | varchar | 64 | 否 | 否 | 合计金额 |
| 16 | receiving_address | text | 65535 | 否 | 否 | 收货地址 |
| 17 | confirmation_elements | varchar | 64 | 否 |
表 4-16 order_status(订单状态)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | ordinary_user_id | int | | 是 | 是 | 普通用户 ID |
| 2 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 3 | user_gender | varchar | 64 | 否 | 否 | 用户性别 |
| 4 | contact_information | varchar | 16 | 否 | 否 | 联系方式 |
| 5 | identity_information | varchar | 255 | 否 | 否 | 身份信息 |
| 6 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 7 | user_id | int | | 是 | 否 | 用户 ID |
| 8 | create_time | datetime | | 是 | 否 | 创建时间 |
| 9 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-17 ordinary_user(普通用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | praise_id | int | | 是 | 是 | 点赞 ID |
| 2 | user_id | int | | 是 | 是 | 点赞人 |
| 3 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 4 | update_time | timestamp | | 是 | 否 | 更新时间 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | | 是 | 否 | 来源 ID |
| 8 | status | tinyint | | 是 | 否 | 点赞状态:1 为点赞,0 已取消 |
表 4-18 praise(点赞)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | seller_user_id | int | | 是 | 是 | 卖家用户 ID |
| 2 | seller_name | varchar | 64 | 否 | 否 | 卖家名称 |
| 3 | sellers_gender | varchar | 64 | 否 | 否 | 卖家性别 |
| 4 | seller_phone | varchar | 16 | 否 | 否 | 卖家电话 |
| 5 | identity_information | varchar | 255 | 否 | 否 | 身份信息 |
| 6 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 7 | user_id | int | | 是 | 否 | 用户 ID |
| 8 | create_time | datetime | | 是 | 否 | 创建时间 |
| 9 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-19 seller_user(卖家用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | slides_id | int | | 是 | 是 | 轮播图 ID |
| 2 | title | varchar | 64 | 否 | 否 | 标题 |
| 3 | content | varchar | 255 | 否 | 否 | 内容 |
| 4 | url | varchar | 255 | 否 | 否 | 链接 |
| 5 | img | varchar | 255 | 否 | 否 | 轮播图 |
| 6 | hits | int | | 是 | 否 | 点击量 |
| 7 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 8 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-20 slides(轮播图)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | upload_id | int | | 是 | 是 | 上传 ID |
| 2 | name | varchar | 64 | 否 | 否 | 文件名 |
| 3 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 6 | father_id | int | | 否 | 否 | 父级 ID |
| 7 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 8 | type | varchar | 32 | 否 | 否 | 文件类型 |
表 4-21 upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | user_id | int | | 是 | 是 | 用户 ID |
| 2 | state | smallint | | 是 | 否 | 账户状态:(1 可用 |
| 3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
| 4 | login_time | timestamp | | 是 | 否 | 上次登录时间 |
| 5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 6 | phone_state | smallint | | 是 | 否 | 手机认证:(0 未认证 |
| 7 | username | varchar | 16 | 是 | 否 | 用户名 |
| 8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 9 | password | varchar | 64 | 是 | 否 | 密码 |
| 10 | email | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint | | 是 | 否 | 邮箱认证:(0 未认证 |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp | | 是 | 否 | 创建时间 |
表 4-22 user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|
| 1 | group_id | mediumint | | 是 | 是 | 用户组 ID |
| 2 | display | smallint | | 是 | 否 | 显示顺序 |
| 3 | name | varchar | 16 | 是 | 否 | 名称 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | | 是 | 否 | 来源 ID |
| 8 | register | smallint | | 否 | 否 | 注册位置 |
| 9 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 10 | update_time | timestamp | | 是 | 否 | 更新时间 |
表 4-23 user_group(用户组)
第 5 章 系统实现
5.1 普通用户主要功能实现
5.1.1 用户注册
普通用户注册:点击注册,进入注册页面,填写好账号、密码、确认密码、昵称、邮箱、身份:普通用户、用户姓名、用户性别、用户电话等字段值,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。

图 5-1 注册界面
5.1.2 用户登录
用户登录:点击'登录'按钮,输入用户名、密码、验证码登录系统,登录时前端会自动校验用户名与密码以及该用户是否审核通过,审核通过的用户输入正确登录成功,输入错误会有提示信息。

图 5-2 登录界面
5.1.3 首页
首页:用户访问系统首页,查看热门拍品、最新拍卖、公告轮播,并可通过搜索框或分类导航快速查找商品。

图 5-3 首页界面
5.1.4 拍卖公告
拍卖公告:用户可浏览系统发布的拍卖规则、公告和活动通知,支持按时间或类别筛选查看。

图 5-4 拍卖公告界面
5.1.5 拍卖资讯
拍卖资讯:用户可在拍品详情页提交咨询问题,卖家或客服回复后,用户可在'我的咨询'中查看历史记录。

图 5-5 拍卖资讯界面
5.1.6 投诉建议
投诉建议:用户可填写投诉表单(选择类型、上传证据),提交后可在'我的投诉'中跟踪处理进度。

图 5-6 投诉建议界面
5.1.7 拍品信息
拍品信息:用户可查看拍品详情(图文介绍、当前价、竞拍记录),参与出价,并收藏或关注感兴趣的商品。

图 5-7 拍品信息界面
5.1.8 个人中心
个人中心:在个人中心模块,用户可以查看个人首页(包含账户概览、消息通知和系统提醒),查看竞拍信息(当前参与的拍品及出价记录)并支持在规定时间内取消出价,查询订单信息(所有成交订单列表)及订单状态(支付和物流情况),跟踪投诉建议的处理进度,管理收藏的拍品和商家(可取消收藏),以及对已成交拍品进行评论管理(查看或删除评价)。

图 5-8 个人中心界面
5.2 卖家用户主要功能实现
5.2.1 用户注册
卖家用户注册:点击注册,进入注册页面,填写好账号、密码、确认密码、昵称、邮箱、身份:卖家用户、用户姓名、用户性别、用户电话等字段值,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。

图 5-9 注册界面
5.2.2 用户登录
用户登录:点击'登录'按钮,输入用户名、密码、验证码登录系统,登录时前端会自动校验用户名与密码以及该用户是否审核通过,审核通过的用户输入正确登录成功,输入错误会有提示信息。

图 5-10 登录界面
5.2.3 首页
首页:用户访问系统首页,查看热门拍品、最新拍卖、公告轮播,并可通过搜索框或分类导航快速查找商品。

图 5-11 首页界面
5.2.4 拍卖公告
拍卖公告:集中展示平台发布的各类公告,卖家可随时查阅最新拍卖规则和注意事项,确保交易合规。

图 5-12 拍卖公告界面
5.2.5 拍卖资讯
拍卖资讯:提供买卖双方即时沟通渠道,卖家可及时解答买家疑问,所有咨询记录完整保存便于后续跟进。

图 5-13 拍卖资讯界面
5.2.6 投诉建议
投诉建议:卖家可随时反馈交易问题或平台建议,系统全程记录处理进度,确保问题得到及时响应和解决。

图 5-14 投诉建议界面
5.2.7 拍品信息
拍品信息:全面展示商品详情,包括高清图片、详细描述和竞价情况,支持多种筛选方式,方便卖家管理商品和了解市场动态。

图 5-15 拍品信息界面
5.2.8 个人中心
卖家用户的个人中心模块主要包含:个人首页集中展示账户概览、消息通知和系统提醒;拍品信息模块支持编辑商品描述、价格等关键信息;竞拍信息实时显示参与竞拍的拍品及出价记录;提供在规定时间内取消已出价格的功能;订单信息模块展示所有成交订单列表;订单状态功能可查看支付状态和物流信息;投诉建议板块可查询历史提交记录及处理状态;8)收藏管理功能支持管理收藏的拍品和商家,可随时取消收藏;评论管理模块允许查看和删除对已成交拍品的评价。

图 5-16 个人中心界面
5.3 管理员模块主要功能实现
5.3.1 后台首页
后台首页:后台首页集中展示平台核心运营数据,包含交易统计饼状图、用户增长趋势图、拍品分类分布图等多种可视化图表,支持按不同时间维度筛选查看。

图 5-17 后台首页界面图
5.3.2 系统用户管理
系统用户管理中系统提供完整的用户管理功能,包括管理员、普通用户、卖家用户三种角色的权限管理。

图 5-18 系统用户管理界面
5.3.3 拍品类型管理
管理员可维护多级拍品分类体系,包含拍品分类列表和分类添加功能。分类列表展示所有现有分类,支持查看详情;分类添加功能允许新建分类并设置相关属性参数。

图 5-19 拍品类型管理界面图
5.3.4 拍品信息管理
拍品信息管理模块包含拍品信息列表和添加功能。列表展示平台所有拍品,支持多条件筛选,可查看详情、用户评论并进行审核;添加功能允许管理员手动录入拍品信息。

图 5-20 拍品信息管理界面图
5.3.5 竞拍信息管理
竞拍信息管理模块管理员可实时监控平台所有竞拍活动,查看详细出价记录,检测异常竞价行为,并根据需要调整竞拍规则参数,确保竞拍过程公平有序。

图 5-21 竞拍信息管理界面图
5.3.6 取消出价管理
取消出价管理模块系统记录所有用户取消出价的操作,管理员可查看取消记录,审核取消理由的合理性,设置取消规则限制,并对频繁取消的用户进行标记管理。

图 5-22 取消出价管理界面图
5.3.7 订单信息管理
订单信息管理模块集中管理平台所有交易订单,管理员可查看订单详细信息,处理交易纠纷,审核佣金结算,支持按多种条件筛选查询和批量导出操作。

图 5-23 订单信息管理界面图
5.3.8 订单状态管理
管理员可追踪订单全生命周期状态,包括支付状态、物流信息等,系统提供异常状态预警功能,支持手动干预特定订单状态。

图 5-24 订单状态管理界面图
5.3.9 系统管理
系统管理模块中的轮播图功能主要用于首页广告展示,支持管理员上传、排序和定时发布多张宣传图片。通过后台管理界面可灵活配置图片的展示顺序、跳转链接和有效期限,并实时预览前端显示效果。

图 5-25 系统管理界面图
5.3.10 留言管理
留言管理模块主要用于处理用户提交的投诉与建议。管理员可查看、分类和回复用户反馈,跟踪处理进度,并将结果通知用户。系统记录完整沟通记录,支持按状态筛选和关键词搜索,确保用户问题得到及时响应和有效解决。

图 5-26 留言管理界面图
5.3.11 拍卖公告管理
拍卖公告管理模块中管理员可创建、编辑和发布各类拍卖公告,支持公告分类、优先级设置和定时发布,重要公告可设置强制弹窗提醒,确保信息传达及时有效。

图 5-27 拍卖公告管理界面图
5.3.12 资源管理
资源管理模块主要是管理员负责管理拍卖资讯的发布和分类,支持资讯编辑、分类设置和排序功能,方便管理员维护平台信息。

图 5-28 资源管理界面图
第 6 章 系统测试
6.1 测试目的
在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。
测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。
6.2 测试用例
用户登录功能测试:
| 用例名称 | 普通用户登录系统 |
|---|
| 目的 | 测试用户通过正确的用户名和密码可否登录功能 |
| 前提 | 未登录的情况下 |
| 测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
| 预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
| 实际结果 | 实际结果与预期结果一致 |
竞拍信息功能测试:
| 用例名称 | 查看竞拍信息 |
|---|
| 目的 | 测试用户查看当前竞拍商品信息的功能 |
| 前提 | 用户登录 |
| 测试流程 | 1. 进入'我的竞拍'页面 2. 选择要取消的出价记录 |
| 预期结果 | 1. 正确显示所有竞拍商品列表 2. 可查看商品详情(包括当前价格、出价记录等) |
| 实际结果 | 实际结果与预期结果一致 |
卖家添加拍品信息测试:
| 用例名称 | 添加拍品信息 |
|---|
| 目的 | 测试卖家添加新拍品的功能 |
| 前提 | 用户正常登录情况下 |
| 测试流程 | 1. 进入'我的拍品'页面 2. 点击'添加拍品'按钮 3. 填写拍品信息(名称、描述、起拍价等) 4. 上传拍品图片 5. 点击提交按钮 |
| 预期结果 | 1. 成功提交拍品信息 2. 显示'提交成功,等待审核'提示 |
| 实际结果 | 实际结果与预期结果一致 |
拍品信息搜索功能测试:
| 用例名称 | 拍品信息搜索测试 |
|---|
| 目的 | 测试拍品信息搜索功能 |
| 前提 | 无 |
| 测试流程 | 1. 在搜索框输入关键词(如拍品名称、分类等) 2. 点击搜索按钮或按回车键 |
| 预期结果 | 1. 显示包含关键词的拍品列表 2. 列表包含拍品名称、图片、当前价格等基本信息 |
| 实际结果 | 实际结果与预期结果一致 |
拍品信息删除功能测试:
| 用例名称 | 拍品信息删除测试 |
|---|
| 目的 | 测试卖家删除已发布拍品信息的功能 |
| 前提 | 卖家用户已登录系统,并进入'我的拍品'管理页面 |
| 测试流程 | 1. 在拍品列表中选择需要删除的拍品 2. 点击'删除'按钮 3. 在确认弹窗中点击'确定' |
| 预期结果 | 1. 系统提示'删除成功' 2. 该拍品从列表中移除 3. 前端页面不再展示该拍品信息 |
| 实际结果 | 实际结果与预期结果一致 |
卖家拍卖公告功能测试:
| 用例名称 | 发布拍卖公告测试 |
|---|
| 目的 | 测试卖家发布拍卖公告的功能 |
| 前提 | 卖家用户已登录系统 |
| 测试流程 | 1. 进入'拍卖管理'-'公告发布'页面 2. 填写公告标题、内容、有效期等信息 3. 点击'发布'按钮 |
| 预期结果 | 1. 系统提示'公告发布成功' 2. 新公告显示在公告列表中 |
| 实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
| 用例名称 | 密码修改测试用例 |
|---|
| 目的 | 测试管理员密码修改功能 |
| 前提 | 管理员用户正常登录情况下 |
| 测试流程 | 1)管理员密码修改并完成填写。2)点击进行提交。 |
| 预期结果 | 使用新的密码可以登录 |
| 实际结果 | 实际结果与预期结果一致 |
6.3 测试结果
在本次主要测试用户登录、竞拍信息、卖家添加拍品信息、拍品信息搜索功能、拍品信息删除功能、卖家发布拍卖公告功能和管理员密码修改功能流程操作。验证所有操作都能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保存正确。
结论
本在线拍卖系统基于 Java 技术栈成功实现,采用 Spring Boot 框架构建,充分体现了现代 Web 应用开发的高效性与可靠性。系统通过模块化设计实现了完整的拍卖业务流程,包括用户管理、拍品展示、竞价交易、订单处理等核心功能模块,为传统拍卖行业提供了专业的数字化解决方案。
系统架构设计合理,运用了微服务理念与 RESTful API 规范,确保了系统的高扩展性与可维护性。前端采用响应式设计,适配多终端设备,为用户提供了流畅的交互体验。通过引入 Redis 缓存、Elasticsearch 搜索引擎等技术,显著提升了系统的响应速度与查询效率,有效支撑了高并发场景下的稳定运行。
在安全性方面,系统实现了完善的权限控制机制,采用 JWT 进行身份认证,结合数据加密与防 SQL 注入措施,全面保障了用户数据与交易安全。通过详细的日志记录与审计功能,为系统运维与异常排查提供了有力支持。
本项目的成功实施不仅验证了 Java 技术栈在电子商务领域的适用性,也为拍卖行业的数字化转型提供了实践参考。系统通过智能推荐、数据分析等增值功能,帮助用户发现潜在价值,为拍卖参与者创造了更大的商业机会。该成果既体现了开发者的专业技术能力,也展现了互联网技术与传统行业深度融合的创新潜力,为相关领域的系统开发提供了可复用的技术方案与实践经验。
参考文献
- 田松涛,段元梅。基于 SpringBoot 的线上商城平台设计 [J].无线互联科技,2022,19(01):56-57.
- 姚佰允,张豪,杜瑞庆。基于 SpringBoot 与 Vue 的学院人员管理系统设计与实现 [J].无线互联科技,2025,22(02):78-83.
- 谢海明,张佐中,林顺福。基于自动化技术的 MySQL 故障处理系统的设计与实现 [J].电脑知识与技术,2024,20(33):73-75.DOI:10.14004/j.cnki.ckt.2024.1721.
- 陈芳。基于 MySQL 数据库的数据录入系统设计研究 [J].科技资讯,2024,22(20):35-37.DOI:10.16661/j.cnki.1672-3791.2405-5042-7194.
- 谢帅虎。基于 Java 语言的翻页功能接口程序设计与实现 [J].数字通信世界,2024,(11):92-94.
- 贾琴.Java 编程语言的应用策略分析 [J].集成电路应用,2024,41(10):84-85.DOI:10.19339/j.issn.1674-2583.2024.10.034.
- 张靖旭,曾晓晶,郭玉坤。基于 SpringBoot 的校园植物信息网建设研究 [J].信息与电脑 (理论版),2024,36(22):119-121.
- 戴亚哲,李尤,赵利宏,等。基于 SpringBoot+Vue 的文旅平台设计与研究 [J].无线互联科技,2024,21(21):70-72.
- 朴明,邱翠花,苗子。基于 SpringBoot+小程序的信息采集系统设计与实现 [J].电子技术,2024,53(10):47-49.
- 刘建,何冬辉,刘维,等。国产通用计算机性能测试系统的设计与验证 [J].计算机测量与控制,2024,32(09):44-50.DOI:10.16526/j.cnki.11-4762/tp.2024.09.007.
- 姜顺荣,时坤,周勇。基于差分隐私的联盟链上双向能源拍卖隐私保护 [J].电子学报,2024,52(09):3023-3037.
- 张桂玉,白露莹,牛佳宁,等。基于组合拍卖的确定性 IP 网络在线调度机制 [J].北京邮电大学学报,2024,47(05):22-28.DOI:10.13190/j.jbupt.2023-191.
- 施若男。基于理性秘密共享的电子拍卖方案研究 [D].贵州大学,2024.DOI:10.27047/d.cnki.ggudu.2024.002186.
- Zhang J .Analysis of China's Cross-border Bankruptcy Property Online Auction Rules -- From the Perspective of Chinese Mainland and Hong Kong Cross-border Bankruptcy Recognition and Assistance[J].Science of Law Journal,2023,2(7):
- 李锦。基于洋葱路由的匿名在线拍卖方案的研究和应用 [D].郑州大学,2023.
- Juan W ,Junjun Z ,Liukai Y , et al.Distributed Reputation-Distance iterative auction system for Peer-To-Peer power trading[J].Applied Energy,2023,345
- 邓丽婷。基于强化学习的在线鲜花序贯拍卖批量优化策略研究 [D].电子科技大学,2023.DOI:10.27005/d.cnki.gdzku.2023.005274.
- Prosper F E ,Simon N K ,Moungnutou I M , et al.Design and economic analysis of an on-site electrolytic medical oxygen and solar electricity production system in a sunny country[J].Energy for Sustainable Development,2023,72314-325.
- 李明懋,李愍。基于微信小程序的电脑配件在线拍卖系统设计与实现 [C]//中国计算机学会,全国高等学校计算机教育研究会,教育部高等学校计算机类专业教学指导委员会.2022 中国高校计算机教育大会论文集。南宁学院高博软件学院;,2022:31-38.DOI:10.26914/c.cnkihy.2022.092696.
- 李斌。基于社交网络的拍卖机制设计理论研究 [D].电子科技大学,2021.DOI:10.27005/d.cnki.gdzku.2021.000236.