name
im-redpacket
description
红包系统开发指南。当需要处理红包发送、领取、退回、红包游戏结算、群红包账户时使用。涵盖 openchat-redpacket 项目。适用场景:红包功能开发、游戏结算问题、红包状态排查、资金流转调试。
license
Internal Use Only
红包系统 (openchat-redpacket)
红包类型
red_packet_type
类型
说明
1
普通红包
固定金额,每人一份
2
拼手气红包
随机金额分配
3
指定红包
指定用户领取
4
红包游戏
雷红包等游戏玩法
核心数据表
表名
库
说明
red_packet_template
im_wallet
红包模板 (发送记录)
red_packet
im_wallet
红包领取记录
red_packet_cover
im_wallet
红包封面
red_packet_limit
im_wallet
红包限额
game
游戏记录
game_freeze
游戏冻结记录
红包状态
status (red_packet 表):
- 0: 未领取
- 1: 已领取
- 2: 已过期退回
项目模块
openchat-redpacket/
├── openchat-redpacket-api/ # API定义
├── openchat-redpacket-biz/ # 公共业务
├── openchat-redpacket-game-service/ # 红包游戏
└── openchat-redpacket-bomb/ # 炸弹红包
发红包流程
- 用户发红包请求
- 检查余额是否充足
- 调用 ZHOTC 冻结余额 (frozenBalance)
- 创建 red_packet_template 记录
- 发送红包消息到群
领红包流程
- 用户点击领取
- 检查红包状态 (是否过期/已领完)
- 计算领取金额 (拼手气随机算法)
- 调用 ZHOTC 冻结转账 (frozenTransferAmount)