feat: 06 互动与内容治理落地(评论 / 点赞 / 举报 / 敏感词 / 审核留证)
为什么: 1) 产品侧要先把内容治理闭环跑通才能谈上线:评论可发布、可翻页、可删除, 违规内容能在后台被审核与驳回,举报要有工单可追溯。本提交把这套补齐。 2) 审核不能只靠人肉:敏感词按 BLOCK/REPLACE/REVIEW 三档处置, 机审通过即发布(可配置为 PRE_REVIEW 全部先审后发),人审与机审的结论 都写进 content_audit_record,争议时可回答"当时凭什么放行/驳回"。 3) 举报处理必须与处置打通:结论成立会联动驳回被举报评论,并可选同时封禁被举报用户, 避免"工单处理完了但违规内容还挂着"。 4) 顺带修复一个真实缺陷:user_favorite / content_like 上有唯一索引,而全局配置会把 deleteById 改写成逻辑删除,导致取消收藏/点赞后旧的 deleted 行仍占位, 再次收藏或点赞直接撞唯一索引报错。关系类数据没有留证价值,改为显式物理删除, 并补了"取消后再来一次"的回归自测。
This commit is contained in:
1 parent
b3179fc836
commit
af1dc48494
48 files changed
+1752
-14
No files matched your search
+12
-1
@@ -37,13 +37,24 @@ INSERT INTO sys_permission (code, name, group_name, type, sort) VALUES
|
||||
('download:revoke', '吊销下载授权', '用户管理', 'BUTTON', 104)
|
||||
ON CONFLICT (code) DO NOTHING;
|
||||
|
||||
INSERT INTO sys_permission (code, name, group_name, type, sort) VALUES
|
||||
('comment:list', '查看评论', '内容治理', 'BUTTON', 111),
|
||||
('comment:audit', '审核评论', '内容治理', 'BUTTON', 112),
|
||||
('report:list', '查看举报', '内容治理', 'BUTTON', 113),
|
||||
('report:handle', '处理举报', '内容治理', 'BUTTON', 114),
|
||||
('sensitive-word:list', '查看敏感词', '内容治理', 'BUTTON', 115),
|
||||
('sensitive-word:update','维护敏感词', '内容治理', 'BUTTON', 116)
|
||||
ON CONFLICT (code) DO NOTHING;
|
||||
|
||||
-- 超管默认拥有全部权限点
|
||||
INSERT INTO sys_role_permission (role_id, permission_id)
|
||||
SELECT r.id, p.id
|
||||
FROM sys_role r
|
||||
CROSS JOIN sys_permission p
|
||||
WHERE r.code = 'super_admin'
|
||||
AND p.code IN ('app-user:list', 'app-user:update', 'download:list', 'download:revoke')
|
||||
AND p.code IN ('app-user:list', 'app-user:update', 'download:list', 'download:revoke',
|
||||
'comment:list', 'comment:audit', 'report:list', 'report:handle',
|
||||
'sensitive-word:list', 'sensitive-word:update')
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
-- 第一阶段新增的白名单数据(当前阶段都是免费内容,先把演示商品占位好)
|
||||
|
||||
Reference in new issue
Block a user