票务系统(机票)产品系统

我要开发同款
like2026年08月19日
12阅读

技术信息

语言技术
JavaJavaScriptVueMySQL
系统类型
Web
行业分类
生活旅游

作品详情

行业场景

项目介绍:
由重庆云上航空股份有限公司自主研发的一套票务系统,核心功能为出票、退票、改签;票务系统是包含了公司最核心的机票业务,核心目标是降低人工出票成本,提高出票效率和准确率;票务系统上游有销售前置系统、运价直连系统,下游是采购系统;

功能介绍

1、从0.1到1的完成了出票模块的所有核心功能开发;如询价,生单,支付,回填等
2、设计并研发了高扩展性的代码结构,使得遇见新渠道、新策略时,对扩展开放,修改关闭
3、解决了出票员因各种原因所导致的多次点击批量询价按钮造成的流量浪费行为
4、设计了支付记录表,解决了订单重复支付
5、自定义了状态机,规范化了采购单在不同状态之间的转换行为
6、采用避峰出行的思想,避免了系统周期性的CPU飙高,内存溢出等风险
7、实现了对敏感字段在数据库加密存储,并对可能出现的重复加密,加密后加载到内存后未解密的情况,设计了一套严格的防范措施
8、解决了因下游采购系统发布或者本系统发布所导致的采购单数据不一致问题
9、针对热点渠道,引入缓存机制,提升查询效率,接口 RT 从30ms-50ms 提升到0.5ms-3ms
10、基于AOP+自定义注解+Redisson实现一套分布式锁注解,减少重复代码,降低出错
11、引入 RocketMQ 事务消息实现销售前置回填,保证数据一致性
12、负责用户认证模块的开发,利用SA-Token实现安全的用户登录、会话管理和权限验证功能

项目实现

我负责的任务:完成出票全流程开发;设计高扩展性架构支撑新渠道/新策略快速接入;自定义状态机规范采购单状态流转;设计支付记录表防重复支付;实现敏感字段加密存储与防重复加密/自动解密机制;用 SA-Token 搭建用户认证与权限体系;基于 AOP + Redisson 封装分布式锁注解减少重复代码;引入缓存把热点渠道查询 RT 从 30~~50ms 压到 0.5~~3ms;用 RocketMQ 事务消息实现销售前置回填保证数据一致性;用避峰出行策略削平周期性 CPU/内存波峰;解决系统发布导致的数据不一致问题;加防抖幂等防止批量询价重复点击浪费流量。

技术栈:Java + Spring Boot,MySQL(支付记录表、状态机持久化),Redis(热点渠道缓存),Redisson(分布式锁),RocketMQ(事务消息),SA-Token(认证与会话),自定义注解 + AOP(锁注解封装),状态机自研实现。

亮点:出票全链路从零搭建并落地生产;查询性能降一个数量级(30~~50ms → 0.5~~3ms);事务消息 + 支付流水唯一约束双保险防重复支付和数据不一致;敏感字段加密有完整的"防重加密 + 自动解密"兜底机制。

难点:出票系统链路长(询价→生单→支付→回填→对账),任何一环并发或幂等没做好都会出资损。最大的挑战是在高并发下保证"不重复支付、不重复出票、状态不乱跳"三件事同时成立——靠状态机硬约束 + 分布式锁防并发 + 事务消息保最终一致 + 支付流水唯一约束兜底,多层防线才稳住。另一个坑是敏感字段加密:初期出现过"加密后重复加密导致读不出来"和"加载到内存忘记解密"的问题,后来加了加密标记位 + 加载时自动检测解密,才算闭环。、

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论