网站制作资讯西安seo网站优化
1.WEB端旅游线路发布模块
旅游公司在Web端点击新增旅游线路按钮,浏览器请求发送到Nginx,Nginx反向代理到网关,网关去找微服务,微服务实现具体的旅游线路发布功能
旅游公司工作人员在Web端点击新增旅游线路按钮,浏览器向Nginx发送请求。
Nginx接收到浏览器发来的请求后,根据配置文件进行反向代理,将请求转发给API网关。
API网关接收到请求后,根据Nacos中的服务注册中心找到实现旅游线路发布功能的行程微服务,并把请求转发给该微服务。
行程微服务接收到请求后,把前端录入的旅游线路信息(包括线路名称、价格、景点、行程、出发时间等字段)保存到MySQL数据库中。
行程微服务处理完请求后,把响应结果返回给网关。
最后,网关把处理后的响应结果返回给Nginx,Nginx再把结果返回给Web端,Web最终展示给用户。
2.APP端旅游线路查询模块
用户在APP端点击搜索框,输入查询内容,点击搜索的时候,请求发送到nginx,nginx反向代理到网关,网关找行程微服务,行程微服务使用了ES实现关键字搜索功能,之后把响应结果返回到前端展示。
游客在APP端点击搜索框并输入查询内容,然后点击搜索。
APP会把搜索请求发送到Nginx服务器,Nginx服务器会根据配置的反向代理规则把请求转发给网关。
网关接收到请求后会根据请求中的URL路径和HTTP方法,把请求转发给行程微服务。
行程微服务接收到请求后,会使用ElasticSearch进行关键字搜索,并获取匹配的结果。
行程微服务会把搜索结果返回给网关。
网关把响应结果返回给Nginx服务器。
Nginx服务器将响应结果返回给游客APP端。
APP端展示搜索结果。
3.APP端出游私人定制模块
私人订制模块分为个人定制和团队定制两种方案。
用户在APP端点击私人订制按钮,然后填写需求,录入出发地、目的地、出发时间、返程时间、人员信息、人均预算信息。
然后点击提交需求按钮。
运营管理端人员在Web端进行审核行程通过之后,就可以进行签约付款。
签约付款结束之后,游客就可以按照预定的时间出游。
用户点击私人定制按钮,填写需求,包括出发地、目的地、出发时间、返程时间、人员信息和人均预算信息。
用户点击提交需求按钮,将用户填写的需求信息发送到后端服务器。
运营管理人员在Web端登录系统,查看待审核的需求列表,运营管理人员查看需求详细信息并对需求进行审核,判断是否符合要求,如果需求通过审核,进入签约付款阶段。
最后用户在APP端完成付款,支付预定费用,按照预定的时间出游。
4.APP端客服模块
用户点击APP端的客服的联系客服按钮,前端会向后端发送一个请求,打开聊天窗口并连接聊天服务器,请求用WebSocket实现,保证即时通信。请求中包含用户个人信息(姓名、联系方式等),信息经过加密后发送到后端。
后端收到前端发来的请求后,先验证用户身份和权限。
若用户是已注册用户,就从数据库中获取用户信息,验证用户身份。
若用户是未注册用户,需要通过手机验证码等方式来验证。
验证通过后,后端调用聊天服务器的API建立连接并打开聊天窗口。
聊天过程中,后端会监听聊天服务器的信息,把消息记录保存到MongoDB数据库中。
用户关闭聊天窗口时,后端会中断与聊天服务器的连接,并返回确认消息给前端。后端会把聊天记录从MongoDB中都取出来并发送给前端,前端可以展示聊天记录。
5.APP端搜索历史功能
6.APP端用户下单支付功能
7.APP端签约合同和保险功能
用户在APP端下单时,选择保险方案并填写相关信息,点击提交订单按钮。后端接收到订单请求后,先对用户提交的数据进行校验和处理,检查保险方案的有效性。
合同的保存方面,我们首先准备了一个合同模板文件,使用FreeMarker语法标记需要用户动态填充的部分,比如参保人姓名、保险金额、有效期等。
从第三方保险公司获取要填充到合同的相关信息,把获取到的保险信息和合同模板整合,生成最终的合同内容。
然后用Java的iText库生成PDF文件。
之后连接MinIO服务器,创建存储桶(Bucket),把生成的PDF文件上传到存储桶中。
最后后端把升成的PDF文件的URL给前端,前端提供下载链接供用户下载。