• 仿牛客社区comment表的设计


    在这里插入图片描述
    comment表中主要包含了两大种(三小种)评论。
    第一种是对用户帖子的评论,第二种是对用户帖子下面的评论的评论(本情况可细分为直接在该条评论下面进行的评论对该条评论下面的评论的评论,target_id(目标用户的id)字段的设计主要是为了后者识别,在前端显示的时候可以显示是对帖子下面的评论中的众多评论中的目标用户的哪条评论进行评论)。
    entity_type为1时,表示该评论是对用户帖子的评论,为2时,表示该评论是对用户帖下面的评论的评论。

    查询评论:
    在CommentMapper中,通过entityType和entityId就可以查到某条帖子的下面所有评论或者某条帖子下面的某条评论下面的所有评论,查询的时候按照评论创建时间升序,越新的评论越靠下面显示,当然越新的评论其id也越大。对于帖子的评论的显示没有什么特殊的,但是对于帖子的评论下面的评论的显示,有的是帖子的评论的直接评论,有的是对某个用户的评论的评论,在前端显示时,通过判断后端传过来的targetid值的情况做出不同的显示。

    插入评论:
    可以在三个地方进行评论——
    ①对帖子的评论:

    <input type="hidden" name="entityType" value="1">
    <input type="hidden" name="entityId" th:value="${discussPost.id}">
    
    • 1
    • 2

    将entityType为1和帖子id传到后端;
    ②对帖子下面某条评论的直接评论:

    <input type="hidden" name="entityType" value="2">
    <input type="hidden" name="entityId" th:value="${cvo.comment.id}">
    
    • 1
    • 2

    将entityType为2和评论id传到后端;
    ③对帖子下面的评论的直接评论进行的评论:

    <input type="hidden" name="entityType" value="2">
    <input type="hidden" name="entityId" th:value="${cvo.comment.id}">
    <input type="hidden" name="targetId" th:value="${rvo.user.id}">
    
    • 1
    • 2
    • 3

    将entityType为2和评论id以及是给哪个userA的评论进行评论的(即这个userA的id)传到后端;

    后面就是在后端对内容进行判空、过滤、插入数据库等操作。

  • 相关阅读:
    Linux命令200例:free用来显示系统内存使用情况
    Java进阶过程
    [附源码]Python计算机毕业设计Django保护濒危动物公益网站
    技战法-信息收集
    DDos攻击如何被高防服务器有效防范?
    Qt 中 connect 函数实现信号与槽函数的连接
    Flutter笔记:build方法、构建上下文BuildContext解析
    开源模型应用落地-工具使用篇-向量数据库进阶(四)
    Spring 注解开发及框架整合
    Three.js 与 Python 语法 (PyWeb3D)
  • 原文地址:https://blog.csdn.net/qq_42732184/article/details/127659086