springboot大学校园二手书交易APP-计算机毕业设计源码25753

摘  要

在数字化与移动互联网迅猛发展的今天,人们对于图书的需求与消费方式也在悄然改变。为了满足广大读者对图书的热爱与追求,我们倾力打造了一款基于Android平台的图书交易APP。这款APP不仅汇聚了海量的图书资源,提供了便捷的交易平台,更通过智能推荐、个性化定制等功能,让用户在享受阅读乐趣的同时,也能轻松实现图书的买卖与交流。

我们深知,每一本书都承载着作者的心血与智慧,每一笔交易都蕴含着读者的期待与热情。因此,我们致力于将这款APP打造成一个安全、高效、贴心的图书交易平台,让每一位用户都能在这里找到心仪的图书,与志同道合的书友共同分享阅读的快乐。

本文以Android、java为开发技术,实现了一个基于 Android的图书交易APP开发与设计。基于 Android的图书交易APP主要使用功能:系统用户、图书分类管理、卖书信息管理、卖书交易管理、卖书评价管理、需求信息管理、需求评价管理、系统管理、消息通知管理、资源管理、交流管理等;通过这些功能模块的设计,基本上实现了整个健身APP的管理的过程。

关键词 :图书交易APP;Android技术;Mysql数据库;Spring Boot框架 

Abstract

With the rapid development of digital and mobile Internet, people's demand for books and consumption mode are also changing quietly. In order to meet the love and pursuit of readers for books, we have made great efforts to create a book trading app based on the Android platform. This app not only gathers a massive amount of book resources and provides a convenient trading platform, but also allows users to easily buy, sell, and communicate books while enjoying reading pleasure through intelligent recommendations, personalized customization, and other functions.

We are well aware that every book carries the author's hard work and wisdom, and every transaction contains the reader's expectations and enthusiasm. Therefore, we are committed to building this app into a safe, efficient, and caring book trading platform, allowing every user to find their favorite books here and share the joy of reading with like-minded book enthusiasts.

This article uses Android and Java as development technologies to develop and design an Android based book trading app. The main functions of an Android based book trading app include system users, book classification management, book selling information management, book selling transaction management, book selling evaluation management, demand information management, demand evaluation management, system management, message notification management, resource management, communication management, etc; Through the design of these functional modules, the management process of the entire fitness app has been basically achieved.

Key words:Book trading app; Android technology; MySQL database; Spring Boot framework

目录

摘  要

Abstract

1 概述

1.1课题背景及意义

1.2 国内外研究现状

1.3 本课题主要工作

1.4论文结构与章节安排

2 系统开发环境

2.1 java技术

2.2 Android技术

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2操作可行性

3.1.3 经济可行性

3.1.4 法律可行性

3.2系统流程分析

3.2.1系统开发流程

3.2.2 用户登录流程

3.2.3 修改信息流程

3.2.4 删除信息流程

3.3系统功能分析

3.3.1 功能性分析

4 系统设计

4.1 系统概述

4.2 系统结构设计

4.3数据库设计

4.3.1 数据库设计原则

4.3.2 数据库实体

4.3.3 数据库表设计

5系统界面实现

5.1用户前端

5.2管理员后台功能模块

6系统测试

6.1系统测试的意义

6.2 测试方法

6.3测试分析

结    论

致    谢

参考文献

1 概述

1.1课题背景及意义

在数字化阅读日益普及的当下,图书交易的形式和渠道也经历了显著的变革。传统的图书交易受限于地域、时间和物理店面等因素,而基于Android的图书交易APP的出现,为图书爱好者们提供了一个全新的、便捷的、不受时空限制的图书交易平台。这一课题背景凸显了当前社会对于高效、便捷图书交易方式的迫切需求。

开发基于Android的图书交易APP具有重要的现实意义。首先,它能够打破传统图书交易的地域限制,让全国各地的图书爱好者都能参与到图书的买卖中来,极大地拓宽了图书市场的交易范围。其次,通过智能推荐和个性化定制功能,APP能够根据用户的兴趣和偏好推荐合适的图书,提升用户的购书体验。同时,这一平台也为二手图书的流通提供了便利,让闲置的图书得到充分利用,减少了资源浪费。

此外,基于Android的图书交易APP还具有深远的社会意义。它促进了知识的传播和文化的交流,让更多的人能够接触到优质的图书资源,享受到阅读的乐趣。同时,这一平台也为图书作者和出版商提供了更广阔的推广渠道,有助于推动图书产业的繁荣发展。

基于Android的图书交易APP课题背景符合当前社会的实际需求和发展趋势,其开发与应用对于提升图书交易效率、促进知识传播和文化交流等方面都具有重要的价值和意义。

1.2 国内外研究现状

在当前的信息化和数字化浪潮中,基于Android的图书交易APP在国内外均受到了广泛关注和研究。国外的研究起步较早,一些知名的图书交易APP如Amazon Kindle、eBay Books等已经形成了较为成熟的商业模式和用户群体。这些平台通过先进的算法和大数据分析,为用户提供了精准的图书推荐和个性化的购书体验。

国内方面,随着移动互联网的快速发展和智能手机的普及,基于Android的图书交易APP也迎来了蓬勃的发展机遇。近年来,众多创业公司和互联网巨头纷纷进军图书交易领域,推出了各具特色的图书交易APP。这些平台不仅提供了丰富的图书资源,还通过社交、分享等功能,增加了用户之间的互动和交流,进一步提升了用户的购书体验。

然而,尽管国内外在基于Android的图书交易APP领域都取得了一定的研究成果和商业进展,但仍然存在一些挑战和问题。例如,如何确保图书交易的安全性和可信度、如何提升用户界面的友好性和易用性、如何更好地满足用户的个性化需求等。这些问题都需要我们进一步深入研究和探索,以推动基于Android的图书交易APP的持续发展和创新。

1.3 本课题主要工作

在开发基于Android的图书交易APP这一课题中,我们的主要工作集中在以下几个方面。首先,我们深入调研了图书交易市场的现状和用户需求,通过数据分析和用户访谈等方式,明确了APP的功能定位和设计方向。接下来,我们设计了APP的整体架构,包括用户注册登录、图书浏览与搜索、交易流程管理、支付与物流等核心模块,并进行了详细的功能规划和界面设计。

在开发过程中,我们采用了先进的Android开发技术,确保APP的稳定性和性能。我们注重用户体验,通过优化操作流程、提升加载速度、优化界面布局等方式,为用户提供了流畅、便捷的购书体验。同时,我们也关注数据安全和隐私保护,采用了多种安全措施,确保用户信息和交易数据的安全可靠。

此外,我们还针对图书交易的特殊性,开发了一系列特色功能,如智能推荐系统、用户评价系统、图书详情展示等,以满足用户的个性化需求。我们利用大数据和人工智能技术,对用户的行为和偏好进行分析,为用户提供精准的图书推荐和个性化的服务。

总之,本课题的主要工作涵盖了从市场调研、功能设计、技术开发到用户体验优化等多个方面,我们致力于开发一款功能强大、稳定可靠、用户体验优秀的基于Android的图书交易APP。

1.4论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,论文正文部分主要架构如下:

第一章:绪论。主要介绍了课题研究的背景,研究意义和论文结构与章节安排。

第二章:系统分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统详细设计与实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。

第六章:总结。主要对系统的设计工作进行总结

2 系统开发环境  

2.1 java技术

Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。

Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。

首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。

其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。

2.2 Android技术

Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。

它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java编写。

3 系统分析

所谓系统分析就是,需求人员通过与客户的沟通,所获取的信息,然后把这些信息通过需求说明书的方式展示给用户和开发人员。在软件功能发展的历史长河中,很长时间,特别是最开始的时候,需求分析的重要性并不被人们所认同,例如当时美国IBM公司为英国电信公司开发一套信息管理系统,在需求不明确的情况下开始开发,最初的工期为一年,由于需求获取不清晰导致工期推迟了半年多,造成巨大损失。我们很多软件公司也存在这种情况,边需求,边开发,甚至与客户没有沟通清楚的情况下,直接照搬同类型的项目进行更改,导致到系统验收的时候,重新更改,造成了人力、物力的极大浪费。而导致这一切后果的原因就是需求获取不及时、不清楚、不全面。

3.1 可行性分析

图书交易APP主要目标是实现网上图书交易APP管理的相关信息管理服务。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。

3.1.1 技术可行性

图书交易APP主要采用Android技术,服务端基于B/S结构、java技术,Mysql数据库,对于应用程序的开发要求具备完整功能,使用简单的特点,并建立一个数据完整安全稳定的数据库。图书交易APP的开发技术具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。

3.1.2操作可行性

图书交易APP的登录界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,会员只要平时使用过电脑都能进行访问操作。此系统的开发采用Android开发,基于B/S结构,这些开发环境使系统更加完善。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。

3.1.3 经济可行性

图书交易APP是服务端基于B/S模式、java技术,客户端采用Android、采用Mysql数据库储存数据,所要求的硬件和软件环境,市场上都很容易购买,程序开发主要是管理系统的开发和维护。所以程序在开发人力、财力上要求不高,而且此系统不是很复杂,开发周期短,在经济方面具有较高的可行性。

3.1.4 法律可行性

此图书交易APP是自己设计的管理系统,具有很大的实际意义。因为无论是软件还是数据库,采用的都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。

综上所述,图书交易APP在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的。

3.2系统流程分析

3.2.1系统开发流程

图书交易APP开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-1所示

图3-1系统开发流程图

3.2.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图3-3所示。

图3-2 登录流程图

3.2.3 修改信息流程

管理员可以对信息等进行信息的修改用户也可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-3所示。

图3-3修改信息流程图

3.2.4 删除信息流程

管理员可以对信息等进行删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图3-4所示。

图3-4 删除信息流程图

3.3系统功能分析

3.3.1 功能性分析

图书交易APP我划分为了买家用户管理模块和管理员模块及卖家用户这三大部分。

买家用户功能:

(1)登录:图书交易APP前台注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的回答问题是否一致,只有在一致后将会登录成功并自动跳转到图书交易APP的首页中;否则将会提示相应错误信息。

(2)网站公告:当用户点击下方导航栏“网站公告”这一菜单按钮,会显示管理员在后台发布的所有的网站公告,可以查看详情,进行收藏、点赞、评论等。

(3)心得交流:点击“心得交流”这个菜单,可以查看到系统中所有添加的心得交流,如果想要了解某一心得交流信息的详细信息,点击后面的“详情”会进入详情查看界面,可以对心得交流信息进行详情点赞、收藏、评论等操作;

(4)图书资讯:点击“图书资讯”这个菜单,可以查看到系统中所有添加的图书资讯,如果想要了解某一资讯信息的详细信息,点击后面的“详情”会进入详情查看界面,可以对资讯信息进行详情查看、评论、点赞、收藏等操作;

(5)卖书信息:当用户点击下方导航栏“卖书信息”这一菜单按钮,会显示管理员在后台发布的所有的卖书信息,可以查看详情,进行私信沟通、收藏、点赞、评论等。

(6)我的模块:普通用户在前台点击“我的”可以对用户的基本信息、收藏、卖书交易、卖书评价、需求信息、需求交易、需求评价、论坛管理等信息进行管理。

买家用户用例图如下图所示。

图3-1 买家用户功能模块图

卖家用户功能:

(1)图书资讯:点击“图书资讯”这个菜单,可以查看到系统中所有添加的图书资讯,如果想要了解某一资讯信息的详细信息,点击后面的“详情”会进入详情查看界面,可以对资讯信息进行详情查看、评论、点赞、收藏等操作;

(2)需求信息:点击“需求信息”这个菜单,可以查看到系统中所有添加的需求信息,如果想要了解某一需求信息的详细信息,点击后面的“详情”会进入详情查看界面,可以对需求信息进行详情私信咨询、评论、点赞、收藏等操作;

(3)我的模块:普通用户在前台点击“我的”可以对用户的基本信息、收藏、卖书信息、卖书交易、卖书评价、需求交易、需求评价、论坛管理等信息进行管理。

卖家用户用例图如下图所示。

图3-1 卖家用户功能模块图

管理员功能:

(1)系统用户:包括用户账号的添加、编辑和删除操作,可以查看用户信息、修改用户权限、冻结或解冻用户账号等。

(2卖书交易管理:管理员点击“卖书交易管理”可以对前台用户图书交易APP的卖书交易信息进行管理。

(3)需求信息管理:管理员点击“需求信息管理”可以对前台用户图书交易APP的需求信息进行管理。

(4)系统管理:当管理员点击“系统管理”时,可查看轮播图管理,如需添加新的轮播图,点击右侧“新增”按钮,上传图片,输入标题,点击“确认”按钮进行添加。

(5)消息通知管理:当管理员点击“消息通知管理”时,可查看消息通知,如需添加新的消息通知,点击左侧“添加”按钮,输入标题和正文,点击“提交”按钮进行添加。同时可对消息通知进行增删改查。

(6)资源管理:进入后台首页工具栏点击“资源管理”这个按钮可以查看所有图书资讯、资讯分类等信息,可以进行详情查看、删除、查看评论等操作。

(7)交流管理:进入后台首页工具栏点击“交流管理”这个按钮可以查看所有心得交流、交流分类等信息,可以进行详情查看、删除、查看评论等操作。

(8)个人信息:管理员点击“个人信息”按钮,可以对个人的头像、昵称、手机号码等信息进行更新。

(9)修改密码:管理员点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,

管理员用例图如下图所示。

图3-2管理员功能模块图


4 系统设计

4.1 系统概述

进过系统的分析后,就开始记性系统的设计,系统设计包含总体设计和详细设计。总体设计只是一个大体的设计,经过了总体设计,我们能够划分出系统的一些东西,例如文件、文档、数据等。而且我们通过总体设计,大致可以划分出了程序的模块,以及功能。但是只是一个初步的分类,并没有真正的实现。

整体设计,只是一个初步设计,而且,对于一个项目,我们可以进行多个整体设计,通过对比,包括性能的对比、成本的对比、效益的对比,来最终确定一个最优的设计方案,选择优秀的整体设计可以降低开发成本,增加公司效益,从这一点来讲,整体设计还是非常重要的。

图书交易APP工作原理图如图4-1所示:

图4-1 系统工作原理图

4.2 系统结构设计

系统架构图属于系统设计阶段,系统架构图只是这个阶段一个产物,系统的总体架构决定了整个系统的模式,是系统的基础。图书交易APP的整体结构设计如图4-2所示。

图4-2 系统结构图

4.3数据库设计

数据库是计算机信息系统的基础。目前,电脑系统的关键与核心部分就是数据库。数据库开发的优劣对整个系统的质量和速度有着直接影响。

4.3.1 数据库设计原则

概念模式它主要是建立在数据需求分析的基础上,它通常是用概念数据模型来表示各个数据之间的联系,并且对系统用户进行信息的处理和管理,同时建立起E-R图来表示具体的实体、属性和联系的关系。

4.3.2 数据库实体

数据模型中的实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如,公司中的每个员工,家里中的每个家具。

下面是整个图书交易APP中主要的数据库表总E-R实体关系图。

图3-3 系统总E-R关系图

4.3.3 数据库表设计

数据库的表信息属于设计的一部分,下面介绍数据库中的各个表的详细信息。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表book_buying_evaluation (买书评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_buying_evaluation_id

int

10

0

N

Y

买书评价ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

book_number

varchar

64

0

Y

N

图书编号

4

book_name

varchar

64

0

Y

N

图书名称

5

book_types

varchar

64

0

Y

N

图书类型

6

book_author

varchar

64

0

Y

N

图书作者

7

isbn_number

varchar

64

0

Y

N

ISBN号

8

press

varchar

64

0

Y

N

出版社

9

selling_price

varchar

64

0

Y

N

出售价格

10

buyer_user

int

10

0

Y

N

0

买家用户

11

negotiation_title

varchar

64

0

Y

N

协商标题

12

negotiation_type

varchar

64

0

Y

N

协商类型

13

content_of_negotiation

text

65535

0

Y

N

协商内容

14

reply_content

text

65535

0

Y

N

回复内容

15

evaluation_score

varchar

64

0

Y

N

评价分数

16

evaluation_content

text

65535

0

Y

N

评价内容

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表book_buying_transaction (买书交易)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_buying_transaction_id

int

10

0

N

Y

买书交易ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

book_number

varchar

64

0

N

N

图书编号

4

book_name

varchar

64

0

Y

N

图书名称

5

book_types

varchar

64

0

Y

N

图书类型

6

book_author

varchar

64

0

Y

N

图书作者

7

isbn_number

varchar

64

0

Y

N

ISBN号

8

press

varchar

64

0

Y

N

出版社

9

selling_price

varchar

64

0

Y

N

出售价格

10

buyer_user

int

10

0

Y

N

0

买家用户

11

number_of_books_purchased

varchar

64

0

Y

N

买书数量

12

negotiation_title

varchar

64

0

Y

N

协商标题

13

negotiation_type

varchar

64

0

Y

N

协商类型

14

transaction_price

varchar

64

0

Y

N

成交价格

15

content_of_negotiation

text

65535

0

Y

N

协商内容

16

reply_content

text

65535

0

Y

N

回复内容

17

payment_qr_code

varchar

255

0

Y

N

付款二维码

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表book_classification (图书分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_classification_id

int

10

0

N

Y

图书分类ID

2

book_types

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

更新时间

表book_selling_information (卖书信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_selling_information_id

int

10

0

N

Y

卖书信息ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

book_number

varchar

64

0

Y

N

图书编号

4

book_name

varchar

64

0

Y

N

图书名称

5

book_types

varchar

64

0

Y

N

图书类型

6

book_author

varchar

64

0

Y

N

图书作者

7

book_cover

varchar

255

0

Y

N

图书封面

8

isbn_number

varchar

64

0

Y

N

ISBN号

9

press

varchar

64

0

Y

N

出版社

10

selling_price

varchar

64

0

Y

N

出售价格

11

number_of_books_sold

varchar

64

0

Y

N

卖书数量

12

publication_date

date

10

0

Y

N

出版日期

13

book_status

varchar

64

0

Y

N

图书状态

14

exchange_conditions

text

65535

0

Y

N

交换条件

15

book_introduction

text

65535

0

Y

N

图书介绍

16

book_details

text

65535

0

Y

N

图书详情

17

hits

int

10

0

N

N

0

点击数

18

praise_len

int

10

0

N

N

0

点赞数

19

recommend

int

10

0

N

N

0

智能推荐

20

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

21

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表buyer_reminder (买家提醒)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

buyer_reminder_id

int

10

0

N

Y

买家提醒ID

2

buyer_user

int

10

0

Y

N

0

买家用户

3

buyer_name

varchar

64

0

Y

N

买家姓名

4

reminder_title

varchar

64

0

Y

N

提醒标题

5

reminder_type

varchar

64

0

Y

N

提醒类型

6

reminder_date

date

10

0

Y

N

提醒日期

7

reminder_content

text

65535

0

Y

N

提醒内容

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表buyer_user (买家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

buyer_user_id

int

10

0

N

Y

买家用户ID

2

buyer_name

varchar

64

0

Y

N

买家姓名

3

buyer_gender

varchar

64

0

Y

N

买家性别

4

buyers_phone_number

varchar

16

0

Y

N

买家电话

5

professional_name

varchar

64

0

Y

N

专业名称

6

interests_and_hobbies

varchar

64

0

Y

N

兴趣爱好

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表demand_trading (需求交易)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

demand_trading_id

int

10

0

N

Y

需求交易ID

2

buyer_user

int

10

0

Y

N

0

买家用户

3

book_number

varchar

64

0

N

N

图书编号

4

book_name

varchar

64

0

Y

N

图书名称

5

book_types

varchar

64

0

Y

N

图书类型

6

book_author

varchar

64

0

Y

N

图书作者

7

isbn_number

varchar

64

0

Y

N

ISBN号

8

press

varchar

64

0

Y

N

出版社

9

purchase_price

varchar

64

0

Y

N

求购价格

10

seller_customers

int

10

0

Y

N

0

卖家用户

11

negotiation_title

varchar

64

0

Y

N

协商标题

12

negotiation_type

varchar

64

0

Y

N

协商类型

13

transaction_quantity

int

10

0

Y

N

0

交易数量

14

transaction_price

varchar

64

0

Y

N

成交价格

15

content_of_negotiation

text

65535

0

Y

N

协商内容

16

reply_content

text

65535

0

Y

N

回复内容

17

payment_qr_code

varchar

255

0

Y

N

付款二维码

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表requirement_evaluation (需求评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

requirement_evaluation_id

int

10

0

N

Y

需求评价ID

2

buyer_user

int

10

0

Y

N

0

买家用户

3

book_number

varchar

64

0

Y

N

图书编号

4

book_name

varchar

64

0

Y

N

图书名称

5

book_types

varchar

64

0

Y

N

图书类型

6

book_author

varchar

64

0

Y

N

图书作者

7

isbn_number

varchar

64

0

Y

N

ISBN号

8

press

varchar

64

0

Y

N

出版社

9

purchase_price

varchar

64

0

Y

N

求购价格

10

seller_customers

int

10

0

Y

N

0

卖家用户

11

negotiation_title

varchar

64

0

Y

N

协商标题

12

negotiation_type

varchar

64

0

Y

N

协商类型

13

transaction_price

varchar

64

0

Y

N

成交价格

14

content_of_negotiation

text

65535

0

Y

N

协商内容

15

reply_content

text

65535

0

Y

N

回复内容

16

evaluation_score

varchar

64

0

Y

N

评价分数

17

evaluation_content

text

65535

0

Y

N

评价内容

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表requirement_information (需求信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

requirement_information_id

int

10

0

N

Y

需求信息ID

2

buyer_user

int

10

0

Y

N

0

买家用户

3

book_number

varchar

64

0

Y

N

图书编号

4

book_name

varchar

64

0

Y

N

图书名称

5

book_types

varchar

64

0

Y

N

图书类型

6

book_author

varchar

64

0

Y

N

图书作者

7

book_cover

varchar

255

0

Y

N

图书封面

8

isbn_number

varchar

64

0

Y

N

ISBN号

9

press

varchar

64

0

Y

N

出版社

10

purchase_price

varchar

64

0

Y

N

求购价格

11

publication_date

date

10

0

Y

N

出版日期

12

demand_quantity

int

10

0

Y

N

0

需求数量

13

exchange_conditions

text

65535

0

Y

N

交换条件

14

book_introduction

text

65535

0

Y

N

图书介绍

15

hits

int

10

0

N

N

0

点击数

16

praise_len

int

10

0

N

N

0

点赞数

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表seller_customers (卖家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

professional_name

varchar

64

0

Y

N

专业名称

6

interests_and_hobbies

varchar

64

0

Y

N

兴趣爱好

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表seller_reminder (卖家提醒)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

seller_reminder_id

int

10

0

N

Y

卖家提醒ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

seller_name

varchar

64

0

Y

N

卖家姓名

4

reminder_title

varchar

64

0

Y

N

提醒标题

5

reminder_type

varchar

64

0

Y

N

提醒类型

6

reminder_date

date

10

0

Y

N

提醒日期

7

reminder_content

text

65535

0

Y

N

提醒内容

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

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

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5系统界面实现

5.1用户前端

登录,用户通过输入用户名和密码,选择类型并点击登录进行系统登录操作,如图5-1所示。

图5-1用户登录界图面

登录代码如下:

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

用户注册,在用户注册页面通过填写账号、密码、确认密码、昵称、身份、手机、邮箱、用户编号等内容完成用户注册,如图5-2所示。

图5-2用户注册界面图

注册关键代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

买家用户登录进入系统首页可以查看首页、心得交流、图书资讯、卖书信息、需求信息、网站公告、我的(基本信息、收藏、卖书交易、卖书评价、需求信息、需求交易、需求评价、论坛管理)等功能模块,并可对功能模块进行相应操作,如图5-3所示。

图5-3用户功能界面图

我的,在我的页面可以查看基本信息、收藏、卖书交易、卖书评价、需求信息、需求交易、需求评价、论坛管理等详细信息并进行相应操作,如图5-4所示。

图5-4我的界面图

卖书信息;当买家点击下方导航栏“卖书信息”这一菜单按钮,会显示管理员在后台发布的所有的卖书信息,可以查看详情,进行私信咨询、收藏、点赞、评论等。如图5-5所示。

图5-5卖书信息界面图

需求信息;当卖家点击下方导航栏“需求信息”这一菜单按钮,会显示管理员在后台发布的所有的需求信息,可以查看详情,进行私信咨询、收藏、点赞、评论等。如图5-6所示。

图5-6需求信息界面图

需求交易;当卖家点击下方导航栏“需求交易”这一菜单按钮,会显示相关信息,可以查看详情,进行填写提交等。如图5-7所示。

图5-7需求信息界面图

5.2管理员后台功能模块

轮播图管理,在轮播图管理页面可以对索引、轮播图、标题描述等进行详情、添加或删除等操作,如图5-8所示。

图5-8轮播图管理界图面

管理员登陆系统后,可以对首页、系统用户(管理员、买家用户、卖家用户)、图书分类管理、卖书信息管理、卖书交易管理、卖书评价管理、需求信息管理、需求评价管理、系统管理、消息通知管理、资源管理(图书资讯、资讯分类)、交流管理(心得交流、交流分类)等功能模块进行相应等操作,如图5-9所示。

图5-9管理员功能界图面

系统用户管理,在用户管理页面可以对昵称、用户名、用户组、手机认证、邮箱、邮箱状态、头像、登录时间等进行详情、修改或删除等操作,如图5-10所示。

图5-10系统用户管理界面图

系统用户代码如下:

package com.project.demo.constant;

public class FindConfig {

    public static String PAGE = "page";

    public static String SIZE = "size";

    public static String LIKE = "like";

    public static String ORDER_BY = "orderby";

    public static String FIELD = "field";

    public static String GROUP_BY = "groupby";

    public static String MIN_ = "_min";

    public static String MAX_ = "_max";

    public static String SQLHWERE = "sqlwhere";

}

卖书评价管理,在卖书评价管理页面可以对卖家用户、图书编号、图书名称、图书类型、图书作者等进行详情、添加或删除等操作,如图5-11所示。

图5-11卖书评价管理界面图

图书资讯,在资源管理管理页面可以对图书资讯、新闻分类等信息,可以进行查看评论、添加、查询或删除等操作,如图5-12所示。

图5-12图书资讯管理界面图

图书资讯关键代码如下:

   @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

6系统测试

系统开发的最后一个步骤就是系统测试,系统测试也是整个系统十分重要的一个环节,测试的好坏关系到产品的发展。客户对软件的质量、性能和可靠性等需求就要通过测试来实现。测试过程要必须遵循严谨性、完善性、规范性的原则,测试的主要目的就是看看在系统运行中,是否会出现bug,然后对出现的bug进行调试,直到程序完美运行。但是软件的测试只能尽可能的减少bug,理论上来说是无法达到消除bug。但是bug越少,系统出错的几率就越低,用户使用起来也更方便、更安全。

近年来,软件包含测试从现在的检验当中来看,系统接近预期目标可能出现的问题,并对这些错误做出相应的修正,假如我们不进行早期的测试错误就会延续下去,最后所做出的成品就会有很大的困难。

我们要在这个测试的过程当中找出错误。测试成软件开发的主要一部分,自从有了程序的设计那天开始,它就成为了重要的组成部分。经过统计来看,软件测试可以占据这个系统45%的工作量,而在软件开发的成本当中,对于测试成本来说它包含了很多的测试工作。每个程序测试时都会出现和遇到错误。在整个程序的开发过程当中,人为去查找错误是非常复杂和困难的,所以我们一般都会找一些测试的工具来进行测试

6.1系统测试的意义

随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以我们必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6-1就是纠错测试流程。

图6-1 测试与纠错信息流程

6.2 测试方法

具体测试方法包括:黑盒测试和白盒测试。

黑盒测试又被人们称作为功能测试,通常是在程序的接口来做一些测试的方法,它一般包括对程序的功能和使用的方法来做出一些数据的接受和输出,同时还可以做出正确的输出信息,并保证与外部信息的完整性。

白盒测试通常被人们称作为结构测试,在整个程序的结构和处理当中它是由程序当中的逻辑测试和检验程序来完成一些正确的工作。

具体的功能测试它是包括:系统的适用性、准确性、安全性等功能测试。

6.3测试分析

本图书交易APP满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及会员能够方便操作。系统的主要特点和优点归纳如下:

(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。

(2)该图书交易APP内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因客户的马虎操作而出现的失误,其操作方便,会员界面友好,能够上网的人都可以很好的进行操作。

经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进图书交易APP管理的发展,发展前景广阔。

致    谢

在完成基于Android的图书交易APP的开发过程中,我深感每一次的进步和成功都离不开众多人的支持和帮助。在此,我衷心地向所有参与并贡献于这个项目的人表示最诚挚的感谢。

首先,我要感谢我的导师和团队成员。是导师的悉心指导和团队成员的共同努力,让我们能够不断克服技术难题,完善产品功能,确保APP的稳定性和用户体验。他们的专业知识和无私奉献,是项目成功的关键。

其次,我要感谢所有参与测试和用户反馈的用户们。是你们的宝贵意见和建议,让我们能够不断改进和优化APP,提供更加符合用户需求的功能和服务。你们的支持和信任,是我们前进的动力。

此外,我还要感谢Android开发社区和所有开发者们。是你们的经验和分享,让我们在开发过程中少走了很多弯路,能够更快地掌握新的技术和解决方案。你们的智慧和创造力,为整个开发行业树立了榜样。

最后,我要感谢我的家人和朋友们。是你们的支持和鼓励,让我能够坚持不懈地追求自己的梦想,不断挑战自我,超越自我。你们的陪伴和关爱,是我人生中最宝贵的财富。

再次感谢所有为基于Android的图书交易APP付出努力和贡献的人,是你们的支持和帮助,让这个项目得以圆满完成。我会继续努力,为用户带来更好的产品和服务。

参考文献 

[1]Junren C ,Cheng H ,Jiaxuan H . VioDroid-Finder: automated evaluation of compliance and consistency for Android apps [J]. Empirical Software Engineering, 2024, 29 (3):

[2]蒋瑞霞,王莉. 基于地理位置的校园二手交易平台设计与实现 [J]. 物联网技术, 2024, 14 (04): 73-76. DOI:10.16667/j.issn.2095-1302.2024.04.018.

[3]阎庚顺. 基于Android的手机视频资源系统设计及性能测试 [J]. 科学技术创新, 2024, (07): 80-83.

[4]周海涛,何金花,王文杰,等. 基于Android平台的乡村旅游App系统设计与实现 [J]. 电脑知识与技术, 2024, 20 (09): 68-71. DOI:10.14004/j.cnki.ckt.2024.0391.

[5]刘慧玲,谭定英,陈平平. 基于SpringBoot和Vue.js的大学生团队管理系统的设计 [J]. 电脑编程技巧与维护, 2024, (03): 120-122. DOI:10.16184/j.cnki.comprg.2024.03.039.

[6]程文婷,黄章瑞. 基于SpringBoot+Vue技术的气象站自动监测与预警系统设计 [J]. 信息与电脑(理论版), 2024, 36 (05): 53-55.

[7]雷欣,马宏琳,郑霖,等. 基于SpringBoot的域名信息系统设计与实现 [J]. 电脑知识与技术, 2024, 20 (05): 44-47. DOI:10.14004/j.cnki.ckt.2024.0188.

[8]张豪,朱石磊,胡建华,等. 基于B/S架构的校园论坛系统的设计与实现 [J]. 电脑知识与技术, 2023, 19 (33): 32-35. DOI:10.14004/j.cnki.ckt.2023.1779.

[9]房晓榕. 云闪付APP可在线查询个人信用报告 [J]. 时代金融, 2023, (11): 83.

[10]郑丹,高锋,薛桂滢. 一款处理家用大件垃圾的APP设计研究 [J]. 鞋类工艺与设计, 2023, 3 (17): 160-162.

[11]胡佳静. 基于React Native的校园二手交易平台的设计与实现 [J]. 电脑知识与技术, 2023, 19 (25): 42-44. DOI:10.14004/j.cnki.ckt.2023.1385.

[12]徐怡薇. 电商App用户行为分析系统的设计与实现[D]. 北京交通大学, 2023. DOI:10.26944/d.cnki.gbfju.2023.000006.

[13]单媛媛. 二手车交易平台商业模式研究[D]. 北京邮电大学, 2023. DOI:10.26969/d.cnki.gbydu.2023.003295.

[14]樊红玉. 闲置交易平台持续使用意愿影响因素研究——以闲鱼APP为例 [J/OL]. 经营与管理, 1-16[2024-05-13]. https://doi.org/10.16517/j.cnki.cn12-1034/f.20230804.004.

[15]刘曼璐. 情感化理念下的校园闲置交易平台设计研究[D]. 北京建筑大学, 2023. DOI:10.26943/d.cnki.gbjzc.2023.000025.

[16]张蓉朵. 闲鱼App平台明代龙纹瓦当收藏研究[D]. 华东师范大学, 2023. DOI:10.27149/d.cnki.ghdsu.2023.002779.

[17]finnCap advises on £6m funding round for revolutionary rail ticketing app, Seatfrog; finnCap uses leading consumer and tech expertise to deliver deal in a challenging market [J]. M2 Presswire, 2023,

[18]SalmaFX's Trading App Stirs The Industry & Offers Exceptional Services [J]. M2 Presswire, 2022,

[19]Citi Investment Banking Trader Keith West Set to launch new Global Social Mobility Networking App [J]. M2 Presswire, 2022,

[20]Hejing W . Commerce Middle Office Management System Based on Springboot [J]. International Journal of Advanced Network, Monitoring and Controls, 2022, 7 (2): 32-45.

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka第四篇——生产数据总体概括,源码解析分区策略,数据收集器,Sender发送线程,key值

目录 流程图以及总体概述 拦截器 分区器以及分区计算策略 为啥进行分区计算&#xff1f; producer生产者怎么知道有哪些分区&#xff1f; 分区计算 如何自定义实现分区器&#xff1f; 想说的在图里啦&#xff01;宝宝&#xff01;&#x1f4a1; ​编辑 如果key值忘记传递了呢&a…

《财经一线》实地探访|4000+伙伴力挺,格行随身WiFi全国布局加速!随身wifi官方正品推荐,口碑最好的随身wifi品牌

随着无线连接需求的井喷式增长&#xff0c;随身WiFi以其便携性、高效能迅速成为市场宠儿。在这片竞争激烈的蓝海中&#xff0c;格行随身WiFi凭借其独特的创新策略与卓越品质脱颖而出&#xff0c;成为行业内的佼佼者。近日&#xff0c;《财经一线》记者实地参观格行总部&#xf…

vue-使用Worker实现多标签页共享一个WebSocket

文章目录 前言一、SharedWorker 是什么SharedWorker 是什么SharedWorker 的使用方式SharedWorker 标识与独占 二、Demo使用三、使用SharedWorker实现WebSocket共享 前言 最近有一个需求&#xff0c;需要实现用户系统消息时时提醒功能。第一时间就是想用WebSocket进行长连接。但…

stm32——AD采集以及DMA

今天继续我们的STM32的内容学习&#xff0c;我使用的单片机是STM32F103VCT6,通过Keil Array Visualization软件来观测AD采样出来的波形。先来看看本次实验用到的硬件知识。 首先是ADC&#xff08;Analog-to-Digital Converter&#xff09;是模拟信号转数字信号的关键组件&#…

x264 编码器 AArch64 汇编函数模块关系分析

x264 编码器 AArch64 汇编介绍 x264 是一个流行的开源视频编码器,它实现了 H.264/MPEG-4 AVC 标准。x264 项目致力于提供一个高性能、高质量的编码器,支持多种平台和架构。对于 AArch64(即 64 位 ARM 架构),x264 编码器利用该架构的特性来优化编码过程。在 x264 编码器中,…

纹波电流与ESR:解析电容器重要参数与应用挑战

电解电容纹波电流与ESR&#xff08;Equivalent Series Resistance&#xff09;是电容器的重要参数&#xff0c;用来描述电容器对交流信号的响应能力和能量损耗。电解电容纹波电流是指电容器在工作时承受的交流信号电流&#xff0c;而ESR则是电容器内部等效电阻&#xff0c;影响…

下载设计免抠元素,就上这6个网站,免费下载!

寻找免费PNG免抠素材网站是创意设计者们探索的重要一环。这些网站提供了丰富的PNG格式素材&#xff0c;去除了背景&#xff0c;方便在不同项目中使用。精心挑选了6个免费PNG免抠素材网站&#xff0c;它们提供了高品质的素材资源&#xff0c;无论是个人设计还是商业项目&#xf…

CVE-2024-23692: Rejetto HTTP File Server 2.3m Unauthenticated RCE漏洞复现

目录 本文章仅供学习使用&#xff01;&#xff01;&#xff01; Rejetto HTTP介绍 漏洞简介 漏洞环境 漏洞复现 exp 复现 结果 如何修复 本文章仅供学习使用&#xff01;&#xff01;&#xff01; Rejetto HTTP介绍 Rejetto是一个流行的开源软件项目&#xff0c;主要…

python开发-创建项目

一、创建项目 1.1在终端 1. 进入某个目录&#xff08;项目放在哪&#xff09; 2. 执行命令创建项目 django-admin startproject 项目名称1.2 在pycharm中创建项目 二、创建app 创建app命令 django-admin startapp app01注册app 编写URL和视图函数对应关系 编写视图函数…

1950年-2021年中国历年民航航线里程统计报告

数据为1950年到2021年我国每年的民航航线总里程数据。 2021年&#xff0c;我国定期航班航线总里程为689.78万公里&#xff0c;相比2019年下降了258.44万公里。 数据统计单位为&#xff1a;公里. 数据说明&#xff1a; 2011年起民航航线里程改为定期航班航线里程 我国定期航班…

怎么将图片批量压缩处理?不牺牲图片清晰度的压缩秘诀

#北京city清凉walk指南# 夏日的北京&#xff0c;满目的绿色和清新空气让人沉醉。 然而&#xff0c;摄影爱好者们在记录这些美好瞬间的同时&#xff0c;也面临着大量图片的存储与管理难题。 随着手机和相机像素的提高&#xff0c;每张照片都可能成为存储空间的"大户&quo…

从0到1开发一个Vue3的新手引导组件(附带遇到的问题以及解决方式)

1. 前言: 新手引导组件,顾名思义,就是强制性的要求第一次使用的用户跟随引导使用应用,可以让一些第一次使用系统的新手快速上手,正好我最近也遇到了这个需求,于是就想着开发一个通用组件拿出来使用(写完之后才发现element就有,后悔了哈哈哈&#x1f62d;&#x1f62d;) 示例图…

【芯片方案】珠宝手机秤方案

珠宝手机秤作为一种便携式电子称重设备&#xff0c;因其小巧、便携、精度高等特点&#xff0c;广泛应用于各种需要精确称重的场景。可能这个目前在国内使用的人比较少&#xff0c;但在西方国家珠宝手机秤却是可以用来送礼的物品。因为珠宝手机秤的外观跟手机外观大多相似&#…

顶顶通呼叫中心中间件-打电话没声音检查步骤(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-电话没声音检查步骤(mod_cti基于FreeSWITH) 检查步骤 1、检查配置文件 检查配置文件&#xff1a;打开ccadmin -> 配置文件 -> vars -> external_ip$${local_ip_v4}看一下这个有没有配置正确的外网IP&#xff0c;如果没有配置正确就需要配置正…

PyCharm 2023.3.2 关闭时一直显示正在关闭项目

文章目录 一、问题描述二、问题原因三、解决方法 一、问题描述 PyCharm 2023.3.2 关闭时一直显示正在关闭项目 二、问题原因 因为PyCharm还没有加载完索引导致的 三、解决方法 方法一&#xff1a; 先使用任务管理器强制关闭&#xff0c;下次关闭时注意要等待PyCharm加载完索…

C语言-顺序表

&#x1f3af;引言 欢迎来到HanLop博客的C语言数据结构初阶系列。在这个系列中&#xff0c;我们将深入探讨各种基本的数据结构和算法&#xff0c;帮助您打下坚实的编程基础。本次我将为你讲解。顺序表&#xff08;也称为数组&#xff09;是一种线性表&#xff0c;因其简单易用…

ArcGIS Pro入门制图教程

地理信息系统 (GIS) 是一种使用地图显示和分析数据的方式。在本教程中&#xff0c;您将学习桌面 GIS 应用程序 ArcGIS Pro 的基础知识。 新加坡的一家旅行社希望制作一款宣传册&#xff0c;用于向游客介绍距离市中心热门目的地最近的火车站。该宣传册将与带有文本信息的地图相…

使用 `useAppConfig` :轻松管理应用配置

title: 使用 useAppConfig &#xff1a;轻松管理应用配置 date: 2024/7/11 updated: 2024/7/11 author: cmdragon excerpt: 摘要&#xff1a;本文介绍了Nuxt开发中useAppConfig的使用&#xff0c;它便于访问和管理应用配置&#xff0c;支持动态加载资源、环境配置切换、权限…

软考:软件设计师 — 2.操作系统

二. 操作系统 1. 操作系统概念 &#xff08;1&#xff09;操作系统的作用 操作系统是计算机硬件之上的第一层软件系统。 操作系统通常用来&#xff1a; 管理系统的硬件、软件、数据资源。控制程序运行。人机之间的接口。应用软件与硬件之间的接口。 可概括为&#xff1a; …

【Linux】内核文件系统系统调用流程摸索

内核层可以看到当前调用文件处理的进程ID 这个数据结构是非常大的&#xff1a; 我们打印的pid,tgid就是从这里来的&#xff0c;然后只需要找到pid_t的数据类型就好了。 下图这是运行的日志信息&#xff1a; 从上述日志&#xff0c;其实我也把write的系统调用加了入口的打印信…