calendar_invites - 日历活动邀请记录
基于 AzerothCore Characters 数据库 · 日历活动的邀请和参与者管理表
📋 表概述
calendar_invites 表记录日历活动中所有被邀请的参与者信息。每条记录表示一位玩家被邀请参加某日历活动,包含邀请状态(待定/接受/拒绝)、回复时间和参与者排名等。
- 活动邀请管理
- 参与者状态追踪
- 接受/拒绝/待定
- 排名/角色分配
主键为 id(BIGINT类型)。event 字段关联 calendar_events.id,invitee 是被邀请者,sender 是邀请发起者。
📊 表结构
| 字段名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| id | bigint UNSIGNED | 0 | 邀请记录ID(主键) |
| event | bigint UNSIGNED | 0 | 关联的活动事件ID(calendar_events.id) |
| invitee | int UNSIGNED | 0 | 被邀请者角色GUID |
| sender | int UNSIGNED | 0 | 邀请发起者角色GUID |
| status | tinyint UNSIGNED | 0 | 邀请状态 |
| statustime | int UNSIGNED | 0 | 状态更新时间(Unix时间戳) |
| rank | tinyint UNSIGNED | 0 | 参与者在活动中的排名 |
| text | varchar(255) | '' | 附加文本/备注 |
🔍 重要字段详解
📬 status - 邀请状态
详细说明:被邀请者的当前回应状态。
- 0 = 待定(未回应)
- 1 = 已接受
- 2 = 已拒绝
- 3 = 已确认(活动开始后的参与确认)
- 4 = 已删除/已移除
🏅 rank - 参与者排名
详细说明:参与者在活动中的角色/级别。
- 0 = 普通参与者
- 1 = 主持人/管理员
- 用于管理活动中的权限分配
⏰ statustime - 回应时间
详细说明:记录被邀请者回应邀请的时间。
- Unix时间戳格式
- status=0(待定)时 statustime 通常为0
- 可通过 FROM_UNIXTIME(statustime) 查看回应日期
💡 SQL示例
示例1:查询某活动的所有参与者
SELECT
ci.id, ci.invitee, c.name AS invitee_name,
ci.status, ci.rank, ci.text,
FROM_UNIXTIME(ci.statustime) AS reply_time
FROM calendar_invites ci
JOIN characters c ON c.guid = ci.invitee
WHERE ci.event = 12345
ORDER BY ci.status, ci.rank;示例2:统计某玩家待回应的活动邀请
SELECT
ce.title, ce.eventtime,
ci.status
FROM calendar_invites ci
JOIN calendar_events ce ON ce.id = ci.event
WHERE ci.invitee = 100
AND ci.status = 0;❓ 常见问题
Q1: 邀请被拒绝(status=2)会保留多久?
拒绝状态会一直保留直到活动过期被清理。活动结束后可以统一清理相关记录。
Q2: 如何取消某个玩家的活动邀请?
删除对应的 calendar_invites 记录:
DELETE FROM calendar_invites WHERE event = X AND invitee = Y;