摘 要
近年来互联网络的迅猛发展和电子终端设备的普及,赋予了各行业充足的发展空间。游戏交易平台相比于传统信息技术,时效性是它最大的特色,已经在电子娱乐、经济等中发挥着举足轻重的作用。更是短时间内迅速扩大了线上管理系统的规模。尽管事业单位已经有了很大程度的发展,但在游戏交易平台管理领域上却少有建树,本文通过对市面上常见的线上管理系统与现实生活中结合问题的讨论,从一个游戏交易平台角度进行需求分析,提供一些新的思路,并尝试做一些简单的实现。
关键词:游戏交易平台;springboot框架;Java语言;
Abstract
In recent years, the rapid development of the Internet and the popularity of electronic terminal equipment have given various industries ample space for development. Compared with traditional information technology, timeliness is its biggest feature, and it has played a pivotal role in electronic entertainment and economy. It also rapidly expanded the scale of online management system in a short time. Although public institutions have developed to a great extent, there are few achievements in the field of game trading platform management. This paper discusses the problems of combining common online management systems in the market with real life, analyzes the needs from the perspective of a game trading platform, provides some new ideas, and tries to do some simple implementation.
Keywords: Game trading platform; springboot framework; Java language;
目 录
3.1.3 环境运行可行性分析............................................................................... 11
5 游戏交易平台的设计与实现部分.............................................................................. 23
1 绪 论
1.1课题研究背景及意义
一个专业且经过良好测试的游戏交易平台能够提供包括游戏币、账号、装备、道具等多种交易服务,极大地丰富了玩家的游戏体验,并提高了游戏的可玩性。此外,高效的交易流程对于游戏平台的发展至关重要,因为它可以创造更多的交易价值,吸引更多的用户参与进来。通过利用AI技术提高客服效率以及智能监控交易流程,可以进一步提升平台的服务质量和安全性。随着网络技术的飞速发展,人们在网上进行娱乐和社交活动的时间越来越多。网络游戏作为其中的一个重要部分,已经变得非常普及。随之而来的是对于游戏内虚拟物品如道具、装备等的交易需求也日益增长。这些虚拟物品往往与真实货币挂钩,具有一定的价值。因此,开发一个有效的游戏交易平台不仅可以为用户提供便利,确保交易的安全性,同时也可以帮助遏制盗号等违法行为[1]。
研究并实现一个高效、安全的游戏交易平台,不仅能够促进网络游戏市场的健康发展,还能为玩家带来更加丰富和便捷的游戏体验,同时为相关研究提供新的研究方向和技术应用[2]。
1.2研究现状
网络游戏已成为新兴的娱乐产业,其中虚拟物品的交易非常活跃,形成了虚拟世界与现实世界之间的财富转换通道。这种交易呈现出一些新特点,如交易的不稳定性,虚拟货币与现实货币之间的兑换关系,以及运营商以销售虚拟物品作为主要营收形式等。从全球市场的角度来看,尽管2021年全球游戏市场收入有所下降,但整体市场规模仍然庞大,这表明虚拟物品交易在全球范围内具有广泛的市场基础。中国已经成为全球最大的虚拟物品交易市场[3]。这得益于中国庞大的游戏行业市场规模和游戏玩家人数。截至2022年末,中国游戏玩家人数达到6.64亿,虽然较2021年的峰值有所下降,但用户基数依然庞大。网络游戏虚拟物品交易市场总体保持增长态势。从2014年的268亿元增长到了2021年的672.3亿元,这一增长趋势显示了虚拟物品交易市场的潜力和活力。
游戏交易平台在研究和实践中都显示出了其重要性和发展潜力。随着技术的进步和市场的扩大,游戏交易平台将继续发展,同时也需要面对和解决伴随而来的挑战和问题[4]。
1.3本论文的主要论文结构
第一章,绪论。本章节大致描述了该课题的研究背景和意义,研究现状。
第二章,开发技术:系统主要使用了JAVA语言,springboot框架,B/S模式和myspl数据库,并对此做了介绍。
第三章,系统分析:包括了系统总体结构、对系统的性能、功能、流程图进行了分析[5]。
第四章,系统设计:对软件功能模块和数据库进行详细设计。
第五章,系统总体设计:对系统、管理员和注册用户、卖家用户的功能进行描述[5]。
2系统相关技术
该网站建立在B/S三层架构之上,前台使用VUE作为开发框架,后台结合springboot框架、MySQL数据库管理系统对数据进行管理,语言选择Java,开发环境选用Eclipse,应用服务器采用Tomcat等。
2.1 Java语言简介
Java,目前Internet中最流行的编程语言之一。它吸取了C++编程语言的长处的同时还摒弃了许多复杂抽象,不易掌握的问题,使得Java编程语言不但功能强大而且使用方便。
Java技术在使用过程中有优势也有劣势。其优势在于,因为Java本身相对严格的语法,所以可以强化程序员在编程时的规范性问题,不容易出现明显结构错乱的问题。因此,规范将是Java的巨大优势。但是它也有劣势,就是不太适应互联网模式下的不断修改,总是修改容易破坏架构。
面向对象的三种特征:封装,继承和多态。
密封:主要是指对数据信息的隐藏,通过把数据信息类别与通过数据信息的功能密封在一块,让数据信息被保存在数据信息类别的里面,只留下一部分可以对外的接口,以便于尽可能的地隐蔽里面的数据信息。因此好处也就十分的明显就是实现了专业的分工,同时也隐藏了信息,保证了安全。
继承:这就像是实际人生中的父子关系一样,孩子要承袭父母的特点。类似的,一个种类同时也继承了另一个种类的某些特性,其父属之间有一种特别的一般性的联系,是is-a的关系,从根本上来说都属于同一个实体。
多态:多态系统是以封装和继承为基础的。由于所传输的父类对象能够引入各种各样的子类对象,因而能够显示出各种各样的现象,给多态的编程带来了良好的扩展。
Spring Boot的开发团队来自美国的Pivotal公司,是2013年研发的免费、轻量级、开源的系统框架。它集合、默认了许多框架的使用方法,是基于原有的框架的功能的又一次进化,所以从这个角度看,它就又是一个旧的框架。
Spring boot有以下几个特点:低嵌入式设计,代码污染性低;不是只局限于Spring,开发者可以随意的选择Spring框架的任意几个部分;使程序的测试变得更加简单与方便;没有独立的Web服务器需要,所以不再需要启动Tomcat,Glass Fish。
2.3 MySQL数据库
MySQL是一个多用户、多线程的SQL数据库服务器。MySQL不仅仅能够有效地对数据库的数据进行增、删、改、查,还可以做其他更多的事情。MySQL是关系型数据库操作的基本操作语言,它可以保存实体之间的关系,即存储数据,比如用来存储用户、商品或订单,所以特别适合那些数据库和网站开发背景的工作。
MySQL数据库特点:
(1)保证源代码编译器的可移植性和灵活性。
(2)支持多种操作系统包括AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell‘s Netware、OpenBSD系统、OS/2卷、Solaris、Windows等。
(3)提供不同编程语言的接口,C、C++、Python和PHP、Perl、PHP、Ruby等编程语言。
(4)支持使用CPU资源的多线程。
(5)查询速度快。算法优化了查询语句,可靠地提高了搜索速度。
(6)MySQL语言灵活。作为嵌入式语言能够嵌入到其他语言程序中,它的语法结构基本一致,提供了极大的灵活性和方便性。
(7)高度非过程化。在访问数据库时,没有必要一步一步向计算机发送指令去完成任务,只需要用MySQL语句描述并且命令就可以了,数据库会自动完成全部工作。
2.4 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。
2.5 Tomcat简介
Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技术的开源实现。因为可以通过HTTP提供HTML页面等静态内容的请求访问,所以是一个WEB服务器。
Tomcat 目录结构作用如表2-1所示
表2-1 tomcat目录结构表
序号 | 目录名称 | 作用 |
1 | bin | 存放启动和关闭tomcat脚本 |
2 | conf | 存放不同的配置文件(server.xml和web.xml) |
3 | doc | 存放Tomcat文档 |
4 | lib | 存放Tomcat运行需要的库文件(JARS) |
5 | logs | 存放Tomcat执行时的LOG文件 |
6 | src | 存放Tomcat的源代码 |
7 | webapps | Tomcat的主要Web发布目录(包括应用程序示例) |
8 | work | 存放jsp编译后产生的class文件 |
3系统需求分析
需求分析在系统开发中有着十分重要的作用。软件项目凭借软件工程的思想和步骤可以大大的提高开发效率,缩短软件开发周期,保证了软件项目的质量。需求分析作为软件工程方法中的一步是至关重要的[6]。软件需求工程是一门分析并记录软件需求的学科。需求分析简单的来说就是用户需要什么,系统需要什么,对此进行问题的列举,等级的排列,需要缜密的思分析和大量的调研[7]。
3.1可行性研究
通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和环境运行可行性分析、法律可行性分析等方面[8]。
3.1.1技术可行性分析
技术可行性分析基于现在web水平、软硬件水平能否开发出游戏交易平台,经过对市面常见游戏交易平台了解研究对比,以及此次游戏交易平台的估测,预计在技术方面开发本游戏交易平台是可行的。第一,JAVA技术发展成熟且市面十分流行,由JAVA完成本游戏交易平台的开发、调试,结合市面成熟的集成开发软件辅助开发,且本电脑配置win10系统,足够满足本次游戏交易平台开发。第二,验证技术发展迅速,使得本游戏交易平台安全性很高。综上所诉,开发本游戏交易平台完全可行[9]。
3.1.2 经济可行性分析
经济可行性分析,就是分析在现有经济情况下能否完成本游戏交易平台的开发。下面对本系统开发、运行、维护的相关费用评估,以及投入到社会完成游戏交易平台管理可能费用进行估算。网络资源丰富,本游戏交易平台只需使用任选一开源服务器即可,此方面无需投入费用。开发阶段,由于本游戏交易平台不属于大型系统,常规的电脑就可完成开发,不用购置相关硬件设备。软件方面,本游戏交易平台只需使用网上免费下载的软件即可完成开发,这些软件在使用时简单易懂,无需培训,因此此方面也无需投入费用。由于本游戏交易平台不属于大型系统,运行时候电费可以忽略不记。游戏交易平台作为自己毕设,由本人开发即可完成,无需人力费用。综上,整个系统开发花费很少,所以本游戏交易平台在经济上可行[10]。
3.1.3 环境运行可行性分析
软件在能否在客户端使用并发挥效益的制约关键就是运行环境。计算机普及,现在人们接触各类系统频繁,日常生活使用计算机无障碍。并且该游戏交易平台页面简单,通过显示页面引导即可完成本游戏交易平台删除、增加、修改等功能。对计算机要求低,门槛低,通过常用浏览器即可使用本游戏交易平台。因此在运行环境方面,本游戏交易平台易于接受,是可行的[11]。
3.1.4 法律可行性分析
法律可行性分析,即分析本游戏交易平台是否与各类法律相悖。本游戏交易平台使用市面开源免费软件开发,且作为个人毕设,无商用,均为本人自主开发,并且页面设计合理,发布的信息要求符合常规。整个系统无抵触法律法规的问题。因此在法律上,本游戏交易平台可行[12]。
3.2系统用例图
用例图,即以用户视角来描述本游戏交易平台的功能,前面已经分析了本游戏交易平台的总体设计,讨论了各个方面的需求。下面,将以管理员、注册用户和卖家用户为例。
管理员的用例图,如图3-1所示。
图3-1管理员用例图
卖家用户的用例图,如图3-2所示。
图3-2卖家用户用例图
注册用户的用例图,如图3-3所示。
图3-3注册用户用例图
3.3系统流程设计
3.3.1 系统开发流程
游戏交易平台的设计和开发,首先要对用户的实际使用需求和具体情况进行细致的分析,分析出系统要完成的全部功能,然后再针对整个系统的工作流程和功能进行设计,力求每个模块都能够达到用户的要求,最后通过测试来解决问题,保证系统的稳定和正常的运转,本系统的开发流程如图3-4所示。
图3-4系统开发流程图
3.3.2 用户登录流程
登录流程实现了管理员和其他用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-5所示。
图3-5登录流程图
3.3.3 系统操作流程
系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。
同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-6所示。
图3-6系统操作流程图
3.3.4 添加信息流程
系统的正常运行离不开数据的支撑,因此,在本系统中添加了数据插入功能,数据库中数据的缺失,会直接影响到数据的查询结果,查询结果错误又会导致逻辑处理出现偏差,最终导致系统性错误或故障,所以在对系统进行数据添加操作时,必须要对数据进行合法性校验,确定此条数据是否有惟一的主关键字和字段是否允许为空等等,若数据库表中不允许某字段为空,而程序没有进行该字段非空逻辑校验,那么就会出现数据存储失败,可能因此造成严重系统后果。添加信息流程如图3-7所示。
图3-7添加信息流程图
3.3.5 修改信息流程
因为使系统的使用者是人,所以难免会有疏忽,从而造成系统输入的信息有误。或者由于其他原因导致数据发生改变,使得必须对系统内的数据进行相应的调整,所以在程序运行中,数据的修改操作是不可缺少的重要环节。
在进行数据更新时,必须要有一个惟一的主关键字,以便数据库能够查询到相应的数据;另外,还必须遵守数据插入过程的操作规范,以确保数据的正确性。修改信息流程图如图3-8所示。
图3-8修改信息流程图
3.3.6 删除信息流程
删除操作在系统中并非是必须的,可根据用户及系统的需要来决定是否添加删除功能,删除操作就是使用delete语句将数据库中的某一匹配数据删除,因为此操作会导致用户数据丢失,所以为了避免使用者误按删除键,应在用户点击删除按钮时添加一个提示确认弹窗,当用户确定要删除时,再进行数据库的操作,并且在删除操作完成后要对用户进行反馈。删除信息流程图如图3-9所示。
图3-9 删除信息流程图
4系统设计
4.1系统功能结构图
系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。游戏交易平台的整个设计结构如图4-1所示。
图4-1系统功能结构图
4.2系统数据库设计
对于游戏交易平台而言,数据库中最核心的数据就是信息,并且有许多其他关联数据都储存于数据库中。随着时间推移,将发布大量信息于本系统中,届时数据库中也将蕴藏海量数据。一个优秀的数据库设计方案能在保证系统能够高效处理大量数据的同时保证系统的安全性。因此,在本游戏交易平台设计方案中将数据库的设计摆在重要位置,将数据库设计视为系统设计的重要内容。
4.2.1数据库E-R图
E-R图,是通过用户的想法将一些数据形成一种关系结构,这种关系结构也可视为一种概念模型,而数据库的数据处理可以通过概念模型表现直观反映出来。由于E-R图是从用户的角度设立的模型,因此系统E-R图具有很强的实践意义。
卖家用户信息E-R图如图4-2所示:
图4-2卖家用户信息E-R图
注册用户信息E-R图如图4-3所示:
图4-3注册用户信息E-R图
商品中心E-R图如图4-4所示:
图4-4商品中心E-R图
交易记录E-R图如图4-5所示:
图4-5交易记录E-R图
游戏交易平台总体E-R图如图4-6所示:
图4-6游戏交易平台总体E-R图
4.3数据库表结构
在本系统中,采用的是目前比较主流的MySQL数据库,并且设计了几个数据表如下所示:
表4-1:(收藏)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-2: (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表4-3:(纠纷处理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | dispute_resolution_id | int | 10 | 0 | N | Y | 纠纷处理ID | |
2 | submit_account | int | 10 | 0 | Y | N | 0 | 提交账号 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | contact_information | varchar | 16 | 0 | Y | N | 联系方式 | |
5 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
6 | appeal_time | datetime | 19 | 0 | Y | N | 申诉时间 | |
7 | appeal_content | text | 65535 | 0 | Y | N | 申诉内容 | |
8 | backend_reply | text | 65535 | 0 | Y | N | 后台回复 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-4: (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表4-5:(公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-6: (点赞)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表4-7:(商品中心)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | product_center_id | int | 10 | 0 | N | Y | 商品中心ID | |
2 | publish_account | int | 10 | 0 | Y | N | 0 | 发布账号 |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | product_number | varchar | 64 | 0 | Y | N | 商品编号 | |
5 | product_images | varchar | 255 | 0 | Y | N | 商品图片 | |
6 | product_type | varchar | 64 | 0 | Y | N | 商品类型 | |
7 | commodity_price | int | 10 | 0 | Y | N | 0 | 商品价格 |
8 | product_quantity | int | 10 | 0 | Y | N | 0 | 商品数量 |
9 | transaction_method | varchar | 64 | 0 | Y | N | 交易方式 | |
10 | release_time | datetime | 19 | 0 | Y | N | 发布时间 | |
11 | details_introduction | text | 65535 | 0 | Y | N | 详情介绍 | |
12 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
13 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
14 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
15 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-8: (商品分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | product_classification_id | int | 10 | 0 | N | Y | 商品分类ID | |
2 | classification_name | varchar | 64 | 0 | Y | N | 分类名称 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-9: (注册用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registered_users_id | int | 10 | 0 | N | Y | 注册用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | contact_information | varchar | 16 | 0 | Y | N | 联系方式 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-10: (卖家用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | seller_customers_id | int | 10 | 0 | N | Y | 卖家用户ID | |
2 | seller_name | varchar | 64 | 0 | Y | N | 卖家姓名 | |
3 | seller_gender | varchar | 64 | 0 | Y | N | 卖家性别 | |
4 | sellers_phone_number | varchar | 16 | 0 | Y | N | 卖家电话 | |
5 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-11:(轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表4-12:(交易方式)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | transaction_method_id | int | 10 | 0 | N | Y | 交易方式ID | |
2 | classification_name | varchar | 64 | 0 | Y | N | 分类名称 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表4-13: (交易记录)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | transaction_records_id | int | 10 | 0 | N | Y | 交易记录ID | |
2 | purchase_account | int | 10 | 0 | Y | N | 0 | 购买账号 |
3 | publish_account | int | 10 | 0 | Y | N | 0 | 发布账号 |
4 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
5 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
6 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
7 | product_number | varchar | 64 | 0 | Y | N | 商品编号 | |
8 | product_type | varchar | 64 | 0 | Y | N | 商品类型 | |
9 | commodity_price | varchar | 64 | 0 | Y | N | 商品价格 | |
10 | transaction_method | varchar | 64 | 0 | Y | N | 交易方式 | |
11 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
12 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 购买数量 |
13 | total_cost | varchar | 64 | 0 | Y | N | 总计费用 | |
14 | purchase_time | datetime | 19 | 0 | Y | N | 购买时间 | |
15 | note_details | text | 65535 | 0 | Y | N | 备注详情 | |
16 | merchant_response | text | 65535 | 0 | Y | N | 商家回复 | |
17 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
18 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
19 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
20 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
5 游戏交易平台的设计与实现部分
5.1注册登录界面
用户需要输入正确的用户名和密码后才可以登录系统并正常使用。如果是第一次使用的新用户,应当先进行账户的注册。注册和登录的界面应当设置便捷的跳转按钮。当用户输入的信息不正确时应当进行相应的提示。如登录时输入的账户有误,应当提示用户该账户不存在。同样的,操作时应该提供积极的反馈,避免用户重复操作。如新用户注册账户时,如果注册成功应该提示“注册成功”的消息栏。
当用户成功登录后,应该进入到系统的导航界面。
登陆界面利用表单输入,点击登录按钮会将表单通过相关接口提交给后台,后台验证通过会返回用户的对应Token信息,将Token信息存储到浏览器Session Stroge中,保证浏览器可以判断用户是否未登录状态。反之,如果该用户不存在,后台会返回对应的提示信息。
注册界面由用户名,密码组成,填写完整后通过相关接口提交,后台会将该注册用户信息存入Mysql数据库中,建立相关的表结构,返回注册成功code。
5.2前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到游戏交易平台的导航条显示首页、网站公告、游戏资讯、商品中心、纠纷处理、客服、我的帐户、个人中心等。系统首页界面如图5-1所示:
图5-1 系统首页界面
当用户进入前台系统进行相关操作前必须先注册登录,在注册页面填写用户账号、密码等信息,前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。用户注册界面如图5-2所示:
图5-2 用户注册界面
用户登录,用户在登录页面通过填写账号、密码,完成登录,在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端生成一个令牌(如JWT)并返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示:
图5-3用户登录页面
用户点击商品中心,在商品中心页面的输入栏填写商品名称、商品编号、商品类型,进行查询,然后还可以查看发布帐号、商品名称、商品编号、商品类型、商品价格、商品数量、交易方式、发布时间、点赞数等信息,如有需要可以进行购买、收藏、点赞或者评论等操作。如图5-4所示:
图5-4商品中心页面
用户点击纠纷处理,在纠纷处理页面填写提交帐号、用户姓名、联系方式、订单编号、申诉时间、申诉内容等信息进行提交等操作。如图5-5所示:
图5-5纠纷处理页面
在个人中心页面可以对个人首页、交易记录、纠纷处理、收藏进行操作。如图5-6所示。
图5-6个人中心界面
5.3前台卖家用户功能模块
后台卖家用户注册、登录,在注册、登录页面输入详细信息进行注册、登录操作,如图5-7所示。
图5-7卖家用户注册、登录界面
卖家用户登录到系统主页面,主要功能包括对首页、网站公告、游戏资讯、商品中心、纠纷处理、客服、我的帐户、个人中心等进行操作。卖家用户主页面如图5-8所示:
图5-8卖家用户主界面
在个人中心页面可以对个人首页、商品中心、交易记录、收藏进行操作。如图5-9所示。
图5-9个人中心界面
5.4前台管理员功能模块
前台管理员登录,在登录页面选择需要登录的角色,在正确输入用户名、密码、验证码后,点击登录操作;如图5-10所示。
图5-10前台管理员登录界面
管理员进入系统前台,主要功能包括对首页网站公告、游戏资讯、商品中心、纠纷处理、客服等进行操作,管理员在前台对客服聊天信息进行处理。管理员主页面如图5-11所示:
图5-11管理员主界面
5.5后台管理员功能模块
后台管理员登录,在登录页面选择需要登录的角色,在正确输入用户名、密码、验证码后,点击登录操作;如图5-12所示。
图5-12后台管理员登录界面
管理员进入系统主页面,主要功能包括对首页、系统用户、商品中心管理、交易记录管理、纠纷处理管理、商品分类管理、交易方式管理、系统管理、网站公告管理、资源管理等进行操作。管理员主页面如图5-13所示:
图5-13管理员主界面
注册用户信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写注册用户信息表单。这些注册用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除注册用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便注册用户信息功能可以看到最新的信息或相应的操作反馈。在注册用户信息页面的输入栏中输入用户姓名、用户性别、联系方式进行查询,可以查看到用户详细信息,并根据需要进行修改或者删除等操作;如图5-14所示。
图5-14用户管理界面
卖家用户信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写卖家用户信息表单。这些卖家用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除卖家用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便卖家用户信息功能可以看到最新的信息或相应的操作反馈。在卖家用户信息页面的输入栏中输入卖家帐号、卖家性别、卖家电话、审核状态进行查询,可以查看到卖家用户详细信息,并根据需要进行修改或者删除等操作;如图5-15所示。
图5-15卖家用户管理界面
管理员点击商品中心:在商品中心页面,可以对发布帐号、商品名称、商品编号、商品类型、商品价格、商品数量、交易方式等信息,进行查询、详情修改、审核或者删除等操作,如图5-16所示:
图5-16商品中心界面
管理员点击交易记录管理:在交易记录页面,可以对购买帐号、发布帐号、用户姓名、联系方式、商品名称、商品编号、商品类型、商品价格等信息,进行查询、修改详情、支付或者删除等操作,如图5-17所示:
图5-17交易记录管理界面
管理员点击纠纷处理管理:在纠纷处理页面,可以对提交帐号、用户姓名、联系方式、订单编号、申诉时间、申诉内容等信息,进行查询、添加、审核、后台回复或者删除等操作,如图5-18所示:
图5-18纠纷处理管理界面
管理员点击交易方式管理:在交易方式页面,可以对分类名称、创建时间、更新时间等信息,进行查询、修改详情、添加交易方式或者删除等操作,如图5-19所示:
图5-19交易方式管理界面
管理员点击系统管理:在系统管理页面,可以对轮播图管理等模块信息,进行搜索、添加、修改或者删除等操作,如图5-20所示:
图5-20系统管理界面
管理员点击资源管理:在资源管理可以对游戏资讯、资讯分类模块进行添加、修改详情或删除等操作,如图5-21所示:
图5-21资源管理界面
6系统测试
6.1系统测试的方法
(1)白盒测试法
所谓白盒测试是指一种以流程为基础的结构测试、逻辑驱动测试或以流程为基础的测试方式,也就是对系统的具体测试[13]。白箱试验是预先设置一个特殊的条件或者一个周期的用例,其目的是为了实现对该体系的内部构造进行穷举性的检测。在白盒测试期间,主要对下列系统程序进行如下试验:
(1)对系统程序中的全部单独的运行通路进行一次最小的试验;
(2)对两种情形下的“真”与“假”进行逻辑判断,至少进行一次;
(3)在一个系统周期的过程中,对它的周期和操作进行试验;
(4)检验系统内的资料架构是否有效。
(2)黑盒测试法
所谓的黑盒测试,就是根据一个已经存在的程序的功能架构,对其进行实验,以确定其全部的性能是否符合规定在使用黑箱试验方法进行系统程的检测时,将其视为一个完整的系统,而不能了解其所使用的是何种体系,而仅仅将其视为一个不可开启的箱子。采用“黑盒子”检测技术,可以对系统是否满足用户的要求进行检测,对系统的各项功能是否正常运行,对系统的数据是否进行了正确的检测和处理[14]。
使用了一个黑盒测试来检测下列的bug:
(1)对该过程进行初始化和结束时的差错;
(2)是否有系统接口出错;
(3)输入和输出的数据结果有无错误;
(4)对该数据库进行存取的过程中出现了故障;
(5)系统的功能是否有疏忽或错误;
综合以上的检测方式,并根据本系统的特性,采用黑盒测试,白盒测试作为辅助手段,综合检测该系统的各项功能和性能[15]。
结 论
本文介绍了一个使用方便,界面清晰的游戏交易平台的设计与实现。本系统已经实现了对系统用户、商品中心、交易记录、纠纷处理、商品分类、交易方式管理、系统、网站公告、资源等的综合管理,系统为管理者节省了精力和时间,简化了游戏交易平台管理建设中重要环节的管理难度,丰富了信息化的建设,符合信息时代的发展趋势。存储在系统中的数据也将对未来信息管理系统的发展提供数据支撑。
本文实现的系统具有功能实用、界面简单清晰、操作简单、安全稳定的优点。在设计实现上本系统采用了springboot快速开发接口,提升了开发效率、同时也保障了后续维护,易于扩展。使用MySQL轻量级数据库大幅度提升查询性能。这时对系统的要求也将越来越高,这要求我们不断探索新的需求,开发新的技术,与时俱进,实现更完善更智能的游戏交易平台。
参考文献
[1]熊祝青,仲其鑫,侯宪锋.基于JAVA平台的医院管理软件设计[J].中国新通信,2020,22(03):42-44.
[2]刘蕴倩. 基于JAVA网络课程管理系统的设计与实现[D].哈尔滨工业大学,2019.DOI:10.27061/d.cnki.ghgdu.2019.002052.
[3]许志明,瞿文政,陈俊填,王伟楠,万智萍.基于springboot平台的在线教育直播系统设计[J].计算机技术与发展,2019,29(02):216-220.
[4]张莞雪.基于在线教育环境下实时直播教学的思考[J].软件导刊(教育技术),2016,15(11):77-79.DOI:10.16735/j.cnki.jet.2020.11.028.
[5]王运武,王宇茹,洪俐,陈祎雯.5G时代直播教育:创新在线教育形态[J].现代远程教育研究,2021,33(01):105-112.
[6]赵梦媛.网络直播在我国的传播现状及其特征分析[J].西部学刊(新闻与传播),2020(08):29-32.DOI:10.16721/j.cnki.issn2095-6916.2020.08.011.
[7]张岩.“互联网+教育”理念及模式探析[J].中国高教研究,2019(02):70-73.DOI:10.16298/j.cnki.1004-3667.2019.02.13.
[8]焦建利,周晓清,陈泽璇.疫情防控背景下“在线购物商城”在线商城案例研究[J].中国电化教育,2020(03):106-113.
[9]杨海军,张惠萍,程鹏.高校在线教学探析[J].中国多媒体与网络教学学报(上旬刊),2020(04):194-196.
[10]邬大光.教育技术演进的回顾与思考——基于高校在线教学的视角[J].中国高教研究,2020(04):1-6+11.DOI:10.16298/j.cnki.1004-3667.2020.04.01.
[11]付卫东,周洪宇.挑战及应对策略[J].河北师范大学学报(教育科学版),2020,22(02):14-18.DOI:10.13763/j.cnki.jhebnu.ese.2020.02.004.
[12]卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2019,31(01):1-17.DOI:10.16337/j.1004-9037.2019.01.001.
[13]Yixin Qian. Problems Emerging in Online Education During Lockdown Period of COVID-19 Pandemic[J]. Journal of Educational Research and Policies,2021,4(1).
[14]Qu Xiaona. Application of Java Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).
[15]Bouamrane Karim,Matallah Houcine,Belalem Ghalem. Comparative Study Between the MySQL Relational Database and the MongoDB NoSQL Database[J]. International Journal of Software Science and Computational Intelligence (IJSSCI),2021,13(3).
致 谢
时光荏苒,四年的大学生活使我收获良多,感谢学校给我们提供了一个创新思维、思考问题和解决问题的平台,感谢老师们在过去给予我的知识和帮助。在这里我要向你们表达最真挚的谢意——感谢大家对我门课程教学的支持与鼓励!我想说的话:努力掌握专业知识、不断提高自己的综合素质。通过四年的学习和实验,老师不仅教会了我们知识,还培养了我们自主学习的能力,让我们可以用课堂上所学到的知识去钻研专业的其它方面。
从游戏交易平台的选择,到系统的详细设计,再到系统各个功能模块的编码,再到论文的撰写,作为一名没有实际开发经验学员,我的第一感觉就是不知从何说起,非常感谢老师们在系统架构设计、进度安排、关键技术等方面的宝贵经验和投入,让我备受鼓舞,顺利完成了课题。我相信在今后的工作中将会得到更多的收获!互联网时代已经到来了。随着信息技术的不断发展,网络技术也越来越成熟,它改变着人们的生活方式,同时对传统行业产生巨大影响。互联网时代我们提供了丰富的资源,解决了我在发展过程中遇到的许多问题,在前辈的指导下,我一直有一种开放的感觉。
一般来说,不付出艰苦的努力就不会有预期的结果,一个从最初的想法到实践到具体目标的软件系统需要反复的设计、改进、实验、耐心、细心和信心,以及坚持不懈、不断尝试和探索未知事物的精神与勇气。
在论文的最后阶段,感谢xxxxxx学院的老师们在这四年对教学的辛勤付出,也感谢和我一起学习的同学和室友,虽然只有相聚的时间只有短短四年,但还是很高兴能在这里认识你们,因为你们无微不至的陪伴,我才能收获一个精彩的大学生活。