feat(ticket): record urges in thread, show urge count in admin, mail admins

- aksrt_ticket gains urge_count / last_urge_time (schema 3.1.0)
- cooldown moves from transient to an atomic conditional UPDATE
- urge inserts a system reply rendered as a centered notice (not quotable)
- admin list badge + info card row for urge count / last time
- new ticket_urge_admin mail event via aksrt_ticket_urged

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-10-27 22:17:40 +08:00
1 parent ac3ed9c956
commit 5febdb35c8
14 files changed
+198 -25

No files matched your search

+2
View File
@@ -31,6 +31,8 @@ trait DBMigratorTicket {
admin_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
last_reply_admin_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
post_admin_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
urge_count INT UNSIGNED NOT NULL DEFAULT 0,
last_urge_time DATETIME DEFAULT NULL,
created_at DATETIME NOT NULL,
updated_at DATETIME DEFAULT NULL,
PRIMARY KEY (id),