IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 评论与回复数据表设计 -> 正文阅读

[游戏开发]评论与回复数据表设计

概述

最近忙着做社区功能这一模块,其中在做有关文章的评论以及回复的功能时,刚开始对于这中功能有一些纠结,纠结的是评论与回复的内容是放在两个表还是一个表中,对于放在两张表的结构考虑到后期的数据读取的复杂问题,最后决定将评论和回复的功能都放在同一张表中。

表结构设计

CREATE TABLE "sq_content_comment" (
  "id" bigint(20) NOT NULL AUTO_INCREMENT,
  "parent_id" bigint(20) DEFAULT NULL,
  "user_id" bigint(20) DEFAULT NULL,
  "comment_details" longtext,
  "comment_date" datetime DEFAULT NULL,
  "content_flag" int(11) DEFAULT NULL,
  "content_id" bigint(20) DEFAULT NULL,
  "reply_comment_id" bigint(20) DEFAULT NULL,
  "reply_user_id" bigint(20) DEFAULT NULL,
  "user_name" varchar(255) DEFAULT NULL,
  "reply_user_name" varchar(20) DEFAULT NULL,
  PRIMARY KEY ("id")
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
字段?说明
id主键
parent_id父ID (0:一级评论;其它为一级评论的ID)
user_id用户ID
comment_details评论内容
comment_date评论日期
content_id文章ID
reply_comment_id回复评论的ID
content_flag文章标识(1:作者;2:普通用户)
reply_user_id回复用户ID
user_name用户姓名
reply_user_name回复用户姓名

功能实现

对文章进行的评论就会有三种情况:

  • 评论
  • 评论的回复
  • 回复的评论

现假设有"person_A"和"person_B"两人对"文章"评论,则有

1、评论情况就是简单的插入一条评论记录

INSERT INTO `zlp-mall`.`sq_content_comment`(`id`, `parent_id`, `user_id`, `comment_details`, `comment_date`, `content_flag`, `content_id`, `reply_comment_id`, `reply_user_id`, `user_name`, `reply_user_name`) VALUES (1, 0, 1, '给自己一个smile', '2022-03-31 10:28:51', 1, 1001, NULL, NULL, 'person_A', NULL);
INSERT INTO `zlp-mall`.`sq_content_comment`(`id`, `parent_id`, `user_id`, `comment_details`, `comment_date`, `content_flag`, `content_id`, `reply_comment_id`, `reply_user_id`, `user_name`, `reply_user_name`) VALUES (2, 0, 2, '孤勇者', '2022-03-31 10:29:51', 1, 1001, NULL, NULL, 'person_B', NULL);

则用户浏览文章详细时,可以看到文章下有如下两条评论:

此时,有“person_C”是“person_B”的好友,“person_C”在“person_B”的评论下进行了回复,则有

2、评论的回复

“person_C”对“person_B”

INSERT INTO `zlp-mall`.`sq_content_comment`(`id`, `parent_id`, `user_id`, `comment_details`, `comment_date`, `content_flag`, `content_id`, `reply_comment_id`, `reply_user_id`, `user_name`, `reply_user_name`) VALUES (3, 2, 2, '你最近怎么样', '2022-03-31 10:32:51', 1, 1001, NULL, NULL, 'person_C', NULL);

3. 回复的评论

然后“person_B”也对“person_C”进行了回复

INSERT INTO `zlp-mall`.`sq_content_comment`(`id`, `parent_id`, `user_id`, `comment_details`, `comment_date`, `content_flag`, `content_id`, `reply_comment_id`, `reply_user_id`, `user_name`, `reply_user_name`) VALUES (4, 2, 2, '最近不太好', '2022-03-31 10:34:51', 1, 1001, 3, 3, 'person_B', 'person_C');

然后“person_C”也对“person_B”表达了谢意。

INSERT INTO `zlp-mall`.`sq_content_comment`(`id`, `parent_id`, `user_id`, `comment_details`, `comment_date`, `content_flag`, `content_id`, `reply_comment_id`, `reply_user_id`, `user_name`, `reply_user_name`) VALUES (5, 2, 3, '是发生了什么事', '2022-03-31 10:34:51', 1, 1001, 4, 2, 'person_C', 'person_B');

至此,所有的评论与回复已全部完成。

4. 查询一级评论


select * from sq_content_comment where parent_id = 0 and content_id = 1001 ORDER BY id desc 

5. 查询一级下的回复与评论


select * from sq_content_comment where parent_id = 2 and content_id = 1001 ORDER BY id asc 

前台请求参数封装

添加评论/回复

请求示例

{
    "commentDetails": "",
    "contentId": 0,
    "parentId": 0,
    "replyCommentId": 0
}


请求参数

一级评论传参说明:

{
    "commentDetails": "",
    "contentId": 0,
}

评论的回复传参说明:

{
    "commentDetails": "",
    "contentId": 0,
    "parentId": 0
}

回复的评论传参说明:

{
    "commentDetails": "",
    "contentId": 0,
    "parentId": 0,
    "replyCommentId": 0
}



?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:44:40  更:2022-04-01 23:44:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 18:51:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码