fix(backend): Restore service flow and admin management integration
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
mysql --default-character-set=utf8mb4 -uroot -p"${MYSQL_ROOT_PASSWORD}" nacos_config < /init-sql/nacos-config-init.sql
|
||||
@@ -0,0 +1,24 @@
|
||||
USE `video_content`;
|
||||
|
||||
-- 修复历史初始化过程中被错误写入的分类中文名称
|
||||
UPDATE `content_category`
|
||||
SET `name` = CASE `code`
|
||||
WHEN 'life' THEN CONVERT(0xE7949FE6B4BB USING utf8mb4)
|
||||
WHEN 'tech' THEN CONVERT(0xE7A791E68A80 USING utf8mb4)
|
||||
WHEN 'game' THEN CONVERT(0xE6B8B8E6888F USING utf8mb4)
|
||||
WHEN 'food' THEN CONVERT(0xE7BE8EE9A39F USING utf8mb4)
|
||||
WHEN 'music' THEN CONVERT(0xE99FB3E4B990 USING utf8mb4)
|
||||
WHEN 'movie' THEN CONVERT(0xE5BDB1E8A786 USING utf8mb4)
|
||||
WHEN 'knowledge' THEN CONVERT(0xE79FA5E8AF86 USING utf8mb4)
|
||||
WHEN 'digital' THEN CONVERT(0xE695B0E7A081 USING utf8mb4)
|
||||
WHEN 'software' THEN CONVERT(0xE8BDAFE4BBB6 USING utf8mb4)
|
||||
WHEN 'hardware' THEN CONVERT(0xE7A1ACE4BBB6 USING utf8mb4)
|
||||
WHEN 'mobile_game' THEN CONVERT(0xE6898BE69CBAE6B8B8E6888F USING utf8mb4)
|
||||
WHEN 'pc_game' THEN CONVERT(0xE794B5E88491E6B8B8E6888F USING utf8mb4)
|
||||
WHEN 'console_game' THEN CONVERT(0xE4B8BBE69CBAE6B8B8E6888F USING utf8mb4)
|
||||
ELSE `name`
|
||||
END
|
||||
WHERE `code` IN (
|
||||
'life', 'tech', 'game', 'food', 'music', 'movie', 'knowledge',
|
||||
'digital', 'software', 'hardware', 'mobile_game', 'pc_game', 'console_game'
|
||||
);
|
||||
+17
-15
@@ -1,3 +1,5 @@
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- 1. 创建数据库
|
||||
CREATE DATABASE IF NOT EXISTS `video_auth` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE DATABASE IF NOT EXISTS `video_user` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
@@ -359,7 +361,7 @@ CREATE TABLE IF NOT EXISTS `content_video_review` (
|
||||
KEY `idx_video` (`video_id`),
|
||||
KEY `idx_reviewer` (`reviewer_id`),
|
||||
CONSTRAINT `fk_cvr_video` FOREIGN KEY (`video_id`) REFERENCES `content_video` (`id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `fk_cvr_reviewer` FOREIGN KEY (`reviewer_id`) REFERENCES `video_auth`.`auth_user` (`id`)
|
||||
CONSTRAINT `fk_cvr_reviewer` FOREIGN KEY (`reviewer_id`) REFERENCES `video_admin`.`admin_user` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='视频审核记录表';
|
||||
|
||||
-- 视频点赞表
|
||||
@@ -458,19 +460,19 @@ CREATE TABLE IF NOT EXISTS `content_video_play_record` (
|
||||
|
||||
-- 初始化分类数据
|
||||
INSERT IGNORE INTO `content_category` (`id`, `name`, `code`, `parent_id`, `level`, `sort`) VALUES
|
||||
(1, '生活', 'life', 0, 1, 1),
|
||||
(2, '科技', 'tech', 0, 1, 2),
|
||||
(3, '游戏', 'game', 0, 1, 3),
|
||||
(4, '美食', 'food', 0, 1, 4),
|
||||
(5, '音乐', 'music', 0, 1, 5),
|
||||
(6, '影视', 'movie', 0, 1, 6),
|
||||
(7, '知识', 'knowledge', 0, 1, 7),
|
||||
(8, '数码', 'digital', 2, 2, 1),
|
||||
(9, '软件', 'software', 2, 2, 2),
|
||||
(10, '硬件', 'hardware', 2, 2, 3),
|
||||
(11, '手机游戏', 'mobile_game', 3, 2, 1),
|
||||
(12, '电脑游戏', 'pc_game', 3, 2, 2),
|
||||
(13, '主机游戏', 'console_game', 3, 2, 3);
|
||||
(1, CONVERT(0xE7949FE6B4BB USING utf8mb4), 'life', 0, 1, 1),
|
||||
(2, CONVERT(0xE7A791E68A80 USING utf8mb4), 'tech', 0, 1, 2),
|
||||
(3, CONVERT(0xE6B8B8E6888F USING utf8mb4), 'game', 0, 1, 3),
|
||||
(4, CONVERT(0xE7BE8EE9A39F USING utf8mb4), 'food', 0, 1, 4),
|
||||
(5, CONVERT(0xE99FB3E4B990 USING utf8mb4), 'music', 0, 1, 5),
|
||||
(6, CONVERT(0xE5BDB1E8A786 USING utf8mb4), 'movie', 0, 1, 6),
|
||||
(7, CONVERT(0xE79FA5E8AF86 USING utf8mb4), 'knowledge', 0, 1, 7),
|
||||
(8, CONVERT(0xE695B0E7A081 USING utf8mb4), 'digital', 2, 2, 1),
|
||||
(9, CONVERT(0xE8BDAFE4BBB6 USING utf8mb4), 'software', 2, 2, 2),
|
||||
(10, CONVERT(0xE7A1ACE4BBB6 USING utf8mb4), 'hardware', 2, 2, 3),
|
||||
(11, CONVERT(0xE6898BE69CBAE6B8B8E6888F USING utf8mb4), 'mobile_game', 3, 2, 1),
|
||||
(12, CONVERT(0xE794B5E88491E6B8B8E6888F USING utf8mb4), 'pc_game', 3, 2, 2),
|
||||
(13, CONVERT(0xE4B8BBE69CBAE6B8B8E6888F USING utf8mb4), 'console_game', 3, 2, 3);
|
||||
|
||||
-- 5. 评论数据库(video_comment)
|
||||
USE `video_comment`;
|
||||
@@ -775,4 +777,4 @@ INSERT IGNORE INTO `admin_system_config` (`config_key`, `config_value`, `descrip
|
||||
('video_upload_limit', '1024', '视频上传大小限制(MB)'),
|
||||
('video_review_enabled', '1', '视频审核开关(0:关闭,1:开启)'),
|
||||
('comment_review_enabled', '0', '评论审核开关(0:关闭,1:开启)'),
|
||||
('user_register_enabled', '1', '用户注册开关(0:关闭,1:开启)');
|
||||
('user_register_enabled', '1', '用户注册开关(0:关闭,1:开启)');
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
-- 注意:tenant_id 为空字符串 '' 表示 public 命名空间
|
||||
-- Nacos 2.x 版本需要 encrypted_data_key 字段
|
||||
|
||||
USE nacos_config;
|
||||
|
||||
-- ============================================
|
||||
-- 1. 公共基础配置 (common.yaml)
|
||||
-- ============================================
|
||||
@@ -63,7 +65,11 @@ feign:
|
||||
logging:
|
||||
level:
|
||||
com.nuaa.video: info
|
||||
org.springframework.security: info', '', '', 'nacos', '');
|
||||
org.springframework.security: info
|
||||
|
||||
service:
|
||||
auth:
|
||||
token: ${SERVICE_AUTH_TOKEN}', '', '', 'nacos', '');
|
||||
|
||||
-- ============================================
|
||||
-- 2. 开发环境 Redis 配置 (common-redis-dev.yaml)
|
||||
@@ -76,7 +82,7 @@ spring:
|
||||
redis:
|
||||
host: ${REDIS_HOST:5.180.253.115}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PASSWORD:redis_EsJ8FX}', '', '', 'nacos', '');
|
||||
password: ${REDIS_PASSWORD}', '', '', 'nacos', '');
|
||||
|
||||
-- ============================================
|
||||
-- 3. 高可用环境 Redis 配置 (common-redis-ha.yaml)
|
||||
@@ -87,11 +93,11 @@ INSERT INTO config_info (data_id, group_id, content, tenant_id, app_name, src_us
|
||||
spring:
|
||||
data:
|
||||
redis:
|
||||
password: ${REDIS_PASSWORD:redis_HA_Cluster_2024}
|
||||
password: ${REDIS_PASSWORD}
|
||||
sentinel:
|
||||
master: mymaster
|
||||
nodes: ${REDIS_SENTINEL_NODES:192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379}
|
||||
password: ${REDIS_PASSWORD:redis_HA_Cluster_2024}', '', '', 'nacos', '');
|
||||
nodes: ${REDIS_SENTINEL_NODES}
|
||||
password: ${REDIS_PASSWORD}', '', '', 'nacos', '');
|
||||
|
||||
-- ============================================
|
||||
-- 4. Gateway 服务配置 (video-gateway.yaml)
|
||||
@@ -147,13 +153,28 @@ gateway:
|
||||
- /**/auth/login
|
||||
- /**/auth/register
|
||||
- /**/auth/captcha
|
||||
- /auth/username/**
|
||||
- /content/video/public/**
|
||||
- /content/category/tree
|
||||
- /content/category/list
|
||||
- /content/tag/list
|
||||
- /content/tag/page
|
||||
- /content/danmaku/all/**
|
||||
- /content/danmaku/time
|
||||
- /content/stat/**
|
||||
- /user/profile/public/**
|
||||
- /user/profile/search
|
||||
- /user/follow/following/**
|
||||
- /user/follow/followers/**
|
||||
- /comment/reply/public/**
|
||||
- /comment/public/**
|
||||
- /admin/auth/captcha
|
||||
- /admin/auth/login', '', '', 'nacos', '');
|
||||
- /admin/auth/login
|
||||
|
||||
jwt:
|
||||
secret: ${USER_JWT_SECRET}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "', '', '', 'nacos', '');
|
||||
|
||||
-- ============================================
|
||||
-- 5. Auth 服务配置 (video-auth.yaml)
|
||||
@@ -164,7 +185,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_auth?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
username: root
|
||||
password: ${MYSQL_ROOT_PASSWORD:root123456}
|
||||
password: ${MYSQL_ROOT_PASSWORD}
|
||||
data:
|
||||
redis:
|
||||
database: 0
|
||||
@@ -180,8 +201,8 @@ mybatis-plus:
|
||||
type-aliases-package: com.nuaa.video.auth.entity
|
||||
|
||||
jwt:
|
||||
secret: video-platform-secret-key-2024-nuaa
|
||||
expiration: 86400
|
||||
secret: ${USER_JWT_SECRET}
|
||||
expiration: ${JWT_EXPIRATION}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "', '', '', 'nacos', '');
|
||||
|
||||
@@ -194,7 +215,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
username: root
|
||||
password: ${MYSQL_ROOT_PASSWORD:root123456}
|
||||
password: ${MYSQL_ROOT_PASSWORD}
|
||||
data:
|
||||
redis:
|
||||
database: 1
|
||||
@@ -215,10 +236,16 @@ auth:
|
||||
- /user/profile/init
|
||||
- /actuator/**
|
||||
|
||||
jwt:
|
||||
secret: ${USER_JWT_SECRET}
|
||||
expiration: ${JWT_EXPIRATION}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "
|
||||
|
||||
minio:
|
||||
endpoint: http://${MINIO_HOST:minio}:${MINIO_PORT:9000}
|
||||
accessKey: minioadmin
|
||||
secretKey: minioadmin123
|
||||
accessKey: ${MINIO_ACCESS_KEY}
|
||||
secretKey: ${MINIO_SECRET_KEY}
|
||||
bucketName: video-platform', '', '', 'nacos', '');
|
||||
|
||||
-- ============================================
|
||||
@@ -230,7 +257,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_content?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
username: root
|
||||
password: ${MYSQL_ROOT_PASSWORD:root123456}
|
||||
password: ${MYSQL_ROOT_PASSWORD}
|
||||
data:
|
||||
redis:
|
||||
database: 2
|
||||
@@ -259,9 +286,9 @@ mybatis-plus:
|
||||
|
||||
minio:
|
||||
endpoint: http://${MINIO_HOST:minio}:${MINIO_PORT:9000}
|
||||
accessKey: ${MINIO_ACCESS_KEY:minioadmin}
|
||||
secretKey: ${MINIO_SECRET_KEY:minioadmin123}
|
||||
bucketName: ${MINIO_BUCKET:video-platform}
|
||||
accessKey: ${MINIO_ACCESS_KEY}
|
||||
secretKey: ${MINIO_SECRET_KEY}
|
||||
bucketName: ${MINIO_BUCKET}
|
||||
|
||||
ffmpeg:
|
||||
binary:
|
||||
@@ -279,8 +306,8 @@ auth:
|
||||
- /actuator/**
|
||||
|
||||
jwt:
|
||||
secret: video-platform-secret-key-2024-nuaa
|
||||
expiration: 86400
|
||||
secret: ${USER_JWT_SECRET}
|
||||
expiration: ${JWT_EXPIRATION}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "', '', '', 'nacos', '');
|
||||
|
||||
@@ -293,7 +320,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_comment?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
username: root
|
||||
password: ${MYSQL_ROOT_PASSWORD:root123456}
|
||||
password: ${MYSQL_ROOT_PASSWORD}
|
||||
data:
|
||||
redis:
|
||||
database: 3
|
||||
@@ -320,8 +347,8 @@ comment:
|
||||
enabled: false
|
||||
|
||||
jwt:
|
||||
secret: video-platform-secret-key-2024-nuaa
|
||||
expiration: 86400
|
||||
secret: ${USER_JWT_SECRET}
|
||||
expiration: ${JWT_EXPIRATION}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "
|
||||
|
||||
@@ -339,7 +366,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_recommend?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
username: root
|
||||
password: ${MYSQL_ROOT_PASSWORD:root123456}
|
||||
password: ${MYSQL_ROOT_PASSWORD}
|
||||
data:
|
||||
redis:
|
||||
database: 4
|
||||
@@ -381,8 +408,8 @@ recommend:
|
||||
complete-watch: 4
|
||||
|
||||
jwt:
|
||||
secret: video-platform-secret-key-2024-nuaa
|
||||
expiration: 86400
|
||||
secret: ${USER_JWT_SECRET}
|
||||
expiration: ${JWT_EXPIRATION}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "
|
||||
|
||||
@@ -401,7 +428,7 @@ spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
username: root
|
||||
password: ${MYSQL_ROOT_PASSWORD:root123456}
|
||||
password: ${MYSQL_ROOT_PASSWORD}
|
||||
data:
|
||||
redis:
|
||||
database: 5
|
||||
@@ -422,8 +449,8 @@ mybatis-plus:
|
||||
logic-not-delete-value: 1
|
||||
|
||||
jwt:
|
||||
secret: video-platform-admin-secret-key-2024-nuaa
|
||||
expiration: 86400
|
||||
secret: ${ADMIN_JWT_SECRET}
|
||||
expiration: ${JWT_EXPIRATION}
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "
|
||||
|
||||
@@ -437,4 +464,8 @@ operation-log:
|
||||
- /admin/auth/login
|
||||
- /admin/auth/logout
|
||||
- /admin/auth/captcha
|
||||
- /actuator/**', '', '', 'nacos', '');
|
||||
- /actuator/**
|
||||
|
||||
app:
|
||||
init:
|
||||
admin-password: ${ADMIN_INIT_PASSWORD}', '', '', 'nacos', '');
|
||||
|
||||
Reference in New Issue
Block a user