首页 新闻 会员 周边

内容需要审核,如何设计数据表?

0
[已解决问题] 解决于 2023-07-08 17:18

最近碰到个审核内容的问题. 创建和修改都需要经过机审,人审. 修改内容时,状态为审核中,前端依旧显示修改前的数据.
一条内容可能关联到多张表,一个系统很多地方都需要审核的功能,包括发布内容,发布评论,修改个人信息,设置一些文案内容.
如何设计表,尽可能做到审核功能通用,或是成为一个模块.

随吧的主页 随吧 | 菜鸟二级 | 园豆:210
提问于:2023-07-08 00:53
< >
分享
最佳答案
0

示例表结构:

-- 审核表
CREATE TABLE audit_table (
    audit_id NUMBER PRIMARY KEY,
    related_table_name VARCHAR2(100),
    related_record_id NUMBER,
    audit_status VARCHAR2(20),
    auditor VARCHAR2(50),
    audit_time TIMESTAMP
);

-- 审核流程表
CREATE TABLE audit_workflow (
    workflow_id NUMBER PRIMARY KEY,
    step_id NUMBER,
    step_name VARCHAR2(50),
    role VARCHAR2(50),
    auditor VARCHAR2(50),
    audit_result VARCHAR2(20)
);

-- 审核记录表
CREATE TABLE audit_record (
    record_id NUMBER PRIMARY KEY,
    audit_id NUMBER,
    step_id NUMBER,
    auditor VARCHAR2(50),
    audit_time TIMESTAMP,
    audit_comment VARCHAR2(200),
    FOREIGN KEY (audit_id) REFERENCES audit_table(audit_id),
    FOREIGN KEY (step_id) REFERENCES audit_workflow(step_id)
);

在以上表结构中,audit_table 表用于存储需要审核的内容,其中 audit_id 为主键,related_table_namerelated_record_id 用于指示需要审核的具体数据,audit_status 表示审核状态,auditor 表示审核人,audit_time 表示审核时间。

audit_workflow 表用于定义审核的流程和步骤,其中 workflow_id 为主键,step_id 表示步骤ID,step_name 表示步骤名称,role 表示角色,auditor 表示审核人,audit_result 表示审核结果。

audit_record 表用于记录每个审核步骤的具体操作和结果,其中 record_id 为主键,audit_id 表示审核ID,step_id 表示步骤ID,auditor 表示审核人,audit_time 表示审核时间,audit_comment 表示审核意见。通过记录每个审核步骤的操作,可以实现审核的追踪和审计。

在前端界面上,根据审核状态的不同,可以显示不同的内容。对于修改内容时的审核,可以在页面上显示修改前的数据,并在页面上标注为“审核中”。在审核通过后,可以更新页面上的数据为修改后的内容。

如果多个地方都需要审核功能,可以将审核功能封装为一个独立的模块,提供通用的审核接口和方法。该模块可以处理审核表的操作、审核流程的配置、审核记录的记录等。

奖励园豆:5
lanedm | 老鸟四级 |园豆:2381 | 2023-07-08 11:50

兄弟,太详细了,帮助很大.感谢你的解惑

随吧 | 园豆:210 (菜鸟二级) | 2023-07-08 17:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册