基于Spring Boot+Vue的私人定制旅游系统(协同过滤算法、实时聊天)
🎈系统亮点:协同过滤算法、实时聊天;
一.系统开发工具与环境搭建
1.系统设计开发工具
后端使用Java编程语言的Spring boot框架
项目架构:B/S架构
运行环境:win10/win11、jdk17
前端:
技术:框架Vue.js;UI库:ElementUI;
开发工具:Visual Studio Code;
后端:
技术:Java语言、mybatis plus、Spring boot框架;
开发工具:IDEA 2023.3.3版本;
数据库:
数据库:mysql5.7/8.0
数据库工具:Navicat12版本;
二.需求分析
1、用户
用户具有景点查看,查看通知公告,浏览旅游攻略,旅游预约,支付订单,旅游论坛交流,咨询客服(私人定制,把需求描述给客服,客服会为用户定制一套方案,线下进行带队),个人中心功能。
2、管理员
管理员具有用户管理,封面管理,客服管理,系统通知,旅游攻略,景点管理(景点分类、景点、景点预约配置、景点评价、预约记录),交流管理(交流类型、分享交流、交流评论、浏览记录、交流收藏)。
三. 系统实现(部分展示)
3.1 注册功能模块实现
用户进入注册界面,输入用户名,姓名,密码,二次确认密码,上传头像,输入图形验证码,完成注册操作,调用后端Register接口,传递参数,根据用户名称或用户电话号码进行查询用户表AppUser,如果已经存在,则提示已经存在该用户,如果不存在,则进行创建用户信息。注册界面如图5.1所示。
3.2 登录功能模块实现
用户进入登录界面,输入已经注册好的账号,密码,选择对应的角色,输入图形验证码,完成登录操作。调用后端SignIn接口,传递参数进行查询用户表AppUser,如果查询不到信息,则报错“请检查登录的账号或者密码,角色是否都正确!”。可以查到该用户信息,然后使用JWT生成一个token,最后向前端返回这个token。登录界面如图所示。
3.3 旅游景点功能模块实现
用户进入前台首页可以浏览广告轮播图展示、景点分类和推荐景点,点击“在线客服”可以与客服聊天对话,同时拥有搜索功能支持用户通过景点信息关键字搜索相关景色。顶部导航栏支持用户进行切换其他功能模块。调用/Banner/List接口返回轮播图数据给前端进行展示,根据/ViewSpot/List接口展示推荐的景点信息,使用/ViewSpotType/List接口展示景点分类信息。关键代码 A.1。
3.3.1旅游景点展示
3.3.2 景点预约
用户通过搜索或者选择喜欢的景点,查看景点详情,包含可预约的时间段,票价,景点介绍等信息,选择预约的时间,选择预约。
3.3.3景点支付
用户选择完时间后,进入支付界面,选择游客的信息,选择支付的方式,确认支付金额,点击提交。调用/AppointmentRecord/CreateOrEdit接口,进行支付。
3.3.4旅游景点管理
管理员可以上传新的景点信息。包括景点名称、景点类别、地址、经纬度、开放时间等相关信息。通过调用接口/ViewSpot/List,从数据库ViewSpot表进行分页查询获取景点数据,并且查询出相关联的景点分类的信息,然后返回给前端。景点管理界面如图所示。
3.4 通知公告功能模块实现
3.4.1通知公告展示
通知公告界面展示系统的所有的公告信息,点击内容浏览,可以查看通知公告的详情信息。通过调用/SysNotice/List接口,获取所有的公告信息。右半边展示景点分类信息,点击不同的景点分类,将展示不同的分类下的景点信息。通知公告界面如图所示。
3.4.2 通知公告管理
管理员进行上传系统通知,保证系统的紧急通知或者系统的更新或者维护及时通知给用户。通知公告管理界面如图5.8所示。
3.5 攻略功能模块实现
3.5.1旅游攻略展示
攻略界面将以瀑布流形式进行展示,主要以图片+文字形式出现。点击攻略,可以查看攻略的详情信息。/ViewSpotStrategy/List展示所有攻略,查看攻略详情使用/ViewSpotStrategy/Get接口进行查询。攻略界面如图所示。
3.5.2 旅游攻略管理
管理员在旅游攻略功能中可以查看所有的攻略,通过调用/ViewSpotStrategy/List接口请求数据,并将数据显示到前端。同时,管理员还可以查看详细内容,对上传的旅游攻略进行删除和修改操作。旅游攻略界面如图所示。
3.6 旅游论坛功能模块实现
3.6.1 旅游论坛展示
在旅游论坛,用户可以发表帖子,与其他用户进行交流和讨论。此外,用户还可以收藏自己感兴趣的帖子,以便日后查看和参考。根据接口/ViewSpotType/List展示所有的话题类型,/Topic/List接口展示对应分类下的所有的话题。界面如图所示。
3.6.2 旅游论坛管理
管理员进行管理旅游论坛,对文章进行审核,审核通过的才可以进行上架,显示在前端。管理员会对于不友好的评价进行删除,维护社区的秩序。旅游论坛管理界面如图所示。
3.7 私人定制功能模块实现
3.7.1 用户私人定制
用户拥有便捷的沟通渠道,可以随时与客服进行一对一的私密对话。通过这种方式,用户可以直接与客服人员联系,详细地阐述自己的具体需求和期望。在充分理解用户的需求之后,客服人员会依据用户的具体情况,开始制定个性化的服务方案。客服将利用他们的专业知识和丰富经验,为用户量身打造一个既满足用户需求又具有高效解决方案的定制计划。私人定制功能界面如图所示。
3.7.2 管理员沟通私人定制
管理员通过用户的需求进行细致的交流沟通。从初步接触到方案实施的每一个环节,我们都确保与用户保持密切的沟通,确保最终提供的方案能够完美契合用户的期望和要求。定制一套属于客户独有的旅游方案。私人定制功能界面如图所示。
3.8 景点旅游配置功能模块实现
3.8.1景点旅游配置
景点旅游配置,管理员配置景点的时间段、价格以及数量,能够确保旅游资源的合理使用。通过调用ViewSpotAppointSetting/List调用数据库表ViewSpotAppointSetting,实现数据的获取和更新。当景点预约设置发生变化时,管理员也可以通过更新该表,将最新的配置信息同步到数据库中,确保数据的准确性和时效性。关键代码 A.2。