实名姓名与收款账户不一致会导致收款码登记失败,新增后台撤销实名能力: - 新增 user:revoke_realname 权限,授予超级管理员与运营角色 - 撤销时重置用户实名状态为未认证并删除实名记录,使其可重新认证,写入审计日志 - 用户管理页新增实名状态列与"撤销实名"操作(含原因弹窗) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
29 lines
1.1 KiB
SQL
29 lines
1.1 KiB
SQL
-- +goose Up
|
|
|
|
-- 新增“撤销用户实名”权限:用于实名姓名与收款账户不一致导致收款码登记失败时,
|
|
-- 由后台撤销用户实名,让用户可重新发起实名认证。
|
|
INSERT INTO permissions (code, name, resource, action) VALUES
|
|
('user:revoke_realname', '撤销用户实名', 'user', 'revoke_realname')
|
|
ON DUPLICATE KEY UPDATE
|
|
name = VALUES(name),
|
|
resource = VALUES(resource),
|
|
action = VALUES(action);
|
|
|
|
-- super_admin 拥有全部权限,补授新权限。
|
|
INSERT IGNORE INTO role_permissions (role_id, permission_id)
|
|
SELECT r.id, p.id FROM roles r, permissions p
|
|
WHERE r.code = 'super_admin' AND p.code = 'user:revoke_realname';
|
|
|
|
-- ops(运营)负责用户管理,授予撤销实名权限。
|
|
INSERT IGNORE INTO role_permissions (role_id, permission_id)
|
|
SELECT r.id, p.id FROM roles r, permissions p
|
|
WHERE r.code = 'ops' AND p.code = 'user:revoke_realname';
|
|
|
|
-- +goose Down
|
|
|
|
DELETE rp FROM role_permissions rp
|
|
JOIN permissions p ON p.id = rp.permission_id
|
|
WHERE p.code = 'user:revoke_realname';
|
|
|
|
DELETE FROM permissions WHERE code = 'user:revoke_realname';
|