Files
kami_backend/.qoder/repowiki/zh/content/业务逻辑层架构/卡密管理逻辑/天猫卡密管理逻辑/天猫卡密订单处理.md
danial 96ed936079 docs(api): 添加详细Apple卡密管理API文档
- 新增API端点参考文档,涵盖权限、卡密、订单、商户、监控、限制等模块
- 详细说明Apple卡密充值处理流程,包括提交、查询、回调和轮询接口
- 描述充值订单状态机及生命周期,支持超时重试和状态迁移
- 介绍签名验证、幂等控制及重复卡密防刷单策略
- 增加商户配置管理、历史记录查询和错误处理机制说明
- 提供API使用示例代码及客户端实现指导
- 删除过时的.drone.yml.bak文件,清理无用配置
- 添加.dockerignore忽略指定目录和文件
2025-10-08 20:13:40 +08:00

8.8 KiB
Raw Blame History

天猫卡密订单处理

**本文档引用的文件** - [order.go](file://api/card_info_t_mall_game/v1/order.go) - [card_info_t_mall_game_v1_t_mall_game_order_submit.go](file://internal/controller/card_info_t_mall_game/card_info_t_mall_game_v1_t_mall_game_order_submit.go) - [card_info_t_mall_game_v1_t_mall_game_agiso_callback.go](file://internal/controller/card_info_t_mall_game/card_info_t_mall_game_v1_t_mall_game_agiso_callback.go) - [order.go](file://internal/logic/card_t_mall_order/order.go) - [card_t_mall_order.go](file://internal/service/card_t_mall_order.go) - [v_1_recharge_t_mall_order.go](file://internal/model/do/v_1_recharge_t_mall_order.go) - [card_recharge_t_mall.go](file://internal/consts/card_recharge_t_mall.go) - [card_t_mall_game_order.go](file://internal/model/card_t_mall_game_order.go) - [agiso.go](file://internal/model/agiso.go) - [card_info_t_mall_game_v1_t_mall_game_data_sync.go](file://internal/controller/card_info_t_mall_game/card_info_t_mall_game_v1_t_mall_game_data_sync.go)

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构概述
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排除指南
  9. 结论

简介

本文档详细阐述了天猫卡密订单处理系统的完整流程包括订单的提交、查询、状态修改和回调处理。系统集成了支付系统和AGISO系统实现了订单分类查询、状态同步和成功状态修改等核心功能。文档深入分析了订单处理中的异常处理策略和数据一致性保障机制并提供了性能优化建议和常见问题解决方案。

项目结构

天猫卡密订单处理系统采用分层架构主要分为API层、控制器层、服务层、逻辑层和数据访问层。系统通过API接口接收订单请求由控制器协调处理服务层提供业务接口逻辑层实现具体业务逻辑数据访问层负责与数据库交互。

graph TD
A[API层] --> B[控制器层]
B --> C[服务层]
C --> D[逻辑层]
D --> E[数据访问层]
E --> F[数据库]

图表来源

章节来源

核心组件

系统的核心组件包括订单提交、状态修改、回调处理和数据同步。订单提交组件负责接收和创建新订单状态修改组件处理订单状态的变更回调处理组件接收来自AGISO系统的异步通知数据同步组件确保系统间数据的一致性。

章节来源

架构概述

系统采用微服务架构各组件通过清晰的接口进行通信。订单处理流程从API接收请求开始经过控制器调度由服务层协调最终在逻辑层完成具体业务处理。系统通过缓存机制提高性能使用事务保证数据一致性。

graph TD
A[客户端] --> B[API接口]
B --> C[控制器]
C --> D[服务层]
D --> E[逻辑层]
E --> F[数据访问层]
F --> G[数据库]
C --> H[缓存]
D --> I[外部系统]

图表来源

详细组件分析

订单提交分析

订单提交组件负责接收订单请求并创建新订单。系统首先验证账户信息,然后创建订单记录并返回订单号。

sequenceDiagram
participant 客户端
participant 控制器
participant 服务层
participant 数据访问层
客户端->>控制器 : 提交订单请求
控制器->>服务层 : 验证账户信息
服务层->>数据访问层 : 查询账户数据
数据访问层-->>服务层 : 返回账户信息
服务层->>数据访问层 : 创建订单记录
数据访问层-->>服务层 : 返回订单号
服务层-->>控制器 : 返回结果
控制器-->>客户端 : 返回订单号和状态

图表来源

章节来源

回调处理分析

回调处理组件负责处理来自AGISO系统的异步通知包括付款成功、确认收货和评价成功等事件。

flowchart TD
Start([开始]) --> ValidateSign["验证签名"]
ValidateSign --> SignValid{"签名有效?"}
SignValid --> |否| ReturnError["返回验证失败"]
SignValid --> |是| HandleCallback["处理回调类型"]
HandleCallback --> PaymentSuccess{"付款成功?"}
PaymentSuccess --> |是| ProcessPayment["处理付款"]
HandleCallback --> ConfirmReceipt{"确认收货?"}
ConfirmReceipt --> |是| ProcessConfirm["处理确认收货"]
HandleCallback --> Evaluation{"评价成功?"}
Evaluation --> |是| ProcessEvaluation["处理评价"]
ProcessPayment --> End([结束])
ProcessConfirm --> End
ProcessEvaluation --> End
ReturnError --> End

图表来源

章节来源

依赖分析

系统各组件之间存在明确的依赖关系。API层依赖控制器层控制器层依赖服务层服务层依赖逻辑层逻辑层依赖数据访问层。系统还依赖外部的AGISO系统和淘宝API。

graph TD
A[API层] --> B[控制器层]
B --> C[服务层]
C --> D[逻辑层]
D --> E[数据访问层]
E --> F[数据库]
C --> G[AGISO系统]
C --> H[淘宝API]
B --> I[缓存系统]

图表来源

章节来源

性能考虑

系统通过多种机制优化性能:使用缓存减少数据库访问,采用连接池管理数据库连接,通过异步处理提高响应速度,利用批量操作减少网络开销。对于高并发场景,系统采用限流和降级策略确保稳定性。

故障排除指南

订单状态不一致

当出现订单状态不一致时,应首先检查数据库记录,然后查看日志文件,确认是否有未处理的回调。可以通过数据同步接口手动同步状态。

章节来源

回调处理失败

回调处理失败通常由签名验证失败或网络问题引起。应检查签名算法是否正确,确认网络连接是否正常,并查看错误日志获取详细信息。

章节来源

结论

天猫卡密订单处理系统设计合理,功能完整,能够高效处理各种订单场景。系统通过清晰的分层架构和明确的组件职责,确保了代码的可维护性和可扩展性。建议持续监控系统性能,定期优化数据库查询,并加强异常处理机制。