跳到主要内容

井云服务中心点数系统概述

📋 系统简介

井云服务中心点数系统是集成在用户服务中的核心功能模块,负责管理用户的点数生命周期,包括点数发放、消费、过期处理等核心功能。系统采用FIFO(先进先出)消费策略,确保点数按过期时间优先消费,同时支持多租户隔离和产品定价管理。基于 Go 1.25.4 和 Kratos v2 框架构建,使用 Ent ORM 进行数据管理。

🎯 核心功能

点数生命周期管理

  • 点数发放: 支持多种来源(购买、赠送、活动、退款)
  • 点数消费: FIFO策略智能消费
  • 点数过期: 自动过期处理
  • 交易记录: 完整的审计日志

多租户支持

  • 租户隔离: 完全独立的点数管理
  • 产品定价: 灵活的定价策略
  • 跨账本消费: 智能组合消费

智能消费策略

  • FIFO算法: 优先消费快过期点数
  • 余额检查: 消费前验证
  • 原子操作: 确保一致性

🏗️ 系统架构

服务组件

  • User服务: 点数管理核心业务逻辑 (gRPC 9002)
  • Cron服务: 定时任务处理 - 每天凌晨2点自动过期点数 (gRPC 9008)
  • PostgreSQL: 数据存储 (端口 5431)
  • Redis: 缓存和性能优化 (端口 6378)
  • RabbitMQ: 异步消息处理 (端口 5672)

核心流程

  1. 点数发放 → 创建账本记录
  2. 点数消费 → FIFO算法扣减
  3. 过期检查 → 定时任务处理
  4. 交易记录 → 完整审计日志

📊 数据模型

核心实体 (Ent Schema)

  • UserPointLedger: 用户点数账本表 (user_point_ledgers)
  • PointTransaction: 点数交易记录表 (point_transactions)
  • PointConsumptionRecord: 点数消费记录表 (point_consumption_records)
  • User: 用户信息表 (users) - 扩展点数相关字段

关系说明

  • 用户拥有多个点数账本
  • 交易记录关联账本和消费
  • 产品定价支持租户级别

🔧 技术特性

FIFO算法

  • 按过期时间排序消费
  • 跨账本智能组合
  • 余额实时计算

性能优化

  • 高效的数据库索引
  • 批量过期处理
  • 连接池管理

扩展性设计

  • 水平扩展支持
  • 插件化定价策略
  • 多级过期规则

📈 业务价值

用户体验

  • 透明的点数消费
  • 最大化点数利用率
  • 详细的消费记录

运营效率

  • 自动化的过期处理
  • 灵活的定价配置
  • 完整的数据分析

成本控制

  • 精确的点数计量
  • 防止点数浪费
  • 优化的存储策略

🔗 相关文档


最后更新:2025年12月