IT评测·应用市场-qidao123.com

标题: 项目学习:仿b站的视频网站项目06 -视频分类02 [打印本页]

作者: 科技颠覆者    时间: 2024-12-6 01:44
标题: 项目学习:仿b站的视频网站项目06 -视频分类02
概括

本篇文章主要是构建了发布视频所必要的四张表的sql,以及对应的预上传部门的代码,仅供参考,参考视频在13集
数据库文件

视频信息表:video_info
  1. -- easylive.video_info definition
  2. CREATE TABLE `video_info` (
  3.   `video_id` varchar(10) NOT NULL DEFAULT '0' COMMENT '视频ID',
  4.   `video_cover` varchar(50) NOT NULL COMMENT '视频封面',
  5.   `video_name` varchar(100) NOT NULL COMMENT '视频名称',
  6.   `user_id` varchar(10) NOT NULL COMMENT '用户id',
  7.   `create_time` datetime NOT NULL COMMENT '创建时间',
  8.   `last_update_time` datetime NOT NULL COMMENT '最后更新时间',
  9.   `p_category_id` int(11) NOT NULL COMMENT '父级分类id',
  10.   `category_id` int(11) DEFAULT NULL COMMENT '分类id',
  11.   `status` tinyint(1) NOT NULL COMMENT '0:转码中 1:转码失败 2:待审核 3:审核成功 4:审核失败',
  12.   `post_type` tinyint(4) NOT NULL COMMENT '0:自制 1:转载',
  13.   `origin_info` varchar(200) DEFAULT NULL COMMENT '源资源说明',
  14.   `tags` varchar(300) DEFAULT NULL COMMENT '标签',
  15.   `introduction` varchar(2000) DEFAULT NULL COMMENT '简介',
  16.   `interaction` varchar(5) DEFAULT NULL COMMENT '互动设置',
  17.   `duration` int(11) DEFAULT '0' COMMENT '持续时间(秒)',
  18.   `play_count` int(11) DEFAULT '0' COMMENT '播放数量',
  19.   `like_count` int(11) DEFAULT '0' COMMENT '点赞数量',
  20.   `danmu_count` int(11) DEFAULT '0' COMMENT '弹幕数量',
  21.   `comment_count` int(11) DEFAULT '0' COMMENT '评论数量',
  22.   `coin_count` int(11) DEFAULT '0' COMMENT '投币数量',
  23.   `collect_count` int(11) DEFAULT '0' COMMENT '收藏数量',
  24.   `recommend_type` int(11) DEFAULT '0' COMMENT '是否推荐 0:未推荐 1:已推荐',
  25.   `last_play_time` datetime DEFAULT NULL COMMENT '最后播放时间',
  26.   PRIMARY KEY (`video_id`) USING BTREE,
  27.   KEY `idx_key_create_time` (`create_time`) USING BTREE,
  28.   KEY `idx_key_user_id` (`user_id`) USING BTREE,
  29.   KEY `idx_key_category_id` (`category_id`) USING BTREE,
  30.   KEY `idx_key_pcategory_id` (`p_category_id`) USING BTREE,
  31.   KEY `idx_key_recommend_type` (`recommend_type`) USING BTREE,
  32.   KEY `idx_key_last_play_time` (`last_play_time`) USING BTREE
  33. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频信息';
复制代码
video_info_file :视频文件信息
  1. -- easylive.video_info_file definition
  2. CREATE TABLE `video_info_file` (
  3.   `file_id` varchar(20) NOT NULL COMMENT '唯一ID',
  4.   `video_id` varchar(10) NOT NULL COMMENT '视频ID',
  5.   `user_id` varchar(10) NOT NULL COMMENT '用户ID',
  6.   `file_index` int(11) NOT NULL COMMENT '文件索引',
  7.   `file_name` varchar(200) DEFAULT NULL COMMENT '文件名',
  8.   `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小',
  9.   `file_path` varchar(100) DEFAULT NULL COMMENT '文件路径',
  10.   `duration` int(11) DEFAULT NULL COMMENT '持续时间(秒)',
  11.   PRIMARY KEY (`file_id`) USING BTREE,
  12.   KEY `idx_key_video_id` (`video_id`) USING BTREE
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频文件信息';
复制代码
video_info_file_post:视频文件信息
  1. -- easylive.video_info_file_post definition
  2. CREATE TABLE `video_info_file_post` (
  3.   `file_id` varchar(20) NOT NULL COMMENT '唯一ID',
  4.   `upload_id` varchar(15) NOT NULL COMMENT '上传Id',
  5.   `video_id` varchar(10) NOT NULL COMMENT '视频ID',
  6.   `user_id` varchar(10) NOT NULL COMMENT '用户ID',
  7.   `file_index` int(11) NOT NULL COMMENT '文件索引',
  8.   `file_name` varchar(200) DEFAULT NULL COMMENT '文件名',
  9.   `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小',
  10.   `file_path` varchar(100) DEFAULT NULL COMMENT '文件路径',
  11.   `upate_type` tinyint(4) DEFAULT NULL COMMENT '0:无更新 1:有更新',
  12.   `transfer_result` tinyint(4) DEFAULT NULL COMMENT '0:转码中 1:转码成功 2:转码失败',
  13.   `duration` int(11) DEFAULT NULL COMMENT '持续时间(秒)',
  14.   PRIMARY KEY (`file_id`) USING BTREE,
  15.   UNIQUE KEY `idx_key_upload_id` (`upload_id`,`user_id`) USING BTREE,
  16.   KEY `idx_key_video_id` (`video_id`) USING BTREE
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频文件信息';
复制代码
video_info_post:视频信息
  1. -- easylive.video_info_post definition
  2. CREATE TABLE `video_info_post` (
  3.   `video_id` varchar(10) NOT NULL DEFAULT '0' COMMENT '视频ID',
  4.   `video_cover` varchar(50) NOT NULL COMMENT '视频封面',
  5.   `video_name` varchar(100) NOT NULL COMMENT '视频名称',
  6.   `user_id` varchar(10) NOT NULL COMMENT '用户id',
  7.   `create_time` datetime NOT NULL COMMENT '创建时间',
  8.   `last_update_time` datetime NOT NULL COMMENT '最后更新时间',
  9.   `p_category_id` int(11) NOT NULL COMMENT '父级分类id',
  10.   `category_id` int(11) DEFAULT NULL COMMENT '分类id',
  11.   `status` tinyint(1) NOT NULL COMMENT '0:转码中 1:转码失败 2:待审核 3:审核成功 4:审核失败',
  12.   `post_type` tinyint(4) NOT NULL COMMENT '0:自制 1:转载',
  13.   `origin_info` varchar(200) DEFAULT NULL COMMENT '源资源说明',
  14.   `tags` varchar(300) DEFAULT NULL COMMENT '标签',
  15.   `introduction` varchar(2000) DEFAULT NULL COMMENT '简介',
  16.   `interaction` varchar(5) DEFAULT NULL COMMENT '互动设置',
  17.   `duration` int(11) DEFAULT NULL COMMENT '持续时间(秒)',
  18.   PRIMARY KEY (`video_id`) USING BTREE,
  19.   KEY `idx_key_create_time` (`create_time`) USING BTREE,
  20.   KEY `idx_key_user_id` (`user_id`) USING BTREE,
  21.   KEY `idx_key_category_id` (`category_id`) USING BTREE,
  22.   KEY `idx_key_pcategory_id` (`p_category_id`) USING BTREE
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='视频信息';
复制代码
部门后端代码

通过代码生器天生部门代码后,必要将部门代码移动到指定的项目文件夹后。下面给出一些部门工具类和公共方法代码,来资助你更快的去完善项目。最好还是自己可以或许手动编写,来熟悉。
新增SysSettingDto 类,该类主要是用来提供校验设置的一些数据量,之后会转移到设置文件中
  1. package com.easylive.entity.dto;
  2. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  3. import org.springframework.stereotype.Component;
  4. import java.io.Serializable;
  5. @JsonIgnoreProperties(ignoreUnknown = true)
  6. public class SysSettingDto implements Serializable {
  7.     private static final long serialVersionUID = 1L;
  8.     private Integer registerCoinCount = 10;
  9.     private Integer postVideoCoinCount = 10;
  10.     private Integer videoSize = 5;
  11.     private Integer videoPCount = 10;
  12.     private Integer videoCount = 10;
  13.     private Integer commentCount = 20;
  14.     private Integer danmuCount = 20;
  15.     public Integer getRegisterCoinCount() {
  16.         return registerCoinCount;
  17.     }
  18.     public void setRegisterCoinCount(Integer registerCoinCount) {
  19.         this.registerCoinCount = registerCoinCount;
  20.     }
  21.     public Integer getPostVideoCoinCount() {
  22.         return postVideoCoinCount;
  23.     }
  24.     public void setPostVideoCoinCount(Integer postVideoCoinCount) {
  25.         this.postVideoCoinCount = postVideoCoinCount;
  26.     }
  27.     public Integer getVideoSize() {
  28.         return videoSize;
  29.     }
  30.     public void setVideoSize(Integer videoSize) {
  31.         this.videoSize = videoSize;
  32.     }
  33.     public Integer getVideoPCount() {
  34.         return videoPCount;
  35.     }
  36.     public void setVideoPCount(Integer videoPCount) {
  37.         this.videoPCount = videoPCount;
  38.     }
  39.     public Integer getVideoCount() {
  40.         return videoCount;
  41.     }
  42.     public void setVideoCount(Integer videoCount) {
  43.         this.videoCount = videoCount;
  44.     }
  45.     public Integer getCommentCount() {
  46.         return commentCount;
  47.     }
  48.     public void setCommentCount(Integer commentCount) {
  49.         this.commentCount = commentCount;
  50.     }
  51.     public Integer getDanmuCount() {
  52.         return danmuCount;
  53.     }
  54.     public void setDanmuCount(Integer danmuCount) {
  55.         this.danmuCount = danmuCount;
  56.     }
  57. }
复制代码
新增UploadingFileDto 类,该类主要是用来提供文件上传的部门数据
  1. package com.easylive.entity.dto;
  2. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  3. import java.io.Serializable;
  4. @JsonIgnoreProperties(ignoreUnknown = true)
  5. public class UploadingFileDto implements Serializable {
  6.     private static final long serialVersionUID = 1L;
  7.     private String fileName;
  8.     private String uploadId;
  9.     private Integer chunkIndex;
  10.     private Integer chunks;
  11.     private Long fileSize = 0L;
  12.     private String filePath;
  13.     public String getFileName() {
  14.         return fileName;
  15.     }
  16.     public void setFileName(String fileName) {
  17.         this.fileName = fileName;
  18.     }
  19.     public String getUploadId() {
  20.         return uploadId;
  21.     }
  22.     public void setUploadId(String uploadId) {
  23.         this.uploadId = uploadId;
  24.     }
  25.     public Integer getChunkIndex() {
  26.         return chunkIndex;
  27.     }
  28.     public void setChunkIndex(Integer chunkIndex) {
  29.         this.chunkIndex = chunkIndex;
  30.     }
  31.     public Integer getChunks() {
  32.         return chunks;
  33.     }
  34.     public void setChunks(Integer chunks) {
  35.         this.chunks = chunks;
  36.     }
  37.     public Long getFileSize() {
  38.         return fileSize;
  39.     }
  40.     public void setFileSize(Long fileSize) {
  41.         this.fileSize = fileSize;
  42.     }
  43.     public String getFilePath() {
  44.         return filePath;
  45.     }
  46.     public void setFilePath(String filePath) {
  47.         this.filePath = filePath;
  48.     }
  49.     @Override
  50.     public String toString() {
  51.         return "UploadingFileDto{" +
  52.                 "fileName='" + fileName + '\'' +
  53.                 ", uploadId='" + uploadId + '\'' +
  54.                 ", chunkIndex=" + chunkIndex +
  55.                 ", chunks=" + chunks +
  56.                 ", fileSize=" + fileSize +
  57.                 ", filePath='" + filePath + '\'' +
  58.                 '}';
  59.     }
  60. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4