log_money - 金币流转日志表
基于 AzerothCore Characters 数据库 · 所有金币交易记录审计日志表
📋 表概述
log_money 表全量记录了游戏中所有金币流转的审计日志,包括交易、拍卖行、邮件附金、公会银行存取、COD付款等。每条记录详细追踪发送方和接收方的账号、角色、IP等信息,用于安全审计和反欺诈分析。
- 金币交易全量审计
- 6种交易类型追踪
- 双端IP记录
- 发送/接收方完整信息
无主键设计(日志表)。type 字段注释说明了6种交易类型:COD=付款取信, AH=拍卖行, GB DEPOSIT=公会银行存入, GB WITHDRAW=公会银行取出, MAIL=邮件, TRADE=玩家交易。
📊 表结构
| 字段名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| sender_acc | int UNSIGNED | NOT NULL | 发送方账号ID |
| sender_guid | int UNSIGNED | NOT NULL | 发送方角色GUID |
| sender_name | text | NOT NULL | 发送方角色名称 |
| sender_ip | text | NOT NULL | 发送方IP地址 |
| receiver_acc | int UNSIGNED | NOT NULL | 接收方账号ID |
| receiver_name | text | NOT NULL | 接收方角色名称 |
| money | bigint UNSIGNED | NOT NULL | 交易金币数(铜币单位) |
| topic | text | NOT NULL | 交易主题/备注 |
| date | datetime | NOT NULL | 交易发生时间 |
| type | tinyint | NOT NULL | 交易类型码 |
🔍 重要字段详解
💸 type - 交易类型
详细说明:tinyint 类型,区分不同的金币流转方式。
- 1 = COD(付款取信)
- 2 = AH(拍卖行)
- 3 = GB DEPOSIT(公会银行存入)
- 4 = GB WITHDRAW(公会银行取出)
- 5 = MAIL(邮件附金)
- 6 = TRADE(玩家间交易)
🔍 sender_ip - 安全审计
详细说明:TEXT类型,记录发送方IP地址,用于安全审计和反欺诈。
- 追踪金币来源的IP地址
- 辅助识别多开/工作室刷金行为
- 配合账号信息全面追踪交易链
💡 SQL示例
示例1:查询某角色的金币交易记录
SELECT
date, type, money / 10000 AS gold,
sender_name, receiver_name, topic
FROM log_money
WHERE sender_guid = 100 OR sender_name LIKE '%角色名%'
ORDER BY date DESC
LIMIT 100;示例2:审计同IP多账号异常金币流转
SELECT
sender_ip, COUNT(*) AS tx_count,
SUM(money) / 10000 AS total_gold,
COUNT(DISTINCT sender_acc) AS unique_accounts
FROM log_money
WHERE date > DATE_SUB(NOW(), INTERVAL 7 DAY)
GROUP BY sender_ip
HAVING unique_accounts > 3
ORDER BY total_gold DESC;❓ 常见问题
Q1: log_money 表会无限增长吗?
是的。日志表不设自动清理机制,建议定期归档或清理超过一定时间的旧数据,避免影响数据库性能。
Q2: 如何查看指定日期的金币交易量?
使用
WHERE DATE(date) = '2026-01-01' 或 WHERE date BETWEEN '2026-01-01' AND '2026-01-02' 过滤。