1. 服务概述 pay-service 是 12306 系统的支付服务,负责处理订单支付、支付回调、退款等核心支付业务。 2. 核心业务流程 第三方支付 → 回调通知 → 验证签名 → 更新支付状态 → 通知订单服务 2.1 支付发起流程 详细步骤: 接收支付请求:PayController.pay() 接收前端支付请求 参数转换:Pay…
一.查询车站&城市站点集合信息 @GetMapping("/api/ticket-service/region-station/query")public Result<List<RegionStationQueryRespDTO>> listRegionStation(RegionStationQueryReqDT…
一、用户注册、登录流程 1. 用户注册 主要流程 前端调用 /api/user-service/register 接口,传入 UserRegisterReqDTO(包含用户名、密码、手机号、证件号等信息)。 控制器 UserInfoController 调用 UserLoginServic…
1. 基础接口和抽象概念 Cache.java - 缓存基本接口,了解缓存的基本操作 DistributedCache.java - 分布式缓存接口,扩展了基本缓存接口 MultistageCache.java - 多级缓存接口 2. 核心设计模式和组件 core包下的组件: CacheLoader.java…
1. 错误码规范 (errorcode 包) IErrorCode 接口 这是错误码的基础接口,定义了错误码应该具有的两个基本方法: code(): 获取错误码 message(): 获取错误信息 BaseErrorCode 枚举 这是实现了 IErrorCode 接口的基础错误码枚举,定义了系统中常见的错误类型: 一级宏观错误…
BeanUtil 工具类解析 BeanUtil 是12306项目中的一个重要工具类,位于 frameworks/common 模块中,主要用于对象属性的复制和转换操作。这个类封装了对象间属性映射的常见操作,使代码更简洁、可读性更强。 底层依赖: 使用Dozer框架(DozerBeanMapperBuilder…
Mapper的Example 以前都是自己写一个mybatis语句然后直接调用,这样写构建查询条件时候其实很不灵活方便,在最近的实习生学习中,渐渐使用到了通用Mapper,但是之前根本就没接触过。其实同效果的SQL不难,但是改成相应的example难免有些不熟悉。 下面看看用之前和用之后: // 执行查询 return userMapper.sel…
缺少中间对象 在写es导入数据时候,查询出来的数据缺少标题内容等,然后开始排查,下面先贴一段源代码 public CaseInfoResponse relevantCaseInfo(CaseInfoForm caseInfoForm) { CaseInfoResponse caseInfo = new CaseInfoResponse(); log…
Postman 查询参数: 这些参数附加在请求URL的末尾,查询参数附加在请求URL的末尾,在'?之后。 '并以键值对的形式列出,并用'&'语法分隔: ?id=1&type=new,http://example.com/users/{userId} 路径参数: 这些是请求URL的一部分,可以使用占位符(以": "开头)进…
错误码枚举类 错误码为字符串类型,共 5 位,分成两个部分:错误产生来源+四位数字编号。 错误产生来源分为 A/B/C, A 表示错误来源于用户,比如参数错误,用户安装版本过低,用户支付 超时等问题; B 表示错误来源于当前系统,往往是业务逻辑出错,或程序健壮性差等问题; C 表示错误来源 于第三方服务,比如 CDN 服务出错,消息投递超时等问题;…