业务逐字稿

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端搜索历史功能

用户在APP端进行旅游线路搜索操作,输入关键词然后点击搜索按钮。

APP前端向后端服务器发送HTTP请求,把用户的搜索历史数据作为请求的一部分发送给后端。

后端接收到前端发送的请求之后,根据路由和业务逻辑把请求代理到对应的控制器。

后端对接收到的搜索历史数据进行验证和处理,之后连接MongoDB数据库,把搜索历史记录(包含用户ID、搜索内容、时间戳等字段)保存到搜索历史记录表中。

保存完成之后,后端向前端发送HTTP响应,返回前端请求的处理结果。

6.APP端用户下单支付功能

用户按需选择好出游路线,签订好订单之后,使用RabbitMQ的延迟队列实现订单支付状态的更新。

用户在APP中选择好出游路线之后,填写订单信息,之后前端把订单信息作为请求的一部分发送给后端。

后端接收到订单消息之后,生成订单,把订单数据保存到数据库中,订单状态设置为未支付。

然后把订单信息投递到RabbitMQ的延迟队列中,设置延迟时间为15分钟。

延迟队列中的消息会在设置的延迟时间后变为可消费状态,然后消费者可以接收到消息并执行订单支付状态的更新操作。

若在订单支付有效期内,用户完成了支付,后端会接收到支付成功的通知,并把订单状态更新为已支付。

如果用户没在规定时间内完成支付,就会执行超时逻辑,将订单状态更新为超时未支付。

7.APP端签约合同和保险功能

用户在APP端下单时,选择保险方案并填写相关信息,点击提交订单按钮。后端接收到订单请求后,先对用户提交的数据进行校验和处理,检查保险方案的有效性。

合同的保存方面,我们首先准备了一个合同模板文件,使用FreeMarker语法标记需要用户动态填充的部分,比如参保人姓名、保险金额、有效期等。

从第三方保险公司获取要填充到合同的相关信息,把获取到的保险信息和合同模板整合,生成最终的合同内容。

然后用Java的iText库生成PDF文件。

之后连接MinIO服务器,创建存储桶(Bucket),把生成的PDF文件上传到存储桶中。

最后后端把生成的PDF文件的URL给前端,前端提供下载链接供用户下载。

你可能感兴趣的:(简历业务逐字稿,java)