当前位置: 首页 > news >正文

业务逐字稿

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给前端,前端提供下载链接供用户下载。

相关文章:

业务逐字稿

1.WEB端旅游线路发布模块 旅游公司在Web端点击新增旅游线路按钮,浏览器请求发送到Nginx,Nginx反向代理到网关,网关去找微服务,微服务实现具体的旅游线路发布功能 旅游公司工作人员在Web端点击新增旅游线路按钮,浏览器…...

微服务舞台上的“三步曲“:Spring Cloud 服务注册、服务发现与服务调用

在当今软件开发的舞台上,微服务架构已然成为引领潮流的主角。而在这场微服务的大戏中,Spring Cloud 以其强大的工具集成为关键演员,为我们呈现了一个完美的"三步曲":服务注册、服务发现与服务调用。 第一步&#xff1a…...

中间件

在 Java 开发中,中间件是指位于应用程序和操作系统之间的软件层,它提供了一些通用的功能和服务,帮助简化开发和部署过程,提高系统的可靠性、性能和可扩展性。 常见的 Java 中间件包括: 1.应用服务器(Appl…...

4D毫米波雷达——ADCNet 原始雷达数据 目标检测与可行驶区域分割

前言 本文介绍使用4D毫米波雷达,基于原始雷达数据,实现目标检测与可行驶区域分割,它是来自2023-12的论文。 会讲解论文整体思路、输入分析、模型框架、设计理念、损失函数等,还有结合代码进行分析。 论文地址:ADCNe…...

「优选算法刷题」:提莫攻击

一、题目 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。 当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。 正式地讲,提莫在 t 发…...

260:vue+openlayers 通过webgl方式加载矢量图层

第260个 点击查看专栏目录 本示例介绍如何在vue+openlayers中通过webgl方式加载矢量图层。在做这个示例的时候,采用vite的方式而非webpack的方式。这里的基础设置需要改变一下。 ol的版本7.5.2或者更高。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文…...

Android 8.1 相关修改

一些常用修改,做个记录,为了节约时间和防止踩坑。 一、修改默认中文 修改位置: build\make\target\product\full_base.mk 修改内容: # Put en_US first in the list, so make it default. PRODUCT_LOCALES : zh_…...

EG-2121CA (晶体振荡器 低抖动表面声波(SAW)振荡器)

在当今高度数字化的时代,稳定的信号传输显得尤为重要。若要实现信号的稳定传输,晶体振荡器必不可少。EG-2121CA,它是一款低抖动表面声波(SAW)振荡器设计的产品,凭借其出色的频率范围、稳定的电源电压和可靠…...

Django知识随笔

目录 1.如何再ajax中传输post数据? 2.在form表单中使用jquery序列化,input框过多。 1.如何再ajax中传输post数据? 在ajax传递的那个网址,会调用你路由的视图函数,在视图函数上面加一句 csrf_exempt 。写上之后会有提…...

Facebook 广告帐户:多账号运营如何防止封号?

Facebook目前是全球最受欢迎的社交媒体平台之一,拥有超过27亿活跃用户。因此,它已成为个人和企业向全球受众宣传其产品和服务的重要平台。 然而,Facebook 制定了广告商必须遵守的严格政策和准则,以确保其广告的质量和相关性&…...

酷开会员 | 用酷开系统点亮多彩休闲时刻

现代人的休闲方式多种多样,随着科技的发展和生活水平的提高,人们有了更多的选择。而电视,作为一个休闲娱乐的载体,在生活中扮演着重要的角色。 以前,电视是家家户户休闲娱乐的重要组成部分,现在&#xff0…...

分配土地(100%用例)C卷(JavaPythonC++Node.jsC语言)

从前有个村庄,村民们喜欢在各种田地上插上小旗子,旗子上标识了各种不同的数字。某天集体村民决定将覆盖相同数字的最小矩阵形的土地的分配给为村里做出巨大贡献的村民,请问,此次分配士地,做出贡献的村民中最大会分配多大面积? 输入描述: 第一行输入m和n,m代表村子的土…...

电源的纹波

【电源的“纹波”到底是什么?-哔哩哔哩】 https://b23.tv/28IIbtU 严谨的说,只有中间这种是纹波。 两类电源 线性电源通过自动调节内部电阻,修改输出电压,可以降低输入电压的波动。开关电源的原理,就会产生纹波。纹波…...

85.网游逆向分析与插件开发-物品使用-物品使用的逆向分析与C++代码的封装

内容参考于:易道云信息技术研究院VIP课 上一个内容:项目需求与需求拆解-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:453dd83d54140d2e1ee65c9…...

JVM系列——垃圾收集器

对象存活判断 引用计数法 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。 可达性分析算法 通过一系列称为“GC …...

那些年与指针的情仇(二)---二级指针指针与数组的那点事函数指针

关注小庄 顿顿解馋(。・∀・)ノ゙ 欢迎回到我们的大型纪录片《那些年与指针的爱恨情仇》,在本篇博客中我们将继续了解指针的小秘密:二级指针,指针与数组的关系以及函数指针。请放心食用&a…...

APPCRASH 文件管理器不停重启问题记录 (最后reinstall解决)以及重装后到底会怎样

问题诱因: 时间 2024年1月 (严重怀疑,但无法实锤) 是我不知道什么时候(应该是近期)安装了powertoy的预览版,系统不知道什么时候(也应该是这两天)安装了微软出品的PC man…...

导出excel功能,前端的解决方案

import { utils, writeFileXLSX } from xlsx // 导出excel async exportToExcel() {// 获取要导出的业务数据(这里的接口自己改成实际使用的接口)const res await getRuleListAPI(this.params)// 表头英文字段key(这里的数据改成接口返回的实…...

【lesson24】MySQL索引的理解

文章目录 建立测试表插入多条记录查看插入结果中断一下---为何IO交互要是 Page重谈page理解单个page理解多个page 页目录单页情况多页情况复盘一下InnoDB 在建立索引结构来管理数据的时候,其他数据结构为何不行?B vs B聚簇索引 VS 非聚簇索引 建立测试表…...

Oracle篇—分区索引的重建和管理(第三篇,总共五篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

什么是EULA和DPA

文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...

HTML中各种标签的作用

一、HTML文件主要标签结构及说明 1. <&#xff01;DOCTYPE html> 作用&#xff1a;声明文档类型&#xff0c;告知浏览器这是 HTML5 文档。 必须&#xff1a;是。 2. <html lang“zh”>. </html> 作用&#xff1a;包裹整个网页内容&#xff0c;lang"z…...