/* Navicat Premium Dump SQL Source Server : 116.62.4.26 Source Server Type : MySQL Source Server Version : 50740 (5.7.40-log) Source Host : 116.62.4.26:3306 Source Schema : 1818ai Target Server Type : MySQL Target Server Version : 50740 (5.7.40-log) File Encoding : 65001 Date: 06/12/2025 15:20:26 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for admin_user -- ---------------------------- DROP TABLE IF EXISTS `admin_user`; CREATE TABLE `admin_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '管理员用户名', `password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '哈希后的密码', `role` tinyint(4) NOT NULL COMMENT '角色(0工作人员/1管理员)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `username`(`username`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for ai_task -- ---------------------------- DROP TABLE IF EXISTS `ai_task`; CREATE TABLE `ai_task` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `task_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务编号 (系统生成的唯一ID)', `user_id` bigint(20) NOT NULL COMMENT '关联的用户ID', `model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求的模型名称 (如: sora_image)', `task_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务类型 (image/video)', `provider_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AI服务提供商类型', `provider_task_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务商返回的任务ID', `provider_response` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '服务商原始响应(JSON)', `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户提交的提示词', `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参考图片URL(用于图生视频)', `image_base64` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参考图片Base64编码(用于图生视频)', `input_images` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输入图片列表(JSON格式,用于图生视频)', `aspect_ratio` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片比例(如: 2:3, 3:2, 1:1,仅图片生成使用)', `duration` int(11) NULL DEFAULT NULL COMMENT '视频时长(秒,仅视频生成使用)', `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'created' COMMENT '任务状态 (created, queued, processing, completed, failed, cancelled)', `progress` int(11) NULL DEFAULT 0 COMMENT '生成进度百分比 (0-100)', `progress_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '当前进度文本描述', `points_frozen` int(11) NOT NULL COMMENT '本次任务冻结的积分', `points_consumed` int(11) NULL DEFAULT 0 COMMENT '任务成功后实际消耗的积分', `result_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成结果的URL', `error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '任务失败时的错误信息', `queue_time` datetime NULL DEFAULT NULL COMMENT '进入队列的时间', `start_time` datetime NULL DEFAULT NULL COMMENT '开始处理的时间', `complete_time` datetime NULL DEFAULT NULL COMMENT '任务完成或失败的时间', `expire_time` datetime NULL DEFAULT NULL COMMENT '结果URL的过期时间 (根据第三方API策略设定)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', `provider_pid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务商返回的PID,用于速创Sora2的续作ID', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `task_no`(`task_no`) USING BTREE, UNIQUE INDEX `uk_task_no`(`task_no`) USING BTREE, INDEX `idx_user_status`(`user_id`, `status`) USING BTREE, INDEX `idx_status_time`(`status`, `create_time`) USING BTREE, INDEX `idx_provider_task_id`(`provider_task_id`) USING BTREE, INDEX `idx_provider_type_status`(`provider_type`, `status`) USING BTREE, INDEX `idx_task_type`(`task_type`) USING BTREE, CONSTRAINT `ai_task_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1876 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'AI生成任务表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for api_key -- ---------------------------- DROP TABLE IF EXISTS `api_key`; CREATE TABLE `api_key` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `key_value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'API密钥值', `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用', `last_used_at` datetime NULL DEFAULT NULL COMMENT '最后使用时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `key_value`(`key_value`) USING BTREE, UNIQUE INDEX `uk_api_key_user`(`user_id`) USING BTREE, INDEX `idx_api_key_value`(`key_value`) USING BTREE, INDEX `idx_api_key_active`(`is_active`) USING BTREE, CONSTRAINT `api_key_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for banner -- ---------------------------- DROP TABLE IF EXISTS `banner`; CREATE TABLE `banner` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `image` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '图片URL', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `button_text` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '按钮文字', `link_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'internal' COMMENT '链接类型 (internal: 内部路由跳转, external: 外部链接跳转)', `link` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '跳转链接', `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序字段', `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0禁用/1启用)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_banner_enabled`(`is_enabled`) USING BTREE, INDEX `idx_banner_sort`(`sort_order`) USING BTREE, INDEX `idx_banner_create_time`(`create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for category -- ---------------------------- DROP TABLE IF EXISTS `category`; CREATE TABLE `category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类目名称', `type` tinyint(4) NOT NULL COMMENT '类目类型(1课程分类/2工作流分类)', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类目描述', `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序字段', `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0禁用/1启用)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_category_name_type`(`name`, `type`) USING BTREE, INDEX `idx_category_type`(`type`) USING BTREE, INDEX `idx_category_enabled`(`is_enabled`) USING BTREE, INDEX `idx_category_sort`(`sort_order`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '类目表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for content_revenue -- ---------------------------- DROP TABLE IF EXISTS `content_revenue`; CREATE TABLE `content_revenue` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '内容创作者ID', `content_type` tinyint(4) NOT NULL COMMENT '内容类型 (1工作流/2视频)', `content_id` bigint(20) NOT NULL COMMENT '内容ID', `revenue_source` tinyint(4) NOT NULL COMMENT '收益来源 (1购买/2复制/3观看)', `source_value` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '来源基础价值', `quantity` int(11) NOT NULL DEFAULT 0 COMMENT '数量', `commission_rate` decimal(5, 4) NOT NULL DEFAULT 0.0000 COMMENT '分成比例', `revenue_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '创作者实际收益金额', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '收益状态 (0待结算/1已结算)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收益产生时间', `settled_at` datetime NULL DEFAULT NULL COMMENT '结算时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, INDEX `idx_content`(`content_type`, `content_id`) USING BTREE, INDEX `idx_create_time`(`create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for content_revenue_stage -- ---------------------------- DROP TABLE IF EXISTS `content_revenue_stage`; CREATE TABLE `content_revenue_stage` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `content_type` tinyint(4) NOT NULL COMMENT '内容类型 (1工作流/2视频)', `content_id` bigint(20) NOT NULL COMMENT '内容ID', `user_id` bigint(20) NOT NULL COMMENT '创作者ID', `stage_level` int(11) NOT NULL COMMENT '阶段等级 (1,2,3...)', `stage_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '阶段名称', `target_count` int(11) NOT NULL COMMENT '目标数量 (复制次数/观看次数)', `reward_amount` decimal(10, 2) NOT NULL COMMENT '奖励金额', `current_count` int(11) NOT NULL DEFAULT 0 COMMENT '当前数量', `is_achieved` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已达到 (0未达到/1已达到)', `achieved_at` datetime NULL DEFAULT NULL COMMENT '达到时间', `is_withdrawn` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已提现 (0未提现/1已提现)', `withdrawn_at` datetime NULL DEFAULT NULL COMMENT '提现时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_content_stage`(`content_type`, `content_id`, `stage_level`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, INDEX `idx_content`(`content_type`, `content_id`) USING BTREE, INDEX `idx_achieved`(`is_achieved`) USING BTREE, INDEX `idx_withdrawn`(`is_withdrawn`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for course -- ---------------------------- DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '课程标题', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '课程的富文本描述', `cover_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图URL', `detail_gallery` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '详情图集(JSON格式存储多张图片URL)', `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '价格', `level` tinyint(4) NOT NULL DEFAULT 0 COMMENT '访问课程所需的最低用户级别', `audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1通过/2拒绝)', `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '课程分类', `category_id` bigint(20) NULL DEFAULT NULL COMMENT '关联类目ID', `reject_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', `review_time` datetime NULL DEFAULT NULL COMMENT '审核时间', `user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `is_free` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否免费(0收费/1免费)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_course_category_id`(`category_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 37 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for course_chapter -- ---------------------------- DROP TABLE IF EXISTS `course_chapter`; CREATE TABLE `course_chapter` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `course_id` bigint(20) NOT NULL COMMENT '所属课程ID', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '章节标题', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '章节描述', `order_num` int(11) NOT NULL DEFAULT 0 COMMENT '章节排序编号', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for course_favorite -- ---------------------------- DROP TABLE IF EXISTS `course_favorite`; CREATE TABLE `course_favorite` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '收藏用户ID', `course_id` bigint(20) NOT NULL COMMENT '被收藏的课程ID', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_user_course_favorite`(`user_id`, `course_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for course_like -- ---------------------------- DROP TABLE IF EXISTS `course_like`; CREATE TABLE `course_like` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '点赞用户ID', `course_id` bigint(20) NOT NULL COMMENT '被点赞的课程ID', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_user_course_like`(`user_id`, `course_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for course_video -- ---------------------------- DROP TABLE IF EXISTS `course_video`; CREATE TABLE `course_video` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `chapter_id` bigint(20) NOT NULL COMMENT '所属章节ID', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视频标题', `video_id` bigint(20) NULL DEFAULT NULL COMMENT '阿里云视频点播ID', `duration_sec` int(11) NULL DEFAULT 0 COMMENT '视频时长(秒)', `order_num` int(11) NOT NULL DEFAULT 0 COMMENT '视频在章节内的排序编号', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for fan_promotion_commission -- ---------------------------- DROP TABLE IF EXISTS `fan_promotion_commission`; CREATE TABLE `fan_promotion_commission` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `promoter_id` bigint(20) NOT NULL COMMENT '推广人ID', `fan_id` bigint(20) NOT NULL COMMENT '粉丝用户ID', `order_id` bigint(20) NOT NULL COMMENT '关联的订单ID', `order_amount` decimal(10, 2) NOT NULL COMMENT '粉丝订单金额', `commission_rate` decimal(5, 4) NOT NULL COMMENT '提成比例', `commission_level` tinyint(4) NOT NULL COMMENT '提成发生时推广人的等级', `commission_amount` decimal(10, 2) NOT NULL COMMENT '推广人实际提成金额', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '提成状态 (0待结算/1已结算)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '提成产生时间', `settled_at` datetime NULL DEFAULT NULL COMMENT '结算时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_promoter_fan`(`promoter_id`, `fan_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for gift_code -- ---------------------------- DROP TABLE IF EXISTS `gift_code`; CREATE TABLE `gift_code` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '礼品码,唯一', `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '礼品码名称', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '礼品码描述', `type` tinyint(4) NOT NULL COMMENT '礼品码类型 (1-积分卡/2-会员卡)', `points` int(11) NULL DEFAULT NULL COMMENT '积分数量(积分卡类型)', `points_expire_days` int(11) NULL DEFAULT NULL COMMENT '积分有效期天数(积分卡类型)', `target_role` tinyint(4) NULL DEFAULT NULL COMMENT '目标角色等级(会员卡类型)', `duration_days` int(11) NULL DEFAULT NULL COMMENT '会员有效期天数(会员卡类型)', `total_count` int(11) NOT NULL DEFAULT 1 COMMENT '总可用次数', `used_count` int(11) NOT NULL DEFAULT 0 COMMENT '已使用次数', `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用', `expire_time` datetime NULL DEFAULT NULL COMMENT '礼品码过期时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `code`(`code`) USING BTREE, INDEX `idx_gift_code_code`(`code`) USING BTREE, INDEX `idx_gift_code_type`(`type`) USING BTREE, INDEX `idx_gift_code_active`(`is_active`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for gift_code_usage -- ---------------------------- DROP TABLE IF EXISTS `gift_code_usage`; CREATE TABLE `gift_code_usage` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `gift_code_id` bigint(20) NOT NULL COMMENT '礼品码ID', `user_id` bigint(20) NOT NULL COMMENT '使用用户ID', `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '使用的礼品码', `type` tinyint(4) NOT NULL COMMENT '礼品码类型 (1-积分卡/2-会员卡)', `points` int(11) NULL DEFAULT NULL COMMENT '积分数量', `points_expire_days` int(11) NULL DEFAULT NULL COMMENT '积分有效期天数', `target_role` tinyint(4) NULL DEFAULT NULL COMMENT '目标角色等级', `duration_days` int(11) NULL DEFAULT NULL COMMENT '会员有效期天数', `old_role` tinyint(4) NULL DEFAULT NULL COMMENT '用户原角色', `new_role` tinyint(4) NULL DEFAULT NULL COMMENT '用户新角色', `old_points` int(11) NULL DEFAULT NULL COMMENT '用户原积分', `new_points` int(11) NULL DEFAULT NULL COMMENT '用户新积分', `old_points_expires_at` datetime NULL DEFAULT NULL COMMENT '用户原积分过期时间', `new_points_expires_at` datetime NULL DEFAULT NULL COMMENT '用户新积分过期时间', `old_expires_at` datetime NULL DEFAULT NULL COMMENT '用户原会员到期时间', `new_expires_at` datetime NULL DEFAULT NULL COMMENT '用户新会员到期时间', `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '使用状态 (1-成功/0-失败)', `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '使用时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_gift_code_usage_user`(`user_id`) USING BTREE, INDEX `idx_gift_code_usage_code`(`gift_code_id`) USING BTREE, INDEX `idx_gift_code_usage_time`(`create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 83 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for membership_plan -- ---------------------------- DROP TABLE IF EXISTS `membership_plan`; CREATE TABLE `membership_plan` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '套餐名称', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '套餐的详细描述', `price` decimal(10, 2) NOT NULL COMMENT '价格', `duration_days` int(11) NOT NULL COMMENT '有效期天数', `target_role` tinyint(4) NOT NULL COMMENT '购买后达到的角色等级', `discount_percentage` decimal(5, 2) NULL DEFAULT 0.00 COMMENT '优惠百分比率(0-100,如10.50表示10.5%的优惠)', `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否上架', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for order -- ---------------------------- DROP TABLE IF EXISTS `order`; CREATE TABLE `order` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '系统生成的唯一订单号', `order_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '订单类型(1-会员订单/2-积分订单)', `user_id` bigint(20) NOT NULL COMMENT '购买用户ID', `plan_id` bigint(20) NULL DEFAULT NULL COMMENT '购买的套餐ID', `points_package_id` bigint(20) NULL DEFAULT NULL COMMENT '积分套餐ID(积分订单)', `points_amount` int(11) NULL DEFAULT NULL COMMENT '积分数量(积分订单)', `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '套餐原价', `amount` decimal(10, 2) NOT NULL COMMENT '订单最终金额(实际支付金额)', `actual_duration_days` int(11) NULL DEFAULT NULL COMMENT '实际获得的会员天数', `discount_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠类型 (NONE/CONTINUOUS_MONTHLY/CONTINUOUS_YEARLY/FIRST_PURCHASE/SPECIAL_OFFER)', `discount_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠金额', `discount_description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠描述', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '订单状态 (0待支付/1已完成/2已取消/3支付失败)', `payment_method` tinyint(4) NULL DEFAULT NULL COMMENT '支付方式 (1支付宝/2微信支付)', `paid_at` datetime NULL DEFAULT NULL COMMENT '支付成功时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `order_no`(`order_no`) USING BTREE, INDEX `idx_order_discount_type`(`discount_type`) USING BTREE, INDEX `idx_order_user_id_status`(`user_id`, `status`) USING BTREE, INDEX `idx_order_type`(`order_type`) USING BTREE, INDEX `idx_order_points_package`(`points_package_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for payment_transaction -- ---------------------------- DROP TABLE IF EXISTS `payment_transaction`; CREATE TABLE `payment_transaction` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关联的系统订单号', `transaction_no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方支付平台返回的流水号', `payment_gateway` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关', `amount` decimal(10, 2) NOT NULL COMMENT '支付金额', `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方支付平台返回的状态', `raw_data` json NULL COMMENT '第三方支付平台通知的完整原始数据', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for plaza_work -- ---------------------------- DROP TABLE IF EXISTS `plaza_work`; CREATE TABLE `plaza_work` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `work_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '作品编号(唯一标识)', `user_id` bigint(20) NOT NULL COMMENT '发布者用户ID', `task_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关联的任务编号', `task_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务类型:text_to_image/image_to_image/text_to_video/image_to_video等', `model_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '使用的模型名称', `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生成提示词', `result_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '作品结果URL(图片或视频)', `image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '参考图URL(图生图/图生视频任务使用)', `aspect_ratio` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '宽高比:1:1/2:3/3:2/9:16/16:9等', `title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '作品标题(可选)', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '作品描述(可选)', `tags` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签(JSON数组字符串)', `view_count` int(11) NULL DEFAULT 0 COMMENT '浏览次数', `like_count` int(11) NULL DEFAULT 0 COMMENT '点赞数', `share_count` int(11) NULL DEFAULT 0 COMMENT '分享数', `comment_count` int(11) NULL DEFAULT 0 COMMENT '评论数(预留)', `is_public` tinyint(1) NULL DEFAULT 1 COMMENT '是否公开:0-仅自己可见,1-公开', `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'published' COMMENT '状态:draft-草稿,published-已发布,hidden-已隐藏', `audit_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending' COMMENT '审核状态:pending-待审核, approved-已通过, rejected-已拒绝', `audit_admin_id` bigint(20) NULL DEFAULT NULL COMMENT '审核管理员ID', `audit_time` datetime NULL DEFAULT NULL COMMENT '审核时间', `audit_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '审核备注(拒绝原因等)', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0-未删除,1-已删除', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_work_no`(`work_no`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, INDEX `idx_task_no`(`task_no`) USING BTREE, INDEX `idx_task_type`(`task_type`) USING BTREE, INDEX `idx_create_time`(`create_time`) USING BTREE, INDEX `idx_like_count`(`like_count`) USING BTREE, INDEX `idx_status_public`(`status`, `is_public`, `is_deleted`) USING BTREE, INDEX `idx_type_like_time`(`task_type`, `like_count`, `create_time`) USING BTREE, INDEX `idx_status_public_time`(`status`, `is_public`, `create_time`) USING BTREE, INDEX `idx_audit_status`(`audit_status`) USING BTREE, INDEX `idx_audit_time`(`audit_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 63 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for plaza_work_audit_log -- ---------------------------- DROP TABLE IF EXISTS `plaza_work_audit_log`; CREATE TABLE `plaza_work_audit_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `work_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作品编号', `work_id` bigint(20) NOT NULL COMMENT '作品ID', `audit_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '审核结果:approved-通过, rejected-拒绝', `audit_admin_id` bigint(20) NOT NULL COMMENT '审核管理员ID', `audit_admin_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审核管理员名称', `audit_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '审核备注', `audit_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_work_no`(`work_no`) USING BTREE, INDEX `idx_work_id`(`work_id`) USING BTREE, INDEX `idx_audit_admin_id`(`audit_admin_id`) USING BTREE, INDEX `idx_audit_time`(`audit_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 68 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '广场作品审核记录表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for plaza_work_like -- ---------------------------- DROP TABLE IF EXISTS `plaza_work_like`; CREATE TABLE `plaza_work_like` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `work_id` bigint(20) NOT NULL COMMENT '作品ID', `user_id` bigint(20) NOT NULL COMMENT '点赞用户ID', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_work_user`(`work_id`, `user_id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, INDEX `idx_create_time`(`create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 80 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品点赞表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for plaza_work_report -- ---------------------------- DROP TABLE IF EXISTS `plaza_work_report`; CREATE TABLE `plaza_work_report` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `report_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '投诉编号(唯一标识)', `work_id` bigint(20) NOT NULL COMMENT '被投诉的作品ID', `work_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '被投诉的作品编号', `reporter_id` bigint(20) NOT NULL COMMENT '投诉人用户ID', `report_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '投诉类型:political-政治敏感,pornographic-色情低俗,violent-暴力血腥,dangerous-危险行为,uncomfortable-引人不适,other-其他', `report_reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '投诉原因描述(可选)', `report_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'pending' COMMENT '投诉状态:pending-待审核,approved-投诉成立,rejected-投诉不成立', `audit_admin_id` bigint(20) NULL DEFAULT NULL COMMENT '审核管理员ID', `audit_admin_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核管理员名称', `audit_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '审核备注(处理说明)', `audit_time` datetime NULL DEFAULT NULL COMMENT '审核时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '投诉时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0-未删除,1-已删除', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_report_no`(`report_no`) USING BTREE, INDEX `idx_work_id`(`work_id`) USING BTREE, INDEX `idx_work_no`(`work_no`) USING BTREE, INDEX `idx_reporter_id`(`reporter_id`) USING BTREE, INDEX `idx_report_type`(`report_type`) USING BTREE, INDEX `idx_report_status`(`report_status`) USING BTREE, INDEX `idx_audit_admin_id`(`audit_admin_id`) USING BTREE, INDEX `idx_create_time`(`create_time`) USING BTREE, INDEX `idx_work_reporter`(`work_id`, `reporter_id`, `is_deleted`) USING BTREE, INDEX `idx_status_time`(`report_status`, `create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品投诉表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for plaza_work_report_limit -- ---------------------------- DROP TABLE IF EXISTS `plaza_work_report_limit`; CREATE TABLE `plaza_work_report_limit` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `report_count` int(11) NULL DEFAULT 0 COMMENT '今日投诉次数', `last_report_time` datetime NULL DEFAULT NULL COMMENT '最后投诉时间', `reset_date` date NOT NULL COMMENT '重置日期(用于每日重置计数)', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_user_id`(`user_id`) USING BTREE, INDEX `idx_reset_date`(`reset_date`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品投诉限制表(防止恶意投诉)' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for plaza_work_view -- ---------------------------- DROP TABLE IF EXISTS `plaza_work_view`; CREATE TABLE `plaza_work_view` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `work_id` bigint(20) NOT NULL COMMENT '作品ID', `user_id` bigint(20) NULL DEFAULT NULL COMMENT '浏览用户ID(可为空,支持匿名浏览)', `ip_address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'IP地址', `user_agent` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户代理', `view_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '浏览时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_work_id`(`work_id`) USING BTREE, INDEX `idx_user_id`(`user_id`) USING BTREE, INDEX `idx_view_time`(`view_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '广场作品浏览记录表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for points_config -- ---------------------------- DROP TABLE IF EXISTS `points_config`; CREATE TABLE `points_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模型名称 (如: sora_image)', `model_category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'text' COMMENT '模型类别:text(文本), image(图片), video(视频), audio(音频)', `points_cost` int(11) NOT NULL COMMENT '调用一次消耗的积分', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模型描述', `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用 (0:禁用, 1:启用)', `provider_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'openai' COMMENT 'AI服务提供商类型:openai, ', `provider_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '服务商特定配置(JSON格式)', `task_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类型:text_to_image(文生图)/image_to_image(图生图)/text_to_video(文生视频)/image_to_video(图生视频)/llm(大语言模型)/text_to_audio(文生音频)/image_to_text(图生文)/other(其他)', `sort_order` int(11) NULL DEFAULT 0 COMMENT '排序顺序(用于前端展示)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `model_name`(`model_name`) USING BTREE, INDEX `idx_points_config_task_type`(`task_type`) USING BTREE, INDEX `idx_points_config_provider_task`(`provider_type`, `task_type`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 116 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积分消费配置表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for points_consumption_log -- ---------------------------- DROP TABLE IF EXISTS `points_consumption_log`; CREATE TABLE `points_consumption_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '关联的用户ID', `task_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联的AI任务编号', `change_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '变动类型 (recharge:充值, consume:消费, refund:退款, expire:过期, admin_adjust:管理员调整)', `change_amount` int(11) NOT NULL COMMENT '变动积分数量 (正数表示增加,负数表示减少)', `balance_before` int(11) NOT NULL COMMENT '变动前积分余额', `balance_after` int(11) NOT NULL COMMENT '变动后积分余额', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '变动描述', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_id_type`(`user_id`, `change_type`) USING BTREE, CONSTRAINT `points_consumption_log_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 2534 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积分消费记录表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for points_package -- ---------------------------- DROP TABLE IF EXISTS `points_package`; CREATE TABLE `points_package` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '套餐名称', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '套餐描述', `points` int(11) NOT NULL COMMENT '基础积分数量', `bonus_points` int(11) NOT NULL DEFAULT 0 COMMENT '赠送积分数量', `total_points` int(11) NOT NULL COMMENT '总积分(基础+赠送)', `price` decimal(10, 2) NOT NULL COMMENT '价格(元)', `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '原价(用于显示优惠)', `points_expire_days` int(11) NOT NULL DEFAULT 365 COMMENT '积分有效期(天)', `discount_label` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '优惠标签(如:首充特惠、限时优惠)', `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序(数字越小越靠前)', `is_hot` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否热门推荐', `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否上架', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_points_package_active`(`is_active`) USING BTREE, INDEX `idx_points_package_sort`(`sort_order`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积分套餐表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for promotion_level_config -- ---------------------------- DROP TABLE IF EXISTS `promotion_level_config`; CREATE TABLE `promotion_level_config` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT COMMENT '等级ID', `level_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '等级名称', `min_paid_fans` int(11) NOT NULL COMMENT '达到该等级所需的最低付费粉丝数量', `commission_rate` decimal(5, 4) NOT NULL COMMENT '该等级对应的基础提成比例', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for promotion_poster -- ---------------------------- DROP TABLE IF EXISTS `promotion_poster`; CREATE TABLE `promotion_poster` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '海报标题', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '海报描述', `image_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '海报图片URL', `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT '排序字段', `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0禁用/1启用)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_promotion_poster_enabled`(`is_enabled`) USING BTREE, INDEX `idx_promotion_poster_sort`(`sort_order`) USING BTREE, INDEX `idx_promotion_poster_create_time`(`create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for revenue_config -- ---------------------------- DROP TABLE IF EXISTS `revenue_config`; CREATE TABLE `revenue_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `config_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置键', `config_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置类型(video/workflow/promotion)', `target_count` int(11) NULL DEFAULT NULL COMMENT '目标次数(视频播放次数/工作流复制次数)', `reward_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '奖励金额', `level` int(11) NULL DEFAULT NULL COMMENT '推广等级', `level_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推广等级名称', `min_fans` int(11) NULL DEFAULT NULL COMMENT '最小粉丝数', `commission_rate` decimal(5, 4) NULL DEFAULT NULL COMMENT '提成比例', `config_value` decimal(10, 4) NULL DEFAULT NULL COMMENT '配置值', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置说明', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_revenue_config_type`(`config_type`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for system_config -- ---------------------------- DROP TABLE IF EXISTS `system_config`; CREATE TABLE `system_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `config_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置键 (如: ai.queue.max_concurrent)', `config_value` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置值', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置说明', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `config_key`(`config_key`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统配置表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for system_message -- ---------------------------- DROP TABLE IF EXISTS `system_message`; CREATE TABLE `system_message` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '接收用户ID', `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息标题', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容', `is_read` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已读', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号,唯一(微信登录用户可为空)', `wechat_openid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openid,用于微信登录', `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名,唯一', `real_username` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实用户名', `id_number` varchar(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号码', `password_jwt` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JWT加密密码(微信登录用户可为空)', `role` tinyint(4) NOT NULL DEFAULT 1 COMMENT '角色(0游客/1普通/2VIP/3SVIP)', `membership_expires_at` datetime NULL DEFAULT NULL COMMENT '会员到期时间', `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像URL', `is_verified` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否实名认证 (0-未认证, 1-已认证)', `invite_code` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推广码', `inviter_id` bigint(20) NULL DEFAULT NULL COMMENT '邀请人ID', `promotion_level` tinyint(4) NOT NULL DEFAULT 0 COMMENT '推广等级', `points` int(11) NOT NULL DEFAULT 0 COMMENT '积分余额', `points_expires_at` datetime NULL DEFAULT NULL COMMENT '积分过期时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `username`(`username`) USING BTREE, UNIQUE INDEX `phone`(`phone`) USING BTREE, UNIQUE INDEX `invite_code`(`invite_code`) USING BTREE, UNIQUE INDEX `uk_user_wechat_openid`(`wechat_openid`) USING BTREE, INDEX `idx_user_wechat_openid`(`wechat_openid`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 17650006271322432 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for user_balance -- ---------------------------- DROP TABLE IF EXISTS `user_balance`; CREATE TABLE `user_balance` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `balance` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '当前余额', `total_income` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '累计总收入', `total_withdrawn` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '累计提现总额', `frozen_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '冻结金额(提现中)', `last_updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_user_balance`(`user_id`) USING BTREE, INDEX `idx_user_balance_user_id`(`user_id`) USING BTREE, INDEX `idx_user_balance_balance`(`balance`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 78 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for user_balance_log -- ---------------------------- DROP TABLE IF EXISTS `user_balance_log`; CREATE TABLE `user_balance_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `change_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '变动类型(income/withdraw/freeze/unfreeze)', `change_amount` decimal(10, 2) NOT NULL COMMENT '变动金额(正数为增加,负数为减少)', `balance_before` decimal(10, 2) NOT NULL COMMENT '变动前余额', `balance_after` decimal(10, 2) NOT NULL COMMENT '变动后余额', `source_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源类型(promotion/workflow/video/withdraw)', `source_id` bigint(20) NULL DEFAULT NULL COMMENT '来源ID(订单ID、提现ID等)', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '变动描述', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_user_balance_log_user_id`(`user_id`) USING BTREE, INDEX `idx_user_balance_log_change_type`(`change_type`) USING BTREE, INDEX `idx_user_balance_log_create_time`(`create_time`) USING BTREE, INDEX `idx_user_balance_log_source`(`source_type`, `source_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 78 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for user_video_progress -- ---------------------------- DROP TABLE IF EXISTS `user_video_progress`; CREATE TABLE `user_video_progress` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL, `course_id` bigint(20) NOT NULL, `chapter_id` bigint(20) NOT NULL, `video_id` bigint(20) NOT NULL, `progress_sec` int(11) NOT NULL DEFAULT 0 COMMENT '已观看秒数', `progress_pct` float NOT NULL DEFAULT 0 COMMENT '进度百分比', `last_watch_at` datetime NULL DEFAULT NULL COMMENT '最后观看时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for video -- ---------------------------- DROP TABLE IF EXISTS `video`; CREATE TABLE `video` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '视频标题', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '视频描述', `owner_id` bigint(20) NOT NULL COMMENT '创建者ID', `cover_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图片URL', `vod_video_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阿里云VOD视频ID', `duration` int(11) NULL DEFAULT NULL COMMENT '视频时长(秒)', `view_count` int(11) NOT NULL DEFAULT 0 COMMENT '观看次数', `like_count` int(11) NOT NULL DEFAULT 0 COMMENT '点赞数量', `is_public` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否公开', `audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1通过/2拒绝)', `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频分类', `reject_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', `review_time` datetime NULL DEFAULT NULL COMMENT '审核时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_owner_id`(`owner_id`) USING BTREE, INDEX `idx_category`(`category`) USING BTREE, INDEX `idx_audit_status`(`audit_status`) USING BTREE, INDEX `idx_vod_video_id`(`vod_video_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 144 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for video_view_stat -- ---------------------------- DROP TABLE IF EXISTS `video_view_stat`; CREATE TABLE `video_view_stat` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `video_id` bigint(20) NOT NULL COMMENT '视频ID', `owner_id` bigint(20) NOT NULL COMMENT '视频创建者ID', `view_user_id` bigint(20) NOT NULL COMMENT '观看用户ID', `view_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '观看时间', `view_duration` int(11) NULL DEFAULT 0 COMMENT '观看时长(秒)', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_video_owner`(`owner_id`) USING BTREE, INDEX `idx_video_id`(`video_id`) USING BTREE, INDEX `idx_view_time`(`view_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 156 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wechat_keyword_reply -- ---------------------------- DROP TABLE IF EXISTS `wechat_keyword_reply`; CREATE TABLE `wechat_keyword_reply` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '关键词回复ID', `keyword` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关键词', `match_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'exact' COMMENT '匹配类型:exact-精确匹配,fuzzy-模糊匹配,regex-正则匹配', `template_id` bigint(20) NOT NULL COMMENT '关联的消息模板ID', `is_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0-禁用,1-启用', `priority` int(11) NULL DEFAULT 0 COMMENT '优先级,数字越大优先级越高', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_keyword`(`keyword`) USING BTREE, INDEX `idx_match_type`(`match_type`) USING BTREE, INDEX `idx_template_id`(`template_id`) USING BTREE, INDEX `idx_enabled`(`is_enabled`) USING BTREE, INDEX `idx_priority`(`priority`) USING BTREE, CONSTRAINT `wechat_keyword_reply_ibfk_1` FOREIGN KEY (`template_id`) REFERENCES `wechat_message_template` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信关键词回复配置表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wechat_menu -- ---------------------------- DROP TABLE IF EXISTS `wechat_menu`; CREATE TABLE `wechat_menu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单', `menu_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称,最多16个字符', `menu_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单类型:click/view/miniprogram/scancode_push/scancode_waitmsg/pic_sysphoto/pic_photo_or_album/pic_weixin/location_select', `menu_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单KEY值,click类型必须', `menu_url` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网页链接,view类型必须', `media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '媒体文件ID', `appid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '小程序appid,miniprogram类型必须', `pagepath` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '小程序页面路径,miniprogram类型必须', `sort_order` int(11) NULL DEFAULT 0 COMMENT '排序顺序', `is_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0-禁用,1-启用', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '菜单描述', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_parent_id`(`parent_id`) USING BTREE, INDEX `idx_sort_order`(`sort_order`) USING BTREE, INDEX `idx_menu_key`(`menu_key`) USING BTREE, INDEX `idx_enabled`(`is_enabled`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信菜单配置表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wechat_menu_publish_history -- ---------------------------- DROP TABLE IF EXISTS `wechat_menu_publish_history`; CREATE TABLE `wechat_menu_publish_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '发布历史ID', `menu_config` json NOT NULL COMMENT '菜单配置JSON', `publish_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发布状态:success/failed', `error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误信息', `publish_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间', `operator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_publish_status`(`publish_status`) USING BTREE, INDEX `idx_publish_time`(`publish_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信菜单发布历史表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wechat_message_template -- ---------------------------- DROP TABLE IF EXISTS `wechat_message_template`; CREATE TABLE `wechat_message_template` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '模板ID', `template_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板标识键', `template_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板名称', `template_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板类型:text/news/image/voice/video/music', `trigger_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发类型:subscribe/unsubscribe/scan/click/view/keyword', `trigger_value` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '触发值(如菜单key、关键词等)', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文本内容', `media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '媒体文件ID', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题(图文消息用)', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '描述(图文消息用)', `pic_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片链接', `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '跳转链接', `music_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '音乐链接', `hq_music_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '高质量音乐链接', `thumb_media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缩略图媒体ID', `is_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用:0-禁用,1-启用', `priority` int(11) NULL DEFAULT 0 COMMENT '优先级,数字越大优先级越高', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `template_key`(`template_key`) USING BTREE, INDEX `idx_template_key`(`template_key`) USING BTREE, INDEX `idx_trigger_type`(`trigger_type`) USING BTREE, INDEX `idx_trigger_value`(`trigger_value`) USING BTREE, INDEX `idx_enabled`(`is_enabled`) USING BTREE, INDEX `idx_priority`(`priority`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板配置表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wechat_news_article -- ---------------------------- DROP TABLE IF EXISTS `wechat_news_article`; CREATE TABLE `wechat_news_article` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '文章ID', `template_id` bigint(20) NOT NULL COMMENT '关联的消息模板ID', `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章标题', `author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '作者', `digest` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '摘要', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文章内容', `content_source_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原文链接', `thumb_media_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缩略图媒体ID', `show_cover_pic` tinyint(4) NULL DEFAULT 0 COMMENT '是否显示封面:0-不显示,1-显示', `url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '点击跳转链接', `thumb_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缩略图URL', `need_open_comment` tinyint(4) NULL DEFAULT 0 COMMENT '是否打开评论:0-不打开,1-打开', `only_fans_can_comment` tinyint(4) NULL DEFAULT 0 COMMENT '是否粉丝才可评论:0-所有人,1-仅粉丝', `sort_order` int(11) NULL DEFAULT 0 COMMENT '排序顺序', `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_template_id`(`template_id`) USING BTREE, INDEX `idx_sort_order`(`sort_order`) USING BTREE, CONSTRAINT `wechat_news_article_ibfk_1` FOREIGN KEY (`template_id`) REFERENCES `wechat_message_template` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信图文消息文章表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wechat_qr_code -- ---------------------------- DROP TABLE IF EXISTS `wechat_qr_code`; CREATE TABLE `wechat_qr_code` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `qr_code_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '二维码图片URL', `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '二维码描述', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_wechat_qr_create_time`(`create_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for withdraw_request -- ---------------------------- DROP TABLE IF EXISTS `withdraw_request`; CREATE TABLE `withdraw_request` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '用户ID', `amount` decimal(10, 2) NOT NULL COMMENT '提现金额', `withdraw_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '提现类型(promotion/workflow/video)', `content_id` bigint(20) NULL DEFAULT NULL COMMENT '作品ID(工作流或视频提现时)', `account_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户类型(alipay/wechat/bank)', `account` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款账户(支付宝账号/微信ID/银行卡号)', `account_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人姓名', `bank_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开户行名称(银行卡提现时必填)', `bank_branch` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支行名称(银行卡提现时可选)', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(0待审核/1通过/2拒绝)', `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', `reviewer_id` bigint(20) NULL DEFAULT NULL COMMENT '审核人ID', `transaction_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方交易流水号', `fee_amount` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '手续费金额', `actual_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '实际到账金额', `processed_at` datetime NULL DEFAULT NULL COMMENT '处理完成时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间', `reviewed_at` datetime NULL DEFAULT NULL COMMENT '审核时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_withdraw_user_id`(`user_id`) USING BTREE, INDEX `idx_withdraw_status`(`status`) USING BTREE, INDEX `idx_withdraw_create_time`(`create_time`) USING BTREE, INDEX `idx_withdraw_type`(`withdraw_type`) USING BTREE, INDEX `idx_withdraw_content_id`(`content_id`) USING BTREE, INDEX `idx_withdraw_reviewer`(`reviewer_id`) USING BTREE, INDEX `idx_withdraw_transaction_no`(`transaction_no`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for workflow -- ---------------------------- DROP TABLE IF EXISTS `workflow`; CREATE TABLE `workflow` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '工作流名称', `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '工作流的详细描述', `owner_id` bigint(20) NOT NULL COMMENT '创建者ID', `cover_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图片URL', `detail_gallery` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '详情图集(JSON格式存储多张图片URL)', `video_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联预览视频ID(阿里云VOD视频ID)', `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '存储工作流核心逻辑的JSON字符串', `data_file_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作流依赖文件地址(文件上传时的URL)', `like_count` int(11) NOT NULL DEFAULT 0 COMMENT '点赞数量', `is_public` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否公开', `full_access_role` tinyint(4) NOT NULL DEFAULT 1 COMMENT '查看完整data所需最低角色', `copy_access_role` tinyint(4) NOT NULL DEFAULT 1 COMMENT '复制所需最低角色', `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '价格', `audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1通过/2拒绝)', `category` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工作流分类', `category_id` bigint(20) NULL DEFAULT NULL COMMENT '关联类目ID', `rating` int(11) NULL DEFAULT NULL COMMENT '评分(1-5)', `reject_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '拒绝原因', `review_time` datetime NULL DEFAULT NULL COMMENT '审核时间', `is_free` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否免费(0收费/1免费)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_workflow_category_id`(`category_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 105 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for workflow_copy_stat -- ---------------------------- DROP TABLE IF EXISTS `workflow_copy_stat`; CREATE TABLE `workflow_copy_stat` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `workflow_id` bigint(20) NOT NULL COMMENT '工作流ID', `owner_id` bigint(20) NOT NULL COMMENT '工作流创建者ID', `copy_user_id` bigint(20) NOT NULL COMMENT '复制用户ID', `copy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '复制时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_workflow_owner`(`owner_id`) USING BTREE, INDEX `idx_workflow_id`(`workflow_id`) USING BTREE, INDEX `idx_copy_time`(`copy_time`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1620 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for workflow_like -- ---------------------------- DROP TABLE IF EXISTS `workflow_like`; CREATE TABLE `workflow_like` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` bigint(20) NOT NULL COMMENT '点赞用户ID', `workflow_id` bigint(20) NOT NULL COMMENT '被点赞的工作流ID', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_user_workflow`(`user_id`, `workflow_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- View structure for v_plaza_latest_works -- ---------------------------- DROP VIEW IF EXISTS `v_plaza_latest_works`; CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_plaza_latest_works` AS select `pw`.`id` AS `id`,`pw`.`work_no` AS `work_no`,`pw`.`user_id` AS `user_id`,`pw`.`task_no` AS `task_no`,`pw`.`task_type` AS `task_type`,`pw`.`model_name` AS `model_name`,`pw`.`prompt` AS `prompt`,`pw`.`result_url` AS `result_url`,`pw`.`image_url` AS `image_url`,`pw`.`aspect_ratio` AS `aspect_ratio`,`pw`.`title` AS `title`,`pw`.`description` AS `description`,`pw`.`tags` AS `tags`,`pw`.`view_count` AS `view_count`,`pw`.`like_count` AS `like_count`,`pw`.`share_count` AS `share_count`,`pw`.`comment_count` AS `comment_count`,`pw`.`is_public` AS `is_public`,`pw`.`status` AS `status`,`pw`.`audit_status` AS `audit_status`,`pw`.`audit_admin_id` AS `audit_admin_id`,`pw`.`audit_time` AS `audit_time`,`pw`.`audit_remark` AS `audit_remark`,`pw`.`create_time` AS `create_time`,`pw`.`update_time` AS `update_time`,`pw`.`is_deleted` AS `is_deleted` from `plaza_work` `pw` where ((`pw`.`status` = 'published') and (`pw`.`audit_status` = 'approved') and (`pw`.`is_deleted` = 0)) order by `pw`.`create_time` desc; -- ---------------------------- -- View structure for v_plaza_pending_works -- ---------------------------- DROP VIEW IF EXISTS `v_plaza_pending_works`; CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_plaza_pending_works` AS select `pw`.`id` AS `id`,`pw`.`work_no` AS `work_no`,`pw`.`user_id` AS `user_id`,`pw`.`task_no` AS `task_no`,`pw`.`task_type` AS `task_type`,`pw`.`model_name` AS `model_name`,`pw`.`prompt` AS `prompt`,`pw`.`result_url` AS `result_url`,`pw`.`image_url` AS `image_url`,`pw`.`aspect_ratio` AS `aspect_ratio`,`pw`.`title` AS `title`,`pw`.`description` AS `description`,`pw`.`tags` AS `tags`,`pw`.`view_count` AS `view_count`,`pw`.`like_count` AS `like_count`,`pw`.`share_count` AS `share_count`,`pw`.`comment_count` AS `comment_count`,`pw`.`is_public` AS `is_public`,`pw`.`status` AS `status`,`pw`.`audit_status` AS `audit_status`,`pw`.`audit_admin_id` AS `audit_admin_id`,`pw`.`audit_time` AS `audit_time`,`pw`.`audit_remark` AS `audit_remark`,`pw`.`create_time` AS `create_time`,`pw`.`update_time` AS `update_time`,`pw`.`is_deleted` AS `is_deleted`,`u`.`username` AS `author_name`,`u`.`phone` AS `author_phone` from (`plaza_work` `pw` left join `user` `u` on((`pw`.`user_id` = `u`.`id`))) where ((`pw`.`audit_status` = 'pending') and (`pw`.`is_deleted` = 0)) order by `pw`.`create_time`; -- ---------------------------- -- View structure for v_points_recharge_stats -- ---------------------------- DROP VIEW IF EXISTS `v_points_recharge_stats`; CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_points_recharge_stats` AS select cast(`o`.`create_time` as date) AS `recharge_date`,count(`o`.`id`) AS `order_count`,sum(`o`.`amount`) AS `total_amount`,sum(`o`.`points_amount`) AS `total_points`,avg(`o`.`amount`) AS `avg_amount` from `order` `o` where ((`o`.`order_type` = 2) and (`o`.`status` = 1) and (`o`.`is_deleted` = 0)) group by cast(`o`.`create_time` as date) order by `recharge_date` desc; SET FOREIGN_KEY_CHECKS = 1;