目 录
摘 要
本文介绍了基于Spring Boot的农村综合风貌展示平台的设计与实现。该平台旨在通过现代化的技术手段。全方位、多角度地展示农村的生态环境、人文景观和生活状态,促进农村的可持续发展。该平台采用了Spring Boot框架,Java为开发语言,MySQL为数据库,具有良好的可扩展性和灵活性,可以满足不同用户的需求。通过该平台,用户可以了解到农村的特色风貌、历史文化和产业发展等多方面的信息,为农村的宣传和推广提供了有力支持。同时,该平台还注重数据的安全性和隐私保护,确保用户数据的安全可靠。
关键词:;Java语言;SpringBoot框架;Mysql数据库
Abstract
This article introduces the design and implementation of a rural comprehensive style display platform based on Spring Boot. This platform aims to use modern technological means. Displaying the ecological environment, cultural landscape, and living conditions of rural areas from all aspects and angles, promoting sustainable development of rural areas. The platform adopts the Spring Boot framework, with Java as the development language and MySQL as the database, which has good scalability and flexibility and can meet the needs of different users. Through this platform, users can learn about the unique features, historical culture, and industrial development of rural areas, providing strong support for rural publicity and promotion. At the same time, the platform also emphasizes the security and privacy protection of data, ensuring the security and reliability of user data.
Keywords: Java language; SpringBoot framework; MySQL database
1 绪 论
1.1 研究背景
随着信息技术的快速发展和普及,数亨化和互联网已经成为现代社会不可或缺始的—部分。在此背景下,农村地区的发展和风貌展示也面临着新的机遇和挑战。传统的农村风貌展示方式往往受到地域和传播渠道的限制,难以充分展现农村的特色和魅力。为了更好地宣传和保护农村风貌,需要借助现代化的技术手段,构建一个综合性的农村风貌展示平台。该平台可以整合各种资源。通过多种形式展示农村的生态环境、人文景观和生活状态,为农村的可持续发展提供有力支持。
1.2 研究意义
随着社会的进步和科技的发展,农村的可持续发展越来越受到关注。农村综合风貌展示平台作为其中的重要组成部分,其研究意义深远。本文将从多个方面探讨农村综合风貌展示平台的研究意义。
传承乡土文化:农村综合风貌展示平台可以通过数字化技术、虚拟现实技术等手段,将农村的历史、文化、风俗等元素进行整理、挖掘和呈现,让更多的人了解和认识农村的文化底蕴。这种平台的建立,有助于保护和传承乡土文化,增强农村的文化自信,同时也为乡村旅游和文化创意产业提供丰富的素材和灵感。
促进乡村旅游:农村综合风貌展示平台可以通过对农村的自然景观、人文景观、特色产业等进行全面的展示和推介,吸引更多的游客前来观光、旅游、休闲和度假。这不仅能够增加农民的收入来源,也能够带动相关产业的发展,形成产业集聚效应,促进乡村经济的繁荣。
提升农村形象:农村综合风貌展示平台通过对外展示农村的美丽风光、特色产业、乡土文化等元素,有助于提升农村的整体形象。增强人们对农村的认知和认同。这不仅有助于提高农村的知名度和美誉度,也能够为农村的发展创造更多的机会和条件。
加强农村交流:农村综合风貌展示平台不仅可以对外展示农村的特色和优势。也可以为农民提供一个交流学习的平台。通过这个平台,农民可以分享经验、交流心得,共同探讨农村的发展问题,促进乡村的共同进步。
助力乡村振兴:乡村振兴战路是我国当前和今后一个时期眙的重要任务。农村综合风貌展示平台的建设和研究,有助于挖掘乡村的内在潜力和优势,引导更多的资源和社会力量参与到乡村振兴中来。推动乡村经济的持续发展和社会进步。
总之,农村综合风貌展示平台的研究意义重大,它不仅可以促进乡村的可持续发展和经济繁荣,也可以为保护和传承乡土文化、提升农村形象等方面发挥重要作用。未来,随着科技的进步和社会的发展。这个平台的研究和应用前景将更加广阔。
1.3 系统开发目标
对于网站的前台设计,要保证主界面的整洁有序,能够抓住人的眼球,不会产生视觉疲劳,更重要的是,带给人容易操作的直观感受,这样才能留住用户去进行使用,增加三分热度的延续期。在系统的后台设计上,要采取非常简洁有效的技术,开发方便的同时,便于以后的维护。我们不但要确保所有的功能都能够满足用户的需求,用户还要能自己主动通过网站去实现想要的操作,而管理者的简单通过网站对用户的需求情况进行了解和管理。为达到这一目的,提出以下目标:
(1)用户可以实时查看最新的景点、商品等信息,以及相关资讯;
(2)用户可以对比各大商品信息,选择自己较为满意的商品;
(3)管理员可以在后台方便管理前台网页的各种信息;
(4)管理员可以方便查询、汇总用户的使用状态。
2.农村综合风貌展示平台系统分析
本章内容概括了农村综合风貌展示平台的可行性分析、功能分析以及用例分析。
2.1 可行性分析
2.1.1技术可行性分析
农村综合风貌展示平台存储所使用的是Mysql数据库以及开发中所使用的是IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用SpringBoot框架进行开发,使系统的可扩展性和维护性更佳。
2.1.2经济可行性分析
在开发农村综合风貌展示平台中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、Mysql5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,而且系统的开发工具从网上都可以直接下载,因此在经济方面是可行的。
2.1.3操作可行性分析
此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。
2.2 系统功能分析
2.2.1 功能性分析
农村综合风貌展示平台我划分为了普通用户管理模块和管理员模块及卖家三大大部分。
前台用户管理模块:
- 注册登录:当用户想要对系统中所实现的功能进行查询管理的时候,就必须进行登录到系统当中,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,用户的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录;
- 邻里交流:用户可在“邻里交流”页面可查看系统中的所有论坛信息,也可编辑论坛内容进行发布与其他用户进行交流;
(3)乡村公告:点击“乡村公告”这个菜单,可以查看到系统中管理员发布的所有乡村公告,如果想要了解某一乡村公告的详细信息,点击后面的“详情”会进入详情查看界面,可以对乡村公告进行详情查看、评论等操作;
(4)乡村留言:在前台点击“乡村留言”按钮会跳转到乡村留言填写页面,根据页面提示输入留言的内容,点击“提交”进行提交留言信息。
(5)农产品:用户可以点击搜索查看自己喜欢的农产品,点击可以进入到农产品的详情界面当中,在详情界面可以查看农产品的各种参数,对喜欢的农产品可以加购、立即购买、收藏、评论。
(6)商城管理:用户在此栏可查看自己的订单信息和加入购物车商品信息,管理自己的地址信息。
(7)旅游攻略:用户在“旅游攻略”一栏可以通过关键字进行搜索查看自己想要的旅游攻略信息,点击可以进入到旅游攻略的详细界面当中,在详情界面可以查看路线介绍、途径地点等各种详细信息,对喜欢的攻略可进行收藏。
(8)景点信息:用户在“景点信息”页面可以搜索查看自己喜欢的景点信息,点击可以进入到景点的详细界面当中,在详情界面可以查看景点的详细信息,对喜欢的景点可以进行在线预定、收藏、评论。
(9)特色民宿:用户在“特色民宿”页面可以搜索查看自己喜欢的民宿信息,点击可以进入到该民宿的详细界面当中,在详情界面可以查看民宿的详细信息,对喜欢的民宿可以进行在线预约、收藏、评论。
(10)乡村美食:用户在“乡村美食”页面可以搜索查看自己喜欢的美食信息,点击可以进入到该美食的详细界面当中,在详情界面可以查看美食的详细信息,对喜欢的美食可以进行查看视频、点赞或收藏。
(11)乡村视频:用户在“乡村视频”页面可以搜索查看系统所有的乡村视频信息,点击可以进入到该乡村视频的详细界面当中,在详情界面可以查看乡村视频的详细信息,对喜欢的视频可以进行查看视频、点赞或收藏。
(12)我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改+自己收藏的信息进行管控。
(13)个人中心:用户点击“个人中心”进入后台后台,可查看景点预约信息、民宿预定、订单配送、邻里交流、乡村留言和我的收藏进行管理。
(3)农产资讯:点击“农产资讯”这个菜单,可以查看到系统中所有添加的农产资讯,支持通过关键词进行查询,如果想要了解某一农产资讯的详细信息,点击后面的“详情”会进入详情查看界面,可以对农产资讯进行查看、点赞、收藏、评论等操作;
后台管理员管理模块:
(1)系统用户:管理员可以对前台上注册过的用户信息以及卖家用户进行管控,同时可以对管理员的信息进行管理。
(2)旅游攻略管理:点击“旅游攻略列表”可以查看到系统中的旅游攻略信息,如果想要添加新的旅游攻略,点击“旅游攻略添加”按钮,根据提示输入上旅游攻略信息,点击“提交”按钮,信息没有错误的话,添加就完成了,如果旅游攻略信息有误,可以对旅游攻略更新维护,也可以直接删除某一旅游攻略。
(3)景点信息管理:点击“景点信息列表”可以查看到系统中的景点信息,如果想要添加新的景点信息,点击“景点信息添加”按钮,根据提示输入上景点信息,点击“提交”按钮,信息没有错误的话,添加就完成了,如果景点信息有误,可以对景点信息更新维护,也可以直接删除某一景点信息。
(4)景点类型管理:点击“景点类型列表”可以查看到系统中的景点类型信息,如果想要添加新的景点类型,点击“景点类型添加”按钮,根据提示输入上景点类型信息,点击“提交”按钮,信息没有错误的话,添加就完成了,如果景点类型信息有误,可以对景点类型更新维护,也可以直接删除某一景点类型。
(5)景点预约管理:点击“景点预约列表”可以查看到系统中所有用户的景点预约信息,如果想要查看某个用户的景点预约详细信息,点击右边的“详情”进行查看,可对未审核的预约信息进行审核回复操作;
(6)特色民宿管理:点击“特色民宿列表”可以查看到系统中的特色民宿信息,如果想要添加新的特色民宿信息,点击“特色民宿添加”按钮,根据提示输入上特色民宿信息,点击“提交”按钮,信息没有错误的话,添加就完成了,如果特色民宿信息有误,可以对特色民宿更新维护,也可以直接删除某一特色民宿信息。
(7)民宿预定管理:管理员可在此栏查看所有用户的民宿预定信息,可进行详情或删除等相应操作;
(8)民宿退订管理:管理员可在此栏查看所有用户的民宿退订信息,可进行详情或删除等相应操作;
(9)美食分类管理:管理员可在此栏添加美食分类进行美食信息的管理,可进行重置或删除等相应操作;
(10)推广类型管理:管理员可在此栏添加推广类型进行推广信息的管理,可进行重置或删除等相应操作;
(11)系统管理:管理员可以对农村综合风貌展示平台中的轮播图信息进行发布和维护。
(12)留言管理:对前台用户的留言信息进行回复等相应操作;
(13)乡村公告管理:管理员可以对农村综合风貌展示平台中的乡村公告进行发布和维护。
(14)交流管理:管理员在“交流管理”一栏可对邻里交流以及交流分类进行维护管理。
(15)商城管理:管理员可以对农村综合风貌展示平台中显示的农产品信息及分类列表进行删改查以及订单信息和配送信息进行管理。
卖家管理模块
- 乡村美食管理:卖家在“乡村美食列表”一栏可查看自己店的所有美食信息,可进行重置、查看评论或删除等操作,点击“乡村美食添加”,按系统提示编辑美食信息进行完成乡村美食的添加操作;
- 乡村视频管理:卖家在“乡村视频列表”一栏可对所有的乡村视频进行维护管理,点击“乡村视频添加”按系统提示编辑乡村视频信息进行完成乡村视频信息的添加操作;
- 商城管理:管理员可以对农村综合风貌展示平台中显示的农产品信息以及订单信息和配送信息进行管理。
2.2.2 非功能性分析
农村综合风貌展示平台的非功能性需求比如农村综合风貌展示平台的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1农村综合风貌展示平台非功能需求表
安全性 | 主要指农村综合风貌展示平台数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指农村综合风貌展示平台能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响农村综合风貌展示平台占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着农村综合风貌展示平台的页面展示内容进行操作,就可以了。 |
可维护性 | 农村综合风貌展示平台开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
农村综合风貌展示平台的完整UML用例图分别是图2-1和图2-2及图2-3。在参与者上包括用户和卖家以及管理员。前台上用户角色用例包括用户是注册成为我们正是的用户、用户登录、首页、邻里交流、乡村公告、乡村留言、农产品、商城管理(我的购物车、我的订单、我的地址)、旅游攻略、景点信息、特色民宿、乡村美食、乡村视频、我的账户、个人中心(景点预约、民宿预订、民宿退订、订单配送、邻里交流、乡村留言、收藏)。用户角色用例如图2-1所示。
图2-1 农村综合风貌展示平台用户角色用例图
卖家可以进行登录、后台首页、乡村美食管理、乡村视频管理、留言管理、交流管理、商城管理(农产品、订单列表、订单配送)等。卖家角色用例如图2-2所示。
图2-2 农村综合风貌展示平台卖家角色用例图
web后台管理上的管理员是维护整个农村综合风貌展示平台中所有数据信息的,管理员可以进行登录、系统用户(管理员、普通用户、卖家)、旅游攻略管理、景点信息管理、景点类型管理、景点预约管理、特色民宿管理、民宿预约管理、民宿退订管理、乡村美食管理、美食分类管理、乡村视频管理、推广类型管理、系统管理、乡村公告管理、交流管理、商城管理(农产品、分类列表、订单列表、订单配送)等功能。管理员角色用例如图2-3所示。
2.4 业务流程分析
农村综合风貌展示平台的基本业务流程图如图2-4所示:
图2.5 业务流程图
2.5本章小结
本章主要通过对农村综合风貌展示平台的可行性分析、功能需求分析、系统用例分析,确定整个农村综合风貌展示平台要实现的功能。同时也为农村综合风貌展示平台的代码实现和测试提供了标准。
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关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | agricultural_products_id | int | 10 | 0 | N | Y | 农产品ID | |
2 | product_specifications | varchar | 64 | 0 | Y | N | 产品规格 | |
3 | product_origin | varchar | 64 | 0 | Y | N | 产品产地 | |
4 | seller | int | 10 | 0 | Y | N | 0 | 卖家 |
5 | seller_name | varchar | 64 | 0 | Y | N | 卖家名称 | |
6 | sellers_phone_number | varchar | 64 | 0 | Y | N | 卖家电话 | |
7 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
8 | cart_title | varchar | 125 | 0 | Y | N | 标题:[0,125]用于产品html的标签中 | |
9 | cart_img | text | 65535 | 0 | Y | N | 封面图:用于显示于产品列表页 | |
10 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于产品规格描述 | |
11 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原价:[1] |
12 | cart_price | double | 8 | 2 | N | N | 0.00 | 卖价:[1] |
13 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品库存 |
14 | cart_type | varchar | 64 | 0 | N | N | 未分类 | 商品分类: |
15 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:产品的主体内容 | |
16 | cart_img_1 | text | 65535 | 0 | Y | N | 主图1: | |
17 | cart_img_2 | text | 65535 | 0 | Y | N | 主图2: | |
18 | cart_img_3 | text | 65535 | 0 | Y | N | 主图3: | |
19 | cart_img_4 | text | 65535 | 0 | Y | N | 主图4: | |
20 | cart_img_5 | text | 65535 | 0 | Y | N | 主图5: | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表attraction_information (景点信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | attraction_information_id | int | 10 | 0 | N | Y | 景点信息ID | |
2 | attraction_id | varchar | 64 | 0 | Y | N | 景点编号 | |
3 | attraction_name | varchar | 64 | 0 | Y | N | 景点名称 | |
4 | types_of_attractions | varchar | 64 | 0 | Y | N | 景点类型 | |
5 | cover | varchar | 255 | 0 | Y | N | 封面 | |
6 | tourist_attraction_phone_number | varchar | 64 | 0 | Y | N | 景点电话 | |
7 | attraction_address | varchar | 64 | 0 | Y | N | 景点地址 | |
8 | accommodation_connection | varchar | 255 | 0 | Y | N | 住宿连接 | |
9 | details_introduction | longtext | 2147483647 | 0 | Y | N | 详情介绍 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表attraction_reservation (景点预约)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | attraction_reservation_id | int | 10 | 0 | N | Y | 景点预约ID | |
2 | attraction_id | varchar | 64 | 0 | Y | N | 景点编号 | |
3 | attraction_name | varchar | 64 | 0 | Y | N | 景点名称 | |
4 | types_of_attractions | varchar | 64 | 0 | Y | N | 景点类型 | |
5 | cover | varchar | 255 | 0 | Y | N | 封面 | |
6 | tourist_attraction_phone_number | varchar | 64 | 0 | Y | N | 景点电话 | |
7 | attraction_address | varchar | 64 | 0 | Y | N | 景点地址 | |
8 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
9 | appointment_date | date | 10 | 0 | Y | N | 预约日期 | |
10 | number_of_reservations | int | 10 | 0 | Y | N | 0 | 预约人数 |
11 | remarks | varchar | 64 | 0 | Y | N | 备注 | |
12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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]用于产品规格描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | featured_homestays_id | int | 10 | 0 | N | Y | 特色民宿ID | |
2 | display_number | varchar | 64 | 0 | Y | N | 展现编号 | |
3 | homestay_name | varchar | 64 | 0 | Y | N | 民宿名称 | |
4 | room_type | varchar | 64 | 0 | Y | N | 房间类型 | |
5 | cover | varchar | 255 | 0 | Y | N | 封面 | |
6 | room_unit_price | int | 10 | 0 | Y | N | 0 | 房间单价 |
7 | number_of_rooms | int | 10 | 0 | Y | N | 0 | 房间数量 |
8 | surrounding_attractions | varchar | 64 | 0 | Y | N | 周边景点 | |
9 | details_introduction | longtext | 2147483647 | 0 | Y | N | 详情介绍 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | food_classification_id | int | 10 | 0 | N | Y | 美食分类ID | |
2 | food_classification | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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]用来搜索指定类型的论坛帖 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 添加人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | homestay_reservation_id | int | 10 | 0 | N | Y | 民宿预定ID | |
2 | booking_number | varchar | 64 | 0 | Y | N | 预订单号 | |
3 | display_number | varchar | 64 | 0 | Y | N | 展现编号 | |
4 | homestay_name | varchar | 64 | 0 | Y | N | 民宿名称 | |
5 | room_type | varchar | 64 | 0 | Y | N | 房间类型 | |
6 | cover | varchar | 255 | 0 | Y | N | 封面 | |
7 | room_unit_price | int | 10 | 0 | Y | N | 0 | 房间单价 |
8 | booking_users | int | 10 | 0 | Y | N | 0 | 预定用户 |
9 | expected_date | date | 10 | 0 | Y | N | 预定日期 | |
10 | pre_order_quantity | int | 10 | 0 | Y | N | 0 | 预定数量 |
11 | stay_days | int | 10 | 0 | Y | N | 0 | 入住天数 |
12 | check_in_amount | varchar | 64 | 0 | Y | N | 入住金额 | |
13 | check_in_remarks | text | 65535 | 0 | Y | N | 入住备注 | |
14 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
15 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | logistics_delivery_id | int | 10 | 0 | N | Y | 物流配送ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 订单号 | |
3 | product_name | varchar | 64 | 0 | Y | N | 商品名称 | |
4 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
5 | total_transaction_amount | double | 11 | 2 | Y | N | 0.00 | 交易总额 |
6 | the_date_of_issuance | date | 10 | 0 | Y | N | 发货日期 | |
7 | delivery_number | varchar | 30 | 0 | Y | N | 配送订单 | |
8 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
9 | shipping_address | varchar | 64 | 0 | Y | N | 收货地址 | |
10 | delivery_status | varchar | 64 | 0 | Y | N | 配送状态 | |
11 | signing_status | varchar | 64 | 0 | Y | N | 签收状态 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | contact_name | varchar | 255 | 0 | Y | N | 联系人名字 | |
14 | merchant_id | int | 10 | 0 | Y | N | 商家id | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 待付款 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
23 | remark | text | 65535 | 0 | Y | N | 订单备注 | |
24 | delivery_state | varchar | 16 | 0 | Y | N | 未配送 | 发货状态:未配送,已配送 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | promotion_type_id | int | 10 | 0 | N | Y | 推广类型ID | |
2 | promotion_type | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | rural_cuisine_id | int | 10 | 0 | N | Y | 乡村美食ID | |
2 | food_name | varchar | 64 | 0 | Y | N | 美食名称 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | food_classification | varchar | 64 | 0 | Y | N | 美食分类 | |
5 | taste | varchar | 64 | 0 | Y | N | 口味 | |
6 | production_materials | varchar | 64 | 0 | Y | N | 制作材料 | |
7 | creating_videos | varchar | 255 | 0 | Y | N | 制作视频 | |
8 | fill_in_user_information | int | 10 | 0 | Y | N | 0 | 填报用户 |
9 | food_introduction | longtext | 2147483647 | 0 | Y | N | 美食介绍 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | rural_video_id | int | 10 | 0 | N | Y | 乡村视频ID | |
2 | title | varchar | 64 | 0 | Y | N | 标题 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | promotion_type | varchar | 64 | 0 | Y | N | 推广类型 | |
5 | video | varchar | 255 | 0 | Y | N | 视频 | |
6 | related_links | varchar | 255 | 0 | Y | N | 相关链接 | |
7 | details_introduction | longtext | 2147483647 | 0 | Y | N | 详情介绍 | |
8 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | seller_id | int | 10 | 0 | N | Y | 卖家ID | |
2 | seller_name | varchar | 64 | 0 | Y | N | 卖家名称 | |
3 | sellers_phone_number | varchar | 64 | 0 | Y | N | 卖家电话 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | tourism_strategy_id | int | 10 | 0 | N | Y | 旅游攻略ID | |
2 | line_name | varchar | 64 | 0 | Y | N | 线路名称 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | emergency_phone_number | varchar | 64 | 0 | Y | N | 紧急电话 | |
5 | route_location | text | 65535 | 0 | Y | N | 途径地点 | |
6 | route_introduction | longtext | 2147483647 | 0 | Y | N | 路线介绍 | |
7 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | types_of_attractions_id | int | 10 | 0 | N | Y | 景点类型ID | |
2 | types_of_attractions | 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 | 更新时间 |
表unsubscribe_from_homestays (民宿退订)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | unsubscribe_from_homestays_id | int | 10 | 0 | N | Y | 民宿退订ID | |
2 | booking_number | varchar | 64 | 0 | N | N | 预订单号 | |
3 | display_number | varchar | 64 | 0 | Y | N | 展现编号 | |
4 | homestay_name | varchar | 64 | 0 | Y | N | 民宿名称 | |
5 | room_type | varchar | 64 | 0 | Y | N | 房间类型 | |
6 | cover | varchar | 255 | 0 | Y | N | 封面 | |
7 | room_unit_price | int | 10 | 0 | Y | N | 0 | 房间单价 |
8 | booking_users | int | 10 | 0 | Y | N | 0 | 预定用户 |
9 | expected_date | date | 10 | 0 | Y | N | 预定日期 | |
10 | pre_order_quantity | int | 10 | 0 | Y | N | 0 | 预定数量 |
11 | stay_days | int | 10 | 0 | Y | N | 0 | 入住天数 |
12 | check_in_amount | varchar | 64 | 0 | Y | N | 入住金额 | |
13 | check_in_remarks | text | 65535 | 0 | Y | N | 入住备注 | |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
3.4本章小结
整个农村综合风貌展示平台的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 农村综合风貌展示平台详细设计与实现
农村综合风貌展示平台的详细设计与实现主要是根据前面的农村综合风貌展示平台的需求分析和农村综合风貌展示平台的总体设计来设计页面并实现业务逻辑。主要从农村综合风貌展示平台界面实现、业务逻辑实现这两部分进行介绍。
4.1 前台首页界面
在农村综合风貌展示平台的前台首页界面上采用了上+中+下的方式来布局界面,最右上角是登录+注册+搜索这三个链接,下面依次是导航栏+轮播图以及下面的公告栏,下面依次是推荐的农产品信息展示,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.2 用户注册界面
不是农村综合风貌展示平台中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+手机号+身份+用户姓名+性别等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。
图4-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);
}
4.3 用户登录界面
农村综合风貌展示平台中的前台上注册后的用户是可以通过自己的用户名+密码+验证码进行登录的,当用户输入完整的自己的用户名+密码+验证码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的用户名+密码+验证码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到农村综合风貌展示平台的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3用户登录界面图
登录代码如下:
* 登录
* @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, "账号或密码不正确");
}
}
4.4密码修改模块
用户使用该系统注册完成后,用户对登录密码有修改需求时,系统也可以提供用户修改密码权限。系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败,下面的图片展示的就是该板块对应的界面。
图4-4 密码修改界面图
密码修改代码如下:
/**
* 修改密码
* @param data
* @param request
* @return
*/
@PostMapping("change_password")
public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
// 根据Token获取UserId
String token = request.getHeader("x-auth-token");
Integer userId = tokenGetUserId(token);
// 根据UserId和旧密码获取用户
Map<String, String> query = new HashMap<>();
String o_password = data.get("o_password");
query.put("user_id" ,String.valueOf(userId));
query.put("password" ,service.encryption(o_password));
int count = service.selectBaseCount(service.count(query, service.readConfig(request)));
if(count > 0){
// 修改密码
Map<String,Object> form = new HashMap<>();
form.put("password",service.encryption(data.get("password")));
service.update(query,service.readConfig(request),form);
return success(1);
}
return error(10000,"密码修改失败!");
}
4.5系统用户界面
管理员可以查看某一用户详情,可以对系统用户进行查询、重置、添加和删除操作,系统用户界面如下图4-5所示:
图4-5系统用户界面图
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";
}
4.6 农产品界面
当访客点击农村综合风貌展示平台中导航栏上的“农产品”后将会进入到该“农产品”信息列表的界面,用户可以点击搜索查看自己喜欢的农产品,点击可以进入到农产品的详情界面当中,在详情界面可以查看农产品的各种参数,对喜欢的农产品可以加购、立即购买、收藏、评论等操作,农产品详情界面如下图4-7所示。农产资讯由卖家后台进行添加,添加农产品信息如下图4-8所示。
图4-7农产品详情界面图
4-8卖家添加农产品界面图
4.7 景点信息详情界面
用户在“景点信息”页面可以搜索查看自己喜欢的景点信息,点击可以进入到景点的详细界面当中,在详情界面可以查看景点的详细信息,对喜欢的景点可以进行在线预定、收藏、评论等操作,景点预定展示页面如图4-9所示,景点信息由管理员后台添加,如图4-10所示,
图4-9 景点预定界面图
图4-10 管理员添加景点信息界面图
4.8乡村美食界面
用户在“乡村美食”页面可以搜索查看自己喜欢的美食信息,点击可以进入到该美食的详情界面当中,在详情界面可以查看美食的详细信息,对喜欢的美食可以进行查看视频、点赞或收藏等操作,美食详情界面如下图4-11所示。乡村美食信息由卖家进行添加,添加美食界面如下图4-12所示。
图4-11乡村美食详情界面图
4-12 卖家添加美食信息界面图
4.9 商城管理界面
商城管理包括“我的订单”、“我的购物车”和“我的地址”这三个子菜单。用户可以查看我的订单和我的购物车信息,同时可以对购物车的商品进行购买或删除操作,可以对我的地址进行新增操作。以我的购物车为例其界面如下图4-13所示:
图4-13 商城管理界面图
4.10我的账户
用户在“我的账户”页面中可以对个人资料和密码等信息进行修改操作。个人资料界面如图4-14所示。
图4-14修改个人资料界面图
4.11 收藏界面
用户在“收藏”页面可以查看自己收藏的信息,对收藏信息可进行删除操作,收藏界面如下图4-15所示。
图4-15 收藏界面图
4.12邻里交流界面
用户可在“邻里交流”页面可查看系统中的所有论坛信息,也可编辑论坛内容进行发布与其他用户进行交流,发布论坛如下图4-17所示。
4-16发布论坛界面图
4.13旅游攻略界面
用户在“旅游攻略”一栏可以通过关键字进行搜索查看自己想要的旅游攻略信息,点击可以进入到旅游攻略的详细界面当中,在详情界面可以查看路线介绍、途径地点等各种详细信息,对喜欢的攻略可进行收藏,旅游攻略详情界面如下图4-17所示,旅游攻略信息由管理员进行添加,添加旅游攻略信息界面如下图4-18所示。
4-17 旅游攻略详情界面图
5 系 统 测 试
系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。
5.1系统测试的目的
一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。
5.2 系统测试用例
系统测试包括:管理员登录功能测试、农产品查看功能测试、商品添加功能测试、加入购物车购买功能测试,如表5-1、5-2、5-3、5-4所示:
管理员登录功能测试:
表5-1 管理员登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
登录模块测试 | 登录成功的情况 | 管理员可以通过浏览器进入到农村综合风貌展示平台后台登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。 | 成功登录到管理员管理的界面 | 正确 |
登录模块测试 | 登录失败的情况 | 管理员可以通过浏览器进入到农村综合风貌展示平台后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。 | 系统提示“用户名和密码不匹配” | 正确 |
乡村公告查看功能测试:
表5-2 乡村公告查看功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询乡村公告信息功能测试 | 查询成功的情况 | 用户在导航栏中点击“乡村公告”,输入关键词查询公告信息,输入的公告信息在系统中存在,显示查询公告信息 | 查询成功 | 正确 |
商城管理商品添加界面测试:
表5-3 卖家添加商品界面测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
商品添加模块测试 | 商品添加成功的情况 | 在“商城管理”菜单中点击“农产品”会显示出所有的商品信息,点击“添加”,输入商品信息,输入正确的信息后,点击“提交”按钮。 | 提示添加成功 | 正确 |
商品添加模块测试 | 商品添加失败的情况 | 在“商城管理”菜单中点击“农产品”会显示出所有的商品信息,点击“添加”,不输入标题,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,标题不能为空” | 正确 |
加入购物车购买功能测试:
表5-4 加入购物车购买功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
加入购物车购买功能测试 | 购买的情况 | 用户在农产品的商品详情页面,点击“加入购物车”,然后在“我的购物车”界面,点击“购买”按钮,进行付款。 | 加入购物车购买成功 | 正确 |
5.3 系统测试结果
本次开发的系统主要是农村综合风貌展示平台是帮助乡村景点、美食的宣传、乡村农产品的销售购买的系统,主要功能就是实现用户的在线购买,通过对管理员登录、商品查询、商品添加、加入购物车购买这几个方面的测试可以看出系统的基本可以实现用户对商品购买的功能,而且在测试的过程中也对界面的展示进行了查看,发现界面并没有出现扭曲、混乱等情况,能够满足用户的需求,系统运行良好,是可以进行投入使用的。一个系统设计好后,就会进入测试阶段,测试的目标是检验设计好的网站是否可以正常无误的运行,尽可能的发现网站的问题,已使后期网站投入使用后网站尽少出错。
结 论
本系统通过对java和Mysql数据库的简介,从硬件和软件两反面说明了农村综合风貌展示平台的可行性,本文结论及研究成果如下:实现了java与Mysql相结合构建的农村综合风貌展示平台,网站可以响应式展示。通过本次农村综合风貌展示平台的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户。
由于在此之前对于java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。
通过这次农村综合风貌展示平台的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。
实践证明,农村综合风貌展示平台有着非常好的发展前景,经过测试运行,系统各项功能都十分完善,界面漂亮,使用方便,操作容易,在技术理论上已经成熟
参 考 文 献
[1]叶志良. 新农村新农人的青春展示 评现代越剧《祝家庄里的年轻人》[J]. 中国戏剧, 2023, (12): 47-48.
[2]Zhang Xiao, Yu Ali, Wang Xin, Zhang Xue. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis[J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
[3]杨华, 徐扬. MySQL数据库对中文编码支持的探讨[J]. 网络安全和信息化, 2023, (10): 157-160.
[4]尹应荆. JAVA编程语言在计算机软件开发中的应用[J]. 石河子科技, 2023, (05): 45-47.
[5]赵停停. 基于MySQL数据库技术的Web动态网页设计研究[J]. 信息与电脑(理论版), 2023, 35 (17): 174-176.
[6]Courtney Allen, Alexandra Mazanko, Niloofar Abdehagh, Hermann J. Eberl. A New ODE-Based Julia Implementation of the Anaerobic Digestion Model No. 1 Greatly Outperforms Existing DAE-Based Java and Python Implementations[J]. Processes, 2023, 11 (7):
[7]传承弘扬中华优秀传统文化 展示宣传农业农村发展成就[J]. 旗帜, 2023, (03): 79.
[8]王宝玉. 新时代 新农村 新风貌[J]. 党史博采(上), 2023, (02): 2.
[9]Maruti Endang Sri, Yulianto Bambang, Suhartono Suhartono, Yohanes Budinuryanta, Cahyono Bambang Eko Hari. Scale development as a measuring tool of critical Javanese language’ awareness for pre-service Javanese teachers[J]. Cogent Arts & Humanities, 2022, 9 (1):
[10]仪陇县电商产业园推进农村电子商务发展的综合展示平台[J]. 四川劳动保障, 2022, (02): 61.
[11]吴秋颖, 樊雨蒙, 丁晓红. 农村风貌特色塑造策略研究——以淮安地区为例[J]. 建筑与文化, 2022, (02): 104-106.
[12]王永强. 展示农村新面貌农业新产品农民新风采[N]. 西江日报, 2021-09-17 (001).
[13]杨加平. “一户一策”在农村整体风貌改造中的实践与应用——以武定县老木坝自然村为例[J]. 住宅与房地产, 2021, (21): 262+284.
[14]詹进林, 彭斌. 农村基础空间数据查询与展示系统的设计与实现[J]. 测绘与空间地理信息, 2021, 39 (07): 121-123+127.
[15]谢淦辉. 乡村旅游的发展模式及对策研究[D]. 华南农业大学, 2020.
[16]农村百事通电商平台展示[J]. 农村百事通, 2020, (09): 70-71.
[17]白丹, 闫煜涛. 生产性景观在农村及偏远地区大遗址保护与展示中的应用研究[J]. 华中建筑, 2020, 34 (02): 165-168.
[18]孙志伟. 把齐扎公路建成我市农村形象展示的窗口[N]. 齐齐哈尔日报, 2019-04-14 (001).
[19]李云 , 冰蓝. 建设新农村 展示新成就[N]. 科学导报, 2019-11-01 (012).
[20]董文胜, 申海龙. 新乡的新农村建设展示了农村发展的方向[N]. 新乡日报, 2018-07-02 (001).
致 谢
通过这样设计与开发这样一个系统,首先向我们老师、同学和朋友表达真诚的感谢。没有指导老师的指导和平日子的教导,我也不能够学到如此多的专业知识。另外,也佩服老师兢兢业业的工作态度,给我们做好了表率。系统开发技术要学习的东西很多,前台框架、后台框架、业务流程、数据结构、操作系统等各种知识非常的丰富,都需要慢慢的专研。在这里,首先感谢老师细心的教导,我只想说一句:“老师,谢谢您,您辛苦了!有您在,大学生活才更加的充实。”另外,我要感谢我的室友,由于知识掌握得不够产生各种问题,正因为有了你们的帮忙,给我提出很多很好的建议,才能更好的解决系统开发问题。同时,我也应该感谢那些计算机专业的先哲们,正是由于有这么一群人,才能把这样的专业研究得如此透彻,才能助力新世界的诞生。你们的理论,是我们一生学习的内容,你们的成就,是我们一生追求的目标。
最后,也希望自己在未来的道路上能够走得更远,不辜负在大学的学习,以及老师们的细致的教导。