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.rhkb.cn/news/374641.html

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

相关文章

usbserver工程师手记(三)手工开通 OTP功能

1、设定密钥&#xff0c;用户自行选择一个密钥&#xff0c;以下以密钥为 EAZAYOKNGETBOPC5 为例说明 2、usb server 配置otp 密钥&#xff0c;目前还没有UI 界面开通&#xff0c;后续版本会支持从管理界面开通 curl -X POST -H Content-Type: application/json -H Accept: app…

【深度学习入门篇 ②】Pytorch完成线性回归!

&#x1f34a;嗨&#xff0c;大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; )&#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官、CSDN人工智能领域优质创作者 。 易编橙&#xff1a;一个帮助编程小…

数据结构复习计划之复杂度分析(时间、空间)

第二节&#xff1a;算法 时间复杂度和空间复杂度 算法(Algorithm)&#xff1a;是对特定问题求解方法(步骤)的一种描述&#xff0c;是指令的有限序列&#xff0c;其中每一条指令表示一个或多个操作。 算法可以有三种表示形式&#xff1a; 伪代码 自然语言 流程图 算法的五…

FFmpeg 实现从麦克风获取流并通过RTMP推流

使用FFmpeg库&#xff08;版本号为&#xff1a;4.4.2-0ubuntu0.22.04.1&#xff09;实现从麦克风获取流并通过RTMP推流。 RTMP服务器使用的是SRS&#xff0c;我这边是跑在Ubuntu上的&#xff0c;最好是关闭掉系统防火墙&#xff0c;不然连接服务器好像会出问题&#xff0c;拉流…

SpringBoot开发实用篇(三)

一&#xff1a;任务 1&#xff1a;SpringBoot整合Quartz 导入SpringBoot整合quartz的坐标定义具体要执行的任务&#xff0c;继承QuartzJobBean定义工作明细和触发器&#xff0c;并绑定对应关系 2&#xff1a;SpringBoot整合task 开启定时任务功能设置定时执行的任务&#x…

怎么样的主食冻干算好冻干?品质卓越、安全可靠的主食冻干分享

当前主食冻干市场产品质量参差不齐。一些品牌过于追求营养数据的堆砌和利润的增长&#xff0c;却忽视了猫咪健康饮食的基本原则&#xff0c;导致市场上出现了以肉粉冒充鲜肉、修改产品日期等不诚信行为。更令人担忧的是&#xff0c;部分产品未经过严格的第三方质量检测便上市销…

记录文字视差背景学习

效果图 文字背景会随鼠标上下移动变成红色或透明 html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><titl…

【linux】服务器卸载cuda

【linux】服务器卸载cuda 文章目录 【linux】服务器卸载cuda1、查找已安装的 CUDA 包&#xff1a;2、卸载 CUDA&#xff1a;3、删除残留文件4、更新系统的包索引&#xff1a;5、检查是否卸载干净&#xff1a; 1、查找已安装的 CUDA 包&#xff1a; dpkg -l | grep cuda2、卸载…

CSS3实现彩色变形爱心动画【附源码】

随着前端技术的发展&#xff0c;CSS3 为我们提供了丰富的动画效果&#xff0c;使得网页设计更加生动和有趣。今天&#xff0c;我们将探讨如何使用 CSS3 实现一个彩色变形爱心加载动画特效。这种动画不仅美观&#xff0c;而且可以应用于各种网页元素&#xff0c;比如加载指示器或…

基于深度学习LightWeight的人体姿态之行为识别系统源码

一. LightWeight概述 light weight openpose是openpose的简化版本&#xff0c;使用了openpose的大体流程。 Light weight openpose和openpose的区别是&#xff1a; a 前者使用的是Mobilenet V1&#xff08;到conv5_5&#xff09;&#xff0c;后者使用的是Vgg19&#xff08;前10…

Django QuerySet对象,exclude()方法

模型参考上一章内容&#xff1a; Django QuerySet对象&#xff0c;filter()方法-CSDN博客 exclude()方法&#xff0c;用于排除符合条件的数据。 1&#xff0c;添加视图函数 Test/app11/views.py from django.shortcuts import render from .models import Postdef index(re…

从0开始的STM32HAL库学习4

对射式红外传感器计数复现 配置工程 我们直接复制oled的工程&#xff0c;但是要重命名。 将PB14设置为中断引脚 自定义命名为sensorcount 设置为上升沿触发 打开中断 配置NVCI 都为默认就可以了 修改代码 修改stm32f1xx_it.c 文件 找到中断函数并修改 void EXTI15_10_I…

pytorch实现水果2分类(蓝莓,苹果)

1.数据集的路径&#xff0c;结构 dataset.py 目的&#xff1a; 输入&#xff1a;没有输入&#xff0c;路径是写死了的。 输出&#xff1a;返回的是一个对象&#xff0c;里面有self.data。self.data是一个列表&#xff0c;里面是&#xff08;图片路径.jpg&#xff0c;标签&…

Docker安装遇到问题:curl: (7) Failed to connect to download.docker.com port 443: 拒绝连接

问题描述 首先&#xff0c;完全按照Docker官方文档进行安装&#xff1a; Install Docker Engine on Ubuntu | Docker Docs 在第1步&#xff1a;Set up Dockers apt repository&#xff0c;执行如下指令&#xff1a; sudo curl -fsSL https://download.docker.com/linux/ubu…

MybatisPlus 使用教程

MyBatisPlus使用教程 文章目录 MyBatisPlus使用教程1、使用方式1.1 引入依赖1.2 构建mapper接口 2、常用注解2.1 TableName2.2 TableId2.3 TableField MyBatisPlus顾名思义便是对MyBatis的加强版&#xff0c;但两者本身并不冲突(只做增强不做改变)&#xff1a; 引入它并不会对原…

[数据集][目标检测]护目镜检测数据集VOC+YOLO格式888张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;888 标注数量(xml文件个数)&#xff1a;888 标注数量(txt文件个数)&#xff1a;888 标注类别…

C语言基本概念

C语言是什么&#xff1f; 1.人与人之间 自然语言 2.人与计算机之间 计算机语言 例如C、Java、Go、Python 在计算机语言中 1.解释型语言&#xff1a;Python 2.编译型语言&#xff1a;C/C 编译和链接 C语言源代码都是文本文件.c&#xff0c;必须通过编译器的编译和链接器的…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十八章 Linux编写第一个自己的命令

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

基于Python的哔哩哔哩数据分析系统设计实现过程,技术使用flask、MySQL、echarts,前端使用Layui

背景和意义 随着互联网和数字媒体行业的快速发展&#xff0c;视频网站作为重要的内容传播平台之一&#xff0c;用户量和内容丰富度呈现爆发式增长。本研究旨在设计并实现一种基于Python的哔哩哔哩数据分析系统&#xff0c;采用Flask框架、MySQL数据库以及echarts数据可视化技术…

昇思MindSpore学习入门-参数初始化

使用内置参数初始化 MindSpore提供了多种网络参数初始化的方式&#xff0c;并在部分算子中封装了参数初始化的功能。本节以Conv2d为例&#xff0c;分别介绍如何使用Initializer子类&#xff0c;字符串进行参数初始化。 Initializer初始化 Initializer是MindSpore内置的参数初…