4 系统设计
4.1系统概要设计
甘肃旅游服务平台并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的小程序结构,图4.1就是开发出来的程序工作原理图。
图4.1 程序工作的原理图
4.2系统功能结构设计
甘肃旅游服务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理景点信息,管理公告信息等内容。
甘肃旅游服务平台针对用户设置的功能有:查看并修改个人信息,查看景点信息,查看公告信息等内容。
4.3数据库设计
4.3.1数据库E-R图设计
程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。
(1)下图是美食实体和其具备的属性。
美食实体属性图
(2)下图是用户实体和其具备的属性。
用户实体属性图
(3)下图是公告信息实体和其具备的属性。
公告信息实体属性图
(4)下图是字典表实体和其具备的属性。
字典表实体属性图
(5)下图是景点实体和其具备的属性。
景点实体属性图
(6)下图是房间收藏实体和其具备的属性。
房间收藏实体属性图
(7)下图是景点收藏实体和其具备的属性。
景点收藏实体属性图
(8)下图是美食收藏实体和其具备的属性。
美食收藏实体属性图
(9)下图是美食评价实体和其具备的属性。
美食评价实体属性图
(10)下图是美食订单实体和其具备的属性。
美食订单实体属性图
(11)下图是商品实体和其具备的属性。
商品实体属性图
(12)下图是景点门票订单实体和其具备的属性。
景点门票订单实体属性图
(13)下图是酒店实体和其具备的属性。
酒店实体属性图
(14)下图是景点评价实体和其具备的属性。
景点评价实体属性图
(15)下图是商家实体和其具备的属性。
商家实体属性图
(16)下图是商品收藏实体和其具备的属性。
商品收藏实体属性图
(17)下图是酒店评价实体和其具备的属性。
酒店评价实体属性图
(18)下图是酒店订单实体和其具备的属性。
酒店订单实体属性图
(19)下图是商品评价实体和其具备的属性。
商品评价实体属性图
(20)下图是商品订单实体和其具备的属性。
商品订单实体属性图
(21)下图是收货地址实体和其具备的属性。
收货地址实体属性图
4.3.2 数据库表结构设计
本次程序开发选用的数据库管理工具是Mysql数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序甘肃旅游服务平台的数据表结构信息。
表4.1收货地址表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 创建用户 | 是 |
3 | address_name | String | 收货人 | 是 |
4 | address_phone | String | 电话 | 是 |
5 | address_dizhi | String | 地址 | 是 |
6 | isdefault_types | Integer | 是否默认地址 | 是 |
7 | insert_time | Date | 添加时间 | 是 |
8 | update_time | Date | 修改时间 | 是 |
9 | create_time | Date | 创建时间 | 是 |
表4.2字典表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.3公告信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | gonggao_name | String | 公告名称 | 是 |
3 | gonggao_photo | String | 公告图片 | 是 |
4 | gonggao_types | Integer | 公告类型 | 是 |
5 | insert_time | Date | 发布时间 | 是 |
6 | gonggao_content | String | 公告详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.4景点表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangjia_id | Integer | 商家 | 是 |
3 | jingdian_name | String | 景点名称 | 是 |
4 | jingdian_uuid_number | String | 景点编号 | 是 |
5 | jingdian_photo | String | 景点照片 | 是 |
6 | jingdian_video | String | 视频介绍 | 是 |
7 | jingdian_address | String | 景点位置 | 是 |
8 | zan_number | Integer | 赞 | 是 |
9 | cai_number | Integer | 踩 | 是 |
10 | jingdian_types | Integer | 景点类型 | 是 |
11 | jingdian_kucun_number | Integer | 剩余门票数 | 是 |
12 | jingdian_old_money | BigDecimal | 景点原价 | 是 |
13 | jingdian_new_money | BigDecimal | 现价/张 | 是 |
14 | jingdian_clicknum | Integer | 景点热度 | 是 |
15 | jingdian_content | String | 景点介绍 | 是 |
16 | shangxia_types | Integer | 是否上架 | 是 |
17 | jingdian_delete | Integer | 逻辑删除 | 是 |
18 | insert_time | Date | 录入时间 | 是 |
19 | create_time | Date | 创建时间 | 是 |
表4.5景点收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jingdian_id | Integer | 景点 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingdian_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.6景点评价表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jingdian_id | Integer | 景点 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingdian_commentback_text | String | 评价内容 | 是 |
5 | insert_time | Date | 评价时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.7景点门票订单表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jingdian_order_uuid_number | String | 订单编号 | 是 |
3 | jingdian_id | Integer | 景点 | 是 |
4 | yonghu_id | Integer | 用户 | 是 |
5 | buy_number | Integer | 购买张数 | 是 |
6 | jingdian_order_time | Date | 预定日期 | 是 |
7 | jingdian_order_true_price | BigDecimal | 实付价格 | 是 |
8 | jingdian_order_types | Integer | 订单类型 | 是 |
9 | jingdian_order_payment_types | Integer | 支付类型 | 是 |
10 | insert_time | Date | 订单创建时间 | 是 |
11 | create_time | Date | 创建时间 | 是 |
表4.8酒店表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangjia_id | Integer | 商家 | 是 |
3 | jiudian_name | String | 房间名称 | 是 |
4 | jiudian_uuid_number | String | 房间编号 | 是 |
5 | jiudian_photo | String | 房间照片 | 是 |
6 | jiudian_address | String | 酒店位置 | 是 |
7 | jiudian_tese | String | 特色 | 是 |
8 | zan_number | Integer | 赞 | 是 |
9 | cai_number | Integer | 踩 | 是 |
10 | jiudian_types | Integer | 房型 | 是 |
11 | jiudian_kucun_number | Integer | 剩余房间数 | 是 |
12 | jiudian_old_money | BigDecimal | 房间原价 | 是 |
13 | jiudian_new_money | BigDecimal | 现价/天 | 是 |
14 | jiudian_clicknum | Integer | 房间热度 | 是 |
15 | jiudian_content | String | 房间介绍 | 是 |
16 | shangxia_types | Integer | 是否上架 | 是 |
17 | jiudian_delete | Integer | 逻辑删除 | 是 |
18 | insert_time | Date | 录入时间 | 是 |
19 | create_time | Date | 创建时间 | 是 |
表4.9房间收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jiudian_id | Integer | 房间 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jiudian_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.10酒店评价表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jiudian_id | Integer | 房间 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jiudian_commentback_text | String | 评价内容 | 是 |
5 | insert_time | Date | 评价时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.11酒店订单表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jiudian_order_uuid_number | String | 订单编号 | 是 |
3 | jiudian_id | Integer | 房间 | 是 |
4 | yonghu_id | Integer | 用户 | 是 |
5 | buy_number | Integer | 预定天数 | 是 |
6 | jiudian_order_time | Date | 预定入住日期 | 是 |
7 | jiudian_order_true_price | BigDecimal | 实付价格 | 是 |
8 | jiudian_order_types | Integer | 订单类型 | 是 |
9 | jiudian_order_payment_types | Integer | 支付类型 | 是 |
10 | insert_time | Date | 订单创建时间 | 是 |
11 | create_time | Date | 创建时间 | 是 |
表4.12美食表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangjia_id | Integer | 商家 | 是 |
3 | meishi_name | String | 美食名称 | 是 |
4 | meishi_uuid_number | String | 美食编号 | 是 |
5 | meishi_photo | String | 美食照片 | 是 |
6 | zan_number | Integer | 赞 | 是 |
7 | cai_number | Integer | 踩 | 是 |
8 | meishi_types | Integer | 美食类型 | 是 |
9 | meishi_kucun_number | Integer | 美食库存 | 是 |
10 | meishi_old_money | BigDecimal | 美食原价 | 是 |
11 | meishi_new_money | BigDecimal | 现价/份 | 是 |
12 | meishi_clicknum | Integer | 美食热度 | 是 |
13 | meishi_content | String | 美食介绍 | 是 |
14 | shangxia_types | Integer | 是否上架 | 是 |
15 | meishi_delete | Integer | 逻辑删除 | 是 |
16 | insert_time | Date | 录入时间 | 是 |
17 | create_time | Date | 创建时间 | 是 |
表4.13美食收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_id | Integer | 美食 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | meishi_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.14美食评价表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_id | Integer | 美食 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | meishi_commentback_text | String | 评价内容 | 是 |
5 | insert_time | Date | 评价时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.15美食订单表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_order_uuid_number | String | 订单编号 | 是 |
3 | address_id | Integer | 收货地址 | 是 |
4 | meishi_id | Integer | 美食 | 是 |
5 | yonghu_id | Integer | 用户 | 是 |
6 | buy_number | Integer | 购买数量 | 是 |
7 | meishi_order_true_price | BigDecimal | 实付价格 | 是 |
8 | meishi_order_courier_name | String | 派送人 | 是 |
9 | meishi_order_courier_number | String | 联系方式 | 是 |
10 | meishi_order_types | Integer | 订单类型 | 是 |
11 | meishi_order_payment_types | Integer | 支付类型 | 是 |
12 | insert_time | Date | 订单创建时间 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4.16商家表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangjia_name | String | 商家名称 | 是 |
3 | shangjia_phone | String | 联系方式 | 是 |
4 | shangjia_email | String | 邮箱 | 是 |
5 | shangjia_photo | String | 营业执照展示 | 是 |
6 | shangjia_xingji_types | Integer | 商家信用类型 | 是 |
7 | new_money | BigDecimal | 现有余额 | 是 |
8 | shangjia_content | String | 商家介绍 | 是 |
9 | shangjia_delete | Integer | 逻辑删除 | 是 |
10 | jinyong_types | Integer | 账户状态 | 是 |
11 | create_time | Date | 创建时间 | 是 |
表4.17商品表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangjia_id | Integer | 商家 | 是 |
3 | shangpin_name | String | 商品名称 | 是 |
4 | shangpin_uuid_number | String | 商品编号 | 是 |
5 | shangpin_photo | String | 商品照片 | 是 |
6 | zan_number | Integer | 赞 | 是 |
7 | cai_number | Integer | 踩 | 是 |
8 | shangpin_types | Integer | 商品类型 | 是 |
9 | shangpin_kucun_number | Integer | 商品库存 | 是 |
10 | shangpin_old_money | BigDecimal | 商品原价 | 是 |
11 | shangpin_new_money | BigDecimal | 现价 | 是 |
12 | shangpin_clicknum | Integer | 商品热度 | 是 |
13 | shangpin_content | String | 商品介绍 | 是 |
14 | shangxia_types | Integer | 是否上架 | 是 |
15 | shangpin_delete | Integer | 逻辑删除 | 是 |
16 | insert_time | Date | 录入时间 | 是 |
17 | create_time | Date | 创建时间 | 是 |
表4.18商品收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangpin_id | Integer | 商品 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | shangpin_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.19商品评价表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangpin_id | Integer | 商品 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | shangpin_commentback_text | String | 评价内容 | 是 |
5 | insert_time | Date | 评价时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4.20商品订单表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | shangpin_order_uuid_number | String | 订单编号 | 是 |
3 | address_id | Integer | 收货地址 | 是 |
4 | shangpin_id | Integer | 商品 | 是 |
5 | yonghu_id | Integer | 用户 | 是 |
6 | buy_number | Integer | 购买数量 | 是 |
7 | shangpin_order_true_price | BigDecimal | 实付价格 | 是 |
8 | shangpin_order_courier_name | String | 快递公司 | 是 |
9 | shangpin_order_courier_number | String | 快递单号 | 是 |
10 | shangpin_order_types | Integer | 订单类型 | 是 |
11 | shangpin_order_payment_types | Integer | 支付类型 | 是 |
12 | insert_time | Date | 订单创建时间 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4.21用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_uuid_number | String | 用户编号 | 是 |
3 | yonghu_name | String | 用户姓名 | 是 |
4 | yonghu_phone | String | 用户手机号 | 是 |
5 | yonghu_id_number | String | 用户身份证号 | 是 |
6 | yonghu_photo | String | 用户头像 | 是 |
7 | yonghu_email | String | 用户邮箱 | 是 |
8 | new_money | BigDecimal | 余额 | 是 |
9 | jinyong_types | Integer | 账户状态 | 是 |
10 | create_time | Date | 创建时间 | 是 |
表4.22管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | username | String | 员工名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
5 系统实现
5.1管理员功能介绍
5.1.1管理员登录
系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。
图5.1 管理员登录页面
5.1.2 景点管理
项目管理页面提供的功能操作有:查看景点,删除景点操作,新增景点操作,修改景点操作。下图就是景点管理页面。
图5.2 景点管理页面
5.1.3 公告信息管理
公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。下图就是公告信息管理页面。
图5.3 公告信息管理页面
5.1.4公告类型管理
公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。下图就是公告类型管理页面。
图5.4 公告类型列表页面
5.1.5 商品管理
如图5.5显示的就是商品管理页面,此页面提供给管理员的功能有:新增商品,修改商品,删除商品。
图5.5商品管理页面
5.1.6 商品类型管理
如图5.6显示的就是商品类型管理页面,此页面提供给管理员的功能有:新增商品类型,修改商品类型,删除商品类型。
图5.6 商品类型管理页面