自驾游拼团小程序的设计与实现(ssm论文源码调试讲解)
第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我的功能实现界面