第4章 系统设计
4.1系统功能结构设计
本系统采用前台用户、发起人操作,后台管理员操作的方式进行设计,用户在前台需要注册登录,注册登录后可以浏览资讯信息、旅游拼团信息、旅游景点信息,然后参团和发布帖子等。管理员负责前台信息的更新管理以及用户信息的管理。发起人负责发起拼团等。本系统采用小程序模式进行功能结构设计,本系统的功能结构图如下图4.1所示:
图4.1系统功能结构图
4.2数据库设计
数据库作为一个系统中的数据存储,是非常重要的一部分,必须保障了数据库的安全,系统才能足够的完善,所以数据库的设计也是非常重要的。数据库的设计是一个系统最直观的一个表现,必须切合实际要符合用户的需求,而且不能只是停留在Demp阶段,要进行数据库的详细设计,比如数据库表,数据库字段,各个字段的主键,外键,还有数据之间的模块交互和数据中转,表与表之间的联系等,因为数据库绝对不是存储数据这么简单,还要有一个完整的数据处理流程。所以在设计的过程中一定想好怎么去运用这些数据字段,然后怎么建立表与表之间的联系,怎么进行体现,这都是数据库设计阶段需要考虑的问题。为了保证数据库的处理速度和响应时间,还要进行一定的优化,要避免有多余的字段信息,减少不必要的表,尽量用最少的表,最少的表关系去建立存储量大的数据,这样才能有更好的数据查询性能。
4.2.1数据库ER图设计
ER图是对数据库设计的初级阶段,ER图展示了实体和实体的属性,根据系统功能结构图分析出本系统的实体,本系统的实体为用户信息、管理员信息、拼团信息、景点信息、拼团订单信息等。
(1)用户为本系统的主要使用人员,用户的属性包括姓名、年龄、性别等。用户ER图如下图4.2所示:
图4.2用户信息ER图
(2)景点信息为管理员管理的核心数据,景点信息可以帮助用户买到需要的旅游景点门票。景点信息ER图如下图4.3所示:
图4.3景点信息ER图
(3)管理员本系统中的管理人员,属于网站的工作人员,可以管理本系统里的所有信息。管理员信息ER图如下图4.4所示:
图4.4管理员信息ER图
(4)参团信息为用户参与拼团后产生的,发起人可以审核参团,参团信息的ER图如下图4.5所示:
图4.5参团信息ER图
(5)资讯信息的负责人员为管理员,用户只可以浏览资讯,资讯信息的ER图如下图4.6所示:
图4.6资讯信息ER图
(6)拼团信息由发起人发起,管理员可以审核。拼团信息ER图如下图4.7所示:
图4.7拼团信息ER图
(6)本系统的实体关系ER图如下图4.8所示:
图4.8系统实体关系ER图
4.2.2数据库表设计
数据库表就是采用表格的形式记录数据,数据包括字段类型、长度、主外键等信息。根据上节的数据库ER图设计的本系统的数据库表为景点信息表、拼团信息表、参团信息表、用户信息表等。本系统的数据库表如下表4.1-4.15所示:
表4.1 cantuanxinxi
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
pintuanmingcheng |
varchar |
200 |
是 |
||||||
4 |
pintuantupian |
varchar |
200 |
是 |
||||||
5 |
kaituanrenshu |
int |
11 |
是 |
||||||
6 |
pintuanrenshu |
int |
11 |
否 |
||||||
7 |
pintuanjiage |
int |
11 |
是 |
||||||
8 |
jine |
int |
11 |
是 |
||||||
9 |
lvyoutianshu |
varchar |
200 |
是 |
||||||
10 |
faqizhanghao |
varchar |
200 |
是 |
||||||
11 |
faqixingming |
varchar |
200 |
是 |
||||||
12 |
lianxishouji |
varchar |
200 |
是 |
||||||
13 |
cantuanbeizhu |
varchar |
200 |
是 |
||||||
14 |
cantuanshijian |
datetime |
是 |
|||||||
15 |
zhanghao |
varchar |
200 |
是 |
||||||
16 |
xingming |
varchar |
200 |
是 |
||||||
17 |
shoujihaoma |
varchar |
200 |
是 |
||||||
18 |
cheliangzhuangtai |
varchar |
200 |
否 |
||||||
19 |
sfsh |
varchar |
200 |
是 |
否 |
|||||
20 |
shhf |
longtext |
是 |
|||||||
21 |
userid |
bigint |
20 |
是 |
表4.2 config
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto_increment |
|||
2 |
name |
varchar |
100 |
否 |
||||||
3 |
value |
varchar |
100 |
是 |
表4.3 discussjingdianxinxi
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
refid |
bigint |
20 |
否 |
||||||
4 |
userid |
bigint |
20 |
否 |
||||||
5 |
nickname |
varchar |
200 |
是 |
||||||
6 |
content |
longtext |
否 |
|||||||
7 |
reply |
longtext |
是 |
表4.4 faqiren
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
faqizhanghao |
varchar |
200 |
否 |
||||||
4 |
mima |
varchar |
200 |
否 |
||||||
5 |
faqixingming |
varchar |
200 |
否 |
||||||
6 |
xingbie |
varchar |
200 |
是 |
||||||
7 |
youxiang |
varchar |
200 |
是 |
||||||
8 |
lianxishouji |
varchar |
200 |
是 |
||||||
9 |
xiangpian |
varchar |
200 |
是 |
表4.5 forum
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
title |
varchar |
200 |
是 |
||||||
4 |
content |
longtext |
否 |
|||||||
5 |
parentid |
bigint |
20 |
是 |
||||||
6 |
userid |
bigint |
20 |
否 |
||||||
7 |
username |
varchar |
200 |
是 |
||||||
8 |
isdone |
varchar |
200 |
是 |
表4.6 jingdianfenlei
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
jingdianfenlei |
varchar |
200 |
否 |
表4.7 jingdianxinxi
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
jingdianmingcheng |
varchar |
200 |
否 |
||||||
4 |
jingdianfenlei |
varchar |
200 |
否 |
||||||
5 |
jingdiantupian |
varchar |
200 |
是 |
||||||
6 |
jingdiandizhi |
varchar |
200 |
否 |
||||||
7 |
jingdianjianjie |
longtext |
是 |
|||||||
8 |
jingdianxiangqing |
longtext |
是 |
|||||||
9 |
kaifashijian |
varchar |
200 |
是 |
||||||
10 |
menpiaojiage |
int |
11 |
是 |
||||||
11 |
faburiqi |
date |
是 |
|||||||
12 |
clicktime |
datetime |
是 |
|||||||
13 |
clicknum |
int |
11 |
是 |
0 |
表4.8 news
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
title |
varchar |
200 |
否 |
||||||
4 |
introduction |
longtext |
是 |
|||||||
5 |
picture |
varchar |
200 |
否 |
||||||
6 |
content |
longtext |
否 |
表4.9 pingjiaxinxi
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
pintuanmingcheng |
varchar |
200 |
是 |
||||||
4 |
pintuantupian |
varchar |
200 |
是 |
||||||
5 |
jine |
int |
11 |
是 |
||||||
6 |
lvyoutianshu |
varchar |
200 |
是 |
||||||
7 |
faqizhanghao |
varchar |
200 |
是 |
||||||
8 |
faqixingming |
varchar |
200 |
是 |
||||||
9 |
lianxishouji |
varchar |
200 |
是 |
||||||
10 |
zhanghao |
varchar |
200 |
是 |
||||||
11 |
xingming |
varchar |
200 |
是 |
||||||
12 |
shoujihaoma |
varchar |
200 |
是 |
||||||
13 |
kaituanshijian |
varchar |
200 |
是 |
||||||
14 |
pingjianeirong |
longtext |
是 |
|||||||
15 |
pingjiashijian |
datetime |
是 |
|||||||
16 |
userid |
bigint |
20 |
是 |
表4.10 pintuandingdan
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
pintuanmingcheng |
varchar |
200 |
是 |
||||||
4 |
pintuantupian |
varchar |
200 |
是 |
||||||
5 |
kaituanrenshu |
int |
11 |
是 |
||||||
6 |
pintuanrenshu |
int |
11 |
否 |
||||||
7 |
pintuanjiage |
int |
11 |
是 |
||||||
8 |
jine |
int |
11 |
是 |
||||||
9 |
lvyoutianshu |
varchar |
200 |
是 |
||||||
10 |
faqizhanghao |
varchar |
200 |
是 |
||||||
11 |
faqixingming |
varchar |
200 |
是 |
||||||
12 |
lianxishouji |
varchar |
200 |
是 |
||||||
13 |
cantuanbeizhu |
varchar |
200 |
是 |
||||||
14 |
cantuanshijian |
varchar |
200 |
是 |
||||||
15 |
zhanghao |
varchar |
200 |
是 |
||||||
16 |
xingming |
varchar |
200 |
是 |
||||||
17 |
shoujihaoma |
varchar |
200 |
是 |
||||||
18 |
cheliangzhuangtai |
varchar |
200 |
否 |
||||||
19 |
kaituanshijian |
datetime |
是 |
|||||||
20 |
kaituanbeizhu |
longtext |
是 |
|||||||
21 |
ispay |
varchar |
200 |
是 |
未支付 |
|||||
22 |
userid |
bigint |
20 |
是 |
表4.11 pintuanlvyou
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
pintuanmingcheng |
varchar |
200 |
否 |
||||||
4 |
pintuantupian |
varchar |
200 |
是 |
||||||
5 |
kaituanrenshu |
int |
11 |
否 |
||||||
6 |
pintuanrenshu |
int |
11 |
否 |
||||||
7 |
pintuanjiage |
varchar |
200 |
是 |
||||||
8 |
lvyoutianshu |
varchar |
200 |
是 |
||||||
9 |
lvyoujingdian |
longtext |
是 |
|||||||
10 |
xiangqing |
longtext |
是 |
|||||||
11 |
faqizhanghao |
varchar |
200 |
是 |
||||||
12 |
faqixingming |
varchar |
200 |
是 |
||||||
13 |
lianxishouji |
varchar |
200 |
是 |
||||||
14 |
userid |
bigint |
20 |
是 |
表4.12 storeup
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
userid |
bigint |
20 |
否 |
||||||
4 |
refid |
bigint |
20 |
是 |
||||||
5 |
tablename |
varchar |
200 |
是 |
||||||
6 |
name |
varchar |
200 |
否 |
||||||
7 |
picture |
varchar |
200 |
否 |
||||||
8 |
type |
varchar |
200 |
是 |
1 |
|||||
9 |
inteltype |
varchar |
200 |
是 |
表4.13 token
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
userid |
bigint |
20 |
否 |
||||||
3 |
username |
varchar |
100 |
否 |
||||||
4 |
tablename |
varchar |
100 |
是 |
||||||
5 |
role |
varchar |
100 |
是 |
||||||
6 |
token |
varchar |
200 |
否 |
||||||
7 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
8 |
expiratedtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
表4.14 users
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
username |
varchar |
100 |
否 |
||||||
3 |
password |
varchar |
100 |
否 |
||||||
4 |
role |
varchar |
100 |
是 |
管理员 |
|||||
5 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
表4.15 yonghu
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
外键 |
允许空 |
默认值 |
说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 |
id |
bigint |
20 |
是 |
是 |
否 |
auto |
|||
2 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
||||||
3 |
zhanghao |
varchar |
200 |
否 |
||||||
4 |
mima |
varchar |
200 |
否 |
||||||
5 |
xingming |
varchar |
200 |
否 |
||||||
6 |
xingbie |
varchar |
200 |
是 |
||||||
7 |
youxiang |
varchar |
200 |
是 |
||||||
8 |
shoujihaoma |
varchar |
200 |
是 |
||||||
9 |
xiangpian |
varchar |
200 |
是 |
第5章 系统实现
5.1管理员登录功能的实现界面
管理员登录功能设计在前台界面里,管理员点击后台管理功能可以进入管理员登录功能界面里,在此界面里可以看到所有元素,管理员输入必要的信息完成验证后就可以进入自己的操作界面。管理员登录界面的设计效果如下图5.1所示:
图5.1管理员登录界面效果
5.2管理员权限的功能实现
5.2.1个人中心管理功能的界面实现
管理员可以管理个人资料和密码。管理员修改密码的实现界面如下图5.2所示:
图5.2管理员修改密码功能的界面实现
5.2.2论坛管理功能的界面实现
本功能可以实现审核论坛和帖子的目的,管理员在本功能里可以实现帖子的回复和删除、修改等。管理员查询论坛的实现界面如下图5.3所示:
图5.3管理员查询论坛的实现界面
5.2.3拼团旅游管理功能的实现界面
本功能可以实现拼团旅游的更新管理,拼团旅游可以使用户参团。管理员查询拼团旅游功能的实现界面如下图5.4所示:
图5.4管理员查询拼团旅游信息的实现界面
5.2.4评价信息管理功能的界面实现
管理员在此功能里可以查看到用户的评价内容和进行回复、删除。管理员查询评价信息的实现界面如下图5.5所示:
图5.5管理员查询评价信息功能的实现界面
5.2.5用户管理功能的界面实现
游客注册后的信息都会流动到本功能里,管理员需要审核用户的注册资料后才可以正式成为用户,管理员审核用户信息的实现界面如下图5.6所示:
图5.6管理员审核用户信息的实现界面
5.2.6参团信息管理功能的界面实现
管理员也可以查看具体的参团信息,管理员负责删除参团信息。管理员查询参团信息功能的实现界面如下图5.7所示:
图5.7管理员查询参团信息的实现界面
5.2.7景点管理功能的界面实现
管理员负责旅游景点信息的更新和调整,准确、及时的旅游景点信息才可以使用户更好的选择旅游地。管理员查询旅游景点信息的实现界面如下图5.8所示:
图5.8管理员查询旅游景点信息的实现界面
5.2.8拼团订单管理功能的实现界面
管理员可以查询拼团的组织情况以及参团的用户详情,并对拼团订单信息进行删除、查询。拼团订单功能的实现界面如下图5.9所示:
图5.9管理员查询拼团订单功能的实现界面
5.3前台界面的实现
在前台界面里的主要使用人员为用户、发起人,游客可以通过注册成为用户和发起人,在前台里展示的信息有资讯信息、旅游景点信息、论坛信息等。前台界面的实现效果如下图5.10所示:
图5.10前台界面的实现效果
5.3.1发起拼团功能的实现界面
发起人填写具体的资料后就可以实现拼团的发起。发起拼团功能的实现界面如下图5.11所示:
图5.11发起拼团功能的实现界面
5.3.2参与拼团功能的实现
用户可以参与拼团,参与拼团功能的实现界面如下图5.12所示:
图5.12参与拼团功能的实现
5.3.3我的功能界面实现
我的功能里可以管理参团信息、拼团订单、评价信息、收藏信息、帖子信息、拼团旅游等。我的功能实现界面如下图5.13所示:
图5.13我的功能实现界面