springboot网上书城小程序 毕业设计-附源码38707

摘要

自小程序诞生以来,大受广大开发者追捧,它是一种新的开放能力,它可以在微信内被便捷的获取和传播,拥有出色的用户使用体验。本设计旨在倡导全民阅读、发现好书和读透好书,提供最新图书资讯,拓展并培养读者阅读爱好,并为广大书虫提供交流和学习平台。

本文针对网上书城小程序进行研究分析,然后开发设计出网上书城小程序以解决问题。网上书城小程序主要功能模块包括:商城管理(书籍商城、分类列表、订单列表)资源管理(书籍资讯、资讯分类列表)系统用户(管理员、会员用户)等功能模块,采取本系统此次设计前端视图界面选择Java开发语言来完成,系统功能设计采取MySQL作为后台数据的主要存储单元,采用Springboot框架进行系统的开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对网上书城小程序的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现网上书城小程序和部署运行使用它。

关键词:Java;MYSQL;网上书城

Abstract

Since the birth of the small program, it has been greatly sought after by the majority of developers. It is a new open ability, which can be easily accessed and disseminated in WeChat, and has excellent user experience. The purpose of this design is to advocate that the whole people read, find and read good books thoroughly, provide the latest book information, expand and cultivate readers' reading interests, and provide a communication and learning platform for bookworms.

This paper studies and analyzes the online bookstore applet, and then develops and designs the online bookstore applet to solve the problem. The main functional modules of the online bookstore applet include: mall management (book mall, classification list, order list) resource management (book information, information classification list) system user (administrator, member user) and other functional modules, which are completed by selecting the Java development language for the front-end view interface of the system design, and the system functional design takes MySQL as the main storage unit of the background data, The system is developed using the Springboot framework, and all the functions of the system are realized. This report first analyzes the background, role and significance of the research, laying a foundation for the rationality of the research work. Based on the analysis of various requirements and technical problems of the online bookstore applet, the necessity and technical feasibility of the system are proved, and then the technical software and design ideas needed to design the system are introduced. Finally, the online bookstore applet and the department run and use it are realized.

Keywords: Java; MYSQL; Online Bookstore

1 绪论

1.1 研究背景及意义

微信小程序在2016年下半年推出后直到今天,依旧获得广大微信用户的一致好评,与传统的APP相比,小程序的未来前景依旧广阔。对于蓬勃发展经济下的今天,尤其是对中小型互联网公司来讲,微信小程序会降低研发经费和周期,提高开发效率。小程序经过几年的发展,不断的成长和成熟,一直在向全新的领域做出大胆尝试。

小程序依附微信而生,微信有广大的用户群做支撑,根据小程序的优点和特性,小程序也终将拥有极其庞大的用户群。当今社会,经济蓬勃发展,生活节奏加快,人们花在读书上的时间少了,花在读书交流上的时间更少了。但是人们要进步,要提高自己,就不得不读书。在如今大多数人喜欢读书,并愿意挤时间来读书。无论是小说还是文著,网络读书仿佛是一种新的风向标。开发者看中这块用户需求,旨在服务广大的网络书虫,立志开发一款基于微信小程序的网上书城小程序,并带给他们较优的用户体验。

1.2国内外研究现状

在国内,因为互联网进入中国的时间比较晚,所以国内的书店在大家的传统观念里都是买书看书的唯一渠道,但是随着互联网进入中国以及在国内的快速普及,大家的观念也发生了变化,开始认可网上书店的存在,并且开始在网上进行购买和阅读书籍,并且这一趋势一直没有慢下来,到今天,人们更倾向于在网上进行购买书籍。但是在网上购买书籍的方式大多数都是通过下载手机APP的方式,在一特定的手机APP上进行购物,比如:淘宝、当当等软件。但是近几年来又出现了一种新型的购物方式,就是在微信上进行购物,即通过微信中的微信小程序进行购买书籍,虽然这种方式尚未普及,但是他比传统意义上的在书店进行购物甚至是比通过手机APP进行购书都有一定的优势所在。所以现在有很多手机APP开始开发自己的微信小程序,可以通过微信小程序登录到自己的软件进行购物。

在国外,互联网的发展比较早,人们也更早的接收的在网上进行购物,因此,人们也觉得在网上进行购买书籍也是很普遍的。国外同样有很多商务公司,他们很多都是通过买书进入转变到其他页面,完成一个完美的转变,但是因为国外使用微信的人们不多,所以基于微信小程序的书城系统大多数都是在国内发展的。

1.3系统开发的内容

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,面向网上书城小程序的开发使用Springboot框架,数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。

(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对网上书城小程序的设计主要划分别为管理员和用户角色,平台用户主要是针对用户,登录后可以随时根据自己的需求进行书籍信息以及图书的购买,对于平台管理的工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。

(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。

1.4论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的背景意义,国内目前相关研究现状以及技术和本文的研究内容与主要工作。

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

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

第四章:系统实现。第五章主要介绍了系统框架搭建、系统界面的实现。

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

第六章:总结。

1.5小程序框架以及目录结构介绍

整个小程序框架系统分为两部分:逻辑层视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。

2 网上书城小程序系统分析

本章内容概括了网上书城小程序的可行性分析、功能分析以及用例分析。

2.1 可行性分析

2.1.1 技术可行性分析

在分析了网上书城小程序的真实需求后,将网上书城小程序所需要的角色划分整理成了下图2-1和图2-2。

从开发工具来看,由于网上书城小程序是基于Java开发的,因此当前市面上的开发工具都可以来开发,这些功能强大的开发工具可以给我来设计毕设带来非常大的方便。

从网上书城小程序的本身技术来说,对于我来开发一个网上书城小程序这个毕设是不费事的。网上书城小程序的开发可以简单的分为前台模块、后台模块开发以及数据库开发。其中的大部分技术难点在我上学时已经使用过了,同时网络上很多技术点可以让我来借鉴。Web后台管理使用Java开发,数据库使用mysql,因此为我在开发网上书城小程序这个毕设上省去了很多多余代码,这给我的毕设项目编写带来了极大的便利。

2.1.2 经济可行性分析

从网上书城小程序的开发成本来看,网上书城小程序的设计和开发都是我自己完成的,没有其他成本上的开销。

从网上书城小程序的维护成本来看,网上书城小程序的开发遵循一套完整的代码编写规范,并且网上书城小程序的结构设计非常灵活,遵循高内聚低耦合的原则,因此易于维护和迭代开发。

在网上书城小程序上线之后,上线前期我会根据真实需求来调查,对使用我开发的网上书城小程序来制定一套符合的使用费。系统运行稳定后我会将推广范围到其他小区中,他们可以自己来注册使用我的网上书城小程序,只需要缴纳一点点的定金,我会给他们引入广告投资和自营业务。

综合以上的分析,网上书城小程序所带来的经济效益将会带来极大的收益。并且随着我的推广,来使用我开发的网上书城小程序的市场将越来越大。因此,从经济层面来看开发网上书城小程序的是可行的。

2.1.3 操作可行性分析

网上书城小程序的主要的服务对象是需要借阅图书的人群,总的来说网上书城小程序的使用还是比较简单的,一般不存在操作困难的事情,网上书城小程序的管理人员需要对该网上书城小程序有一定的了解,比如订单列表、书籍商城、书籍资讯等操作,如果不会,可以进行简单的培训就好了。

2.2 系统功能分析

2.2.1 功能性分析

网上书城小程序我划分为了用户管理模块和管理员模块这两大部分。

前台用户管理模块:

(1)用户注册登录:用户注册为正式用户并登录网上书城小程序;用户对个人信息的增删改查,比如个人资料,密码修改。

(2)用户查看新闻资讯:用户进行资讯的查看,可以进行点赞评论。

(3)我的收藏:用户可以查看自己以往收藏起来的书籍,同时可以移除自己的收藏夹。

(4)公告信息:用户可以点击“公告信息”栏,跳转公告信息列表,可以查看到公告信息。

(5)书籍商城:用户在书籍商城处可以搜索点击某个书籍进行查看书籍详情并可加入购物车或立即购买操作。

(6)订单:用户可以已付款订单列表信息。

(7)购物车:用户可以查看书籍加入购物车的详情信息。

后台管理员管理模块:

(1)轮播图管理:管理员可以对系统轮播图进行增删改查操作。

(2)会员用户:管理员可以对前台上注册过的用户信息进行管控,同时可以对管理员的信息进行管理。

(3)公告信息管理:管理员可以发布系统最新公告信息。

(4)资讯分类管理:管理员可以对资讯信息进行分类管理。

(5)书籍资讯:管理员可以对书籍资讯进行维护管理等。

(6)书籍商城:管理员对书籍商城进行添加等维护管理。

(7)订单列表:管理员可以对用户的订单信息进行等管理。

(8)分类列表:管事可以对书籍进行分类管理。

2.2.2 非功能性分析

网上书城小程序的非功能性需求比如网上书城小程序的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

3-1网上书城小程序非功能需求表

安全性

主要指网上书城小程序数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指网上书城小程序能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响网上书城小程序占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着网上书城小程序的页面展示内容进行操作,就可以了。

可维护性

网上书城小程序开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.3 系统用例分析

网上书城小程序的完整UML用例图分别是图2-1和图2-2。在参与者上包括用户以及管理员。前台上用户角色用例包括用户是注册成为我们正是会员用户、用户登录、公告信息、书籍商城、新闻资讯、订单、购物车、基本信息(个人资料、密码修改、收藏),用户角色用例如图2-1所示。

图2-1 网上书城小程序用户角色用例图

web后台管理上的管理员是维护整个网上书城小程序中所有数据信息的,管理员可以进行登录、轮播图管理、公告信息管理、管理员、会员用户、资源管理(书籍资讯、资讯分类列表)、商城管理(书籍商城、分类列表、订单列表)。管理员角色用例如图2-2所示。

图2-2 网上书城小程序管理员角色用例图

3.4本章小结

本章主要通过对网上书城小程序的可行性分析、功能需求分析、系统用例分析,确定整个网上书城小程序要实现的功能。同时也为网上书城小程序的代码实现和测试提供了标准。

3 网上书城小程序总体设计

本章主要讨论的内容包括网上书城小程序的功能模块设计、数据库系统设计。

3.1 系统架构设计

本网上书城小程序从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1网上书城小程序系统架构设计图

表现层(UI):又称UI层,主要完成本网上书城小程序的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本网上书城小程序时的舒适度。UI的界面设计也要适应不同版本的网上书城小程序以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本网上书城小程序的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本网上书城小程序的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本网上书城小程序的数据存储和管理功能。

3.2 系统模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本网上书城小程序中的用例。那么接下来就要开始对本网上书城小程序的架构、主要功能和数据库开始进行设计。网上书城小程序根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2 网上书城小程序功能模块图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个网上书城小程序中主要的数据库表总E-R实体关系图。

图3-2 网上书城小程序总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中网上书城小程序中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表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

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

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

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

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_mall (书籍商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_mall_id

int

10

0

N

Y

书籍商城ID

2

book_name

varchar

64

0

Y

N

书籍名称

3

book_author

varchar

64

0

Y

N

书籍作者

4

press

varchar

64

0

Y

N

出版社

5

recommend

int

10

0

N

N

0

智能推荐

6

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

7

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

8

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

9

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

10

cart_price

double

8

2

N

N

0.00

卖价:[1]

11

cart_inventory

int

10

0

N

N

0

商品库存

12

cart_type

varchar

64

0

N

N

未分类

商品分类:

13

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

14

cart_img_1

text

65535

0

Y

N

主图1:

15

cart_img_2

text

65535

0

Y

N

主图2:

16

cart_img_3

text

65535

0

Y

N

主图3:

17

cart_img_4

text

65535

0

Y

N

主图4:

18

cart_img_5

text

65535

0

Y

N

主图5:

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表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:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

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

更新时间:

表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:

表member_users (会员用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

member_users_id

int

10

0

N

Y

会员用户ID

2

member_name

varchar

64

0

Y

N

会员姓名

3

member_gender

varchar

64

0

Y

N

会员性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

recommend

int

10

0

N

N

0

智能推荐

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

更新时间

表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

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

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

表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

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表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

更新时间:

3.4本章小结

整个网上书城小程序的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 网上书城小程序详细设计与实现

网上书城小程序的详细设计与实现主要是根据前面的网上书城小程序的需求分析和网上书城小程序的总体设计来设计页面并实现业务逻辑。主要从网上书城小程序界面实现、业务逻辑实现这两部分进行介绍。

4.1用户功能模块

4.1.1 前台首页界面

在网上书城小程序的前台首页界面上采用了上+中+下的方式来布局界面,最右上角是登录+注册这+搜索这三个链接,下面依次是导航栏+轮播图以及下面的网站公告,下面依次是推荐的新闻资讯展示,其主界面展示如下图4-1所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

不是网上书城小程序中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+手机号+身份后+用户名再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。

图4-2 前台用户注册界面图

4.1.3 用户登录界面

网上书城小程序中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到网上书城小程序的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

图4-3用户登录界面图

4.1.4搜索书籍界面

在网上书城小程序首页上的搜索框中输入自己想要快速检索的书籍的关键词并点击“搜索”按钮后将会输入的关键词进行和数据库中保存的书籍信息进行模糊匹配,并将检索到最匹配的书籍信息显示出来。搜索书籍界面如下图7所示。

图4-4搜索书籍界面图

4.1.5 新闻资讯界面

当访客点击网上书城小程序中导航栏上的“新闻资讯”后将会进入到该“新闻资讯”列表的界面,然后选择想要看的新闻资讯,点击进入到详细界面,可对喜欢的资讯进行收藏、点赞、发表评论等操作,新闻资讯界面如下图4-5所示。

图4-5新闻资讯界面图

4.1.6 订单界面

当访客点击了订单界面后将会进入查看已付款和未付款订单详情,可以进行订单删除等操作,订单页面如图4-6所示。

图4-6 订单界面图

4.1.7 收货地址管理界面

用户可以在此界面编辑自己的收货地址,并可设置为默认地址操作。收货地址管理界面如下图4-7所示。

图4-7 收货地址管理界面图

4.1.8 购物车界面

用户可以在“ 购物车”界面查看加购的书籍详情,可进行支付、删除等操作, 购物车界面如下图4-8所示。

图4-8 购物车界面图

      

图4-8 支付界面图

4.2管理员功能模块

4.2.1 会员用户界面

网上书城小程序中的管理人员是可以对前台注册的用户进行管理。会员用户界面如下图4-9所示。

图4-9添加会员用户界面图

4.2.2公告信息管理界面

网上书城小程序中的管理人员是可以发布公告信息,公告信息管理界面如下图4-10所示。

图4-10公告信息管理界面图

4.2.3 资源管理界面

网上书城小程序中的管理人员是可以对网上书城小程序内的不同资讯的分类下的资讯信息进行维护和管理的,资源管理界面如下图4-11所示。

图4-11资源管理界面图

4.2.4分类列表管理界面

网上书城小程序中的管理人员是可以对网上书城小程序内的书籍信息进行分类等。分类列表管理界面如下图4-12所示。

图4-12分类列表管理界面图

4.2.5书籍商城管理界面

网上书城小程序中的管理人员可以对书籍信息进行添加、删除等操作管理的。书籍商城管理界面如下图4-13所示。

图4-13书籍商城界面图

5系统测试

5.1 系统测试用例

系统测试包括:用户登录功能测试、用户注册功能测试、共享图书展示功能测试、共享图书添加功能测试,如表5-1、5-2、5-3、5-4所示:

用户登录功能测试:

表5-1 用户登录功能测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

用户登录模块测试

正确输入用户信息,用户成功登录

输入用户的信息

1.在密码框输入用户密码。2.点击登录

跳转到首页

正确

用户注册功能测试:

表5-2 用户登录功能测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

用户注册模块测试

正确输入用户星系,完成用户注册

输入用户的基本信息

在注册页面填写用户相应的信息,然后点击“注册”按钮。

提示成功并跳转到登录界面

正确

用户注册模块测试

用户注册失败

用户两次输入密码不一致

用户在注册页面填写信息时输入两个不一致的密码然后点击“注册”按钮。

注册失败提示两次密码输入不一致

正确

分类列表界面测试:

表5-3 分类列表界面测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

分类列表功能模块测试

分类列表正常的显示

浏览分类列表

在后台首页选择一个书籍分类进入分类列表,然后选择一个书籍

进入该分类的详细信息界面

正确

添加书籍商城功能测试:

表5-4 添加书籍商城功能测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

管理员添加书籍功能测试

添加书籍成功的情况

输入新书籍的基本信息

后台选择“发布书籍”选项,然后填写新书籍基本信息点击“添加”按钮

新书籍添加成功

正确

管理员添加书籍功能测试

添加书籍失败的情况

输入书籍基本信息不完全

后台选择“发布书籍”选项,然后不完全填写书籍信息,点击“添加”按钮。

对应信息框后出现提示请输入XXXX信息

正确

管理员添加书籍功能测试

添加书籍失败的情况

管理员在价格框输入非数字字符

后台选择“发布书籍”选项然后再输入非数字字符,点击“添加”按钮。

添加失败,提示“分享者信息添加!”

正确

5.2 系统测试结果

通过编写网上书城小程序的测试用例,已经检测完毕用户登录模块、用户注册模块、分类列表模块、书籍商城模块功能测试,通过这4大模块为网上书城小程序的后期推广运营提供了强力的技术支撑。

结论

至此,网上书城小程序已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).

[2]李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.

[3]贺斌.计算机软件开发中JAVA语言的应用研究[J].中国设备工程,2022(11):247-249.

[4]杨宇,徐万明.基于Springboot微信小程序用户管理系统设计[J].电脑与电信,2022(03):63-67.DOI:10.15966/j.cnki.dnydx.2022.03.023.

[5]Siyi Liu. Explore Java Language and Android Mobile Software Development[J]. International Journal of Frontiers in Engineering Technology,2021,3.0(2.0).

[6]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).

[7]Kevin Kline. The Java Language Extension for SQL Server Is Now Open Source[J]. Database Trends and Applications,2020,34(4).

[8]邓明杨,李忠雄.基于JAVA Web技术的网上书城的设计与实现[J].计算机产品与流通,2020(05):159-160.

[9]荣先钊,林宇驰,张上.网上书城的设计与开发[J].福建电脑,2019,35(06):117-118.

[10]柴茜. 基于内容聚类的网上书城推荐算法研究[D].渤海大学,2019.

[11]廖昳. 我国网上书城的线下经营策略研究[D].河南大学,2018.

[12]孟冬青. 墨香网上书城系统的设计与实现[D].吉林大学,2016.

[13]张佳丽. 个性化推荐网上书城的研究与实现[D].长春工业大学,2015.

[14]蒋海昌. 网上书城系统设计与实现[D].电子科技大学,2013.

[15]韦吉文.网上书城数据库设计[J].信息与电脑(理论版),2013(06):132-133.

[16]卢红梅.网上书城系统的设计浅析[J].计算机光盘软件与应用,2013,16(05):262-263.

[17]费晓. 网上书城设计与实现[D].北京邮电大学,2010.

[18]章红雨. 吉林省店网上书城及音像大卖场开业[N]. 中国新闻出版报,2006-05-09(002).

[19]Ming-Jun Zhang. Application of ID3 Algorithm in Customer Management about Online Bookstore[P]. Proceedings of the 2016 3rd International Conference on Mechatronics and Information Technology,2016.

[20]Patrawadee Tanawongsuwan. Adjective Roles in Estimating a Product Rating in a Product Review[P]. Proceedings of the 2016 International Conference on Communications, Information Management and Network Security,2016.

致  谢

网上书城小程序的完成,标志着我即将结束在XXX大学的校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。

感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。

感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。

其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。

最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值