V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dnjat
V2EX  ›  程序员

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

  •  
  •   dnjat · 2023-07-08 00:51:23 +08:00 · 1332 次点击
    这是一个创建于 529 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    11 条回复    2023-07-08 17:23:15 +08:00
    ihuotui
        1
    ihuotui  
       2023-07-08 08:46:48 +08:00
    把内容审核变成一个独立系统(领域服务)前提是功能都是只有单一入口模块比较对内高内聚对外解耦,通过消息中间件接受和传送,这样就可以解耦。
    SmiteChow
        2
    SmiteChow  
       2023-07-08 10:14:51 +08:00
    想太多,一个草稿箱表足矣
    wenhuacode
        3
    wenhuacode  
       2023-07-08 10:37:11 +08:00
    加中间表
    dnjat
        4
    dnjat  
    OP
       2023-07-08 10:40:45 +08:00
    @ihuotui 审核功能太常用重要了,也计划做成您提议的一个独立系统比较合适.好维护,通用. 这个功能添加到已有系统,要牵扯很多细节, 编辑时要合并上次修改了但未审核的字段,作为最新内容,修改的内容再次合并到审核表. 然后还有审核过了,触发更新到主表(正式表,可以显示到前端的表).
    dnjat
        5
    dnjat  
    OP
       2023-07-08 10:44:24 +08:00
    @SmiteChow 有些字段不需要审核,像数字这些,直接更新就行了. 这个草稿箱是很方便,一下就解决了问题了,但是系统内很多需要审核,就得各自建立相应的草稿箱表.找找看还没有更通用方式,没有的话,当然这是个不错的快速解决办法.
    dnjat
        6
    dnjat  
    OP
       2023-07-08 10:46:04 +08:00
    @wenhuacode 有这个打算,待审核的内容肯定是要另外存的 现在看能不能做个通用中间表
    ihuotui
        7
    ihuotui  
       2023-07-08 11:57:02 +08:00
    @dnjat 草稿和发布是两个动作,不要混淆了,草稿还是原草稿功能,点击发布修改更新才触发审核然后才能更新。
    ihuotui
        8
    ihuotui  
       2023-07-08 11:58:14 +08:00
    有独立的审核服务就方便后期增加功能,例如替换敏感字,增加商品链接等骚操作。
    ihuotui
        9
    ihuotui  
       2023-07-08 12:01:55 +08:00
    可以封装一个审核对象,里面把需要审核的字段标记,然后让服务使用时组合形成审核对象,即可以达到各个服务通用。
    rs9G7IrdOdiNR3h1
        10
    rs9G7IrdOdiNR3h1  
       2023-07-08 14:30:20 +08:00
    一个根据容载量设置一个 Json 字段足矣
    dnjat
        11
    dnjat  
    OP
       2023-07-08 17:23:15 +08:00
    @ihuotui
    @SmiteChow
    @wenhuacode
    @whooami 谢谢大家的方案,一下子就清晰了,接下来实现就在眼前了.再次感谢.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:47 · PVG 20:47 · LAX 04:47 · JFK 07:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.