chore: initialize qiming workspace repository

This commit is contained in:
Codex
2026-05-29 14:22:48 +08:00
commit bfd67a0f2c
10750 changed files with 1885711 additions and 0 deletions

3183
qiming-backend/sql/init.sql Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,42 @@
CREATE TABLE `im_channel_config`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`channel` varchar(64) NOT NULL COMMENT '渠道类型',
`target_type` varchar(64) NOT NULL COMMENT '渠道目标类型',
`target_id` varchar(255) NOT NULL COMMENT '渠道目标唯一标识',
`user_id` bigint(20) NOT NULL COMMENT '关联系统用户ID',
`agent_id` bigint(20) NOT NULL COMMENT '关联智能体ID',
`config_data` text NOT NULL COMMENT '渠道专有配置JSON 字符串)',
`output_mode` varchar(32) DEFAULT NULL COMMENT '输出方式',
`enabled` tinyint(1) DEFAULT '1' COMMENT '是否启用',
`name` varchar(255) DEFAULT NULL COMMENT '配置名称备注',
`_tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`space_id` bigint(20) DEFAULT NULL COMMENT '空间ID',
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`creator_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
`creator_name` varchar(64) DEFAULT NULL COMMENT '创建人',
`modified` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`modified_id` bigint(20) DEFAULT NULL COMMENT '最后修改人ID',
`modified_name` varchar(64) DEFAULT NULL COMMENT '最后修改人',
`yn` tinyint(4) NOT NULL DEFAULT '1' COMMENT '逻辑标记,1:有效;-1:无效',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_channel_target` (`channel`,`target_type`,`target_id`,`yn`),
KEY `idx_tenant_space_channel_target` (`_tenant_id`,`space_id`,`channel`,`target_type`)
) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8mb4 COMMENT='IM 渠道配置';
CREATE TABLE `im_session`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`channel` varchar(20) NOT NULL COMMENT '渠道类型',
`target_type` varchar(32) DEFAULT NULL COMMENT '渠道目标类型',
`session_key` varchar(255) NOT NULL COMMENT '会话标识单聊为用户ID群聊为群ID',
`session_name` varchar(255) DEFAULT NULL COMMENT '会话用户名:单聊用户名/昵称,群聊群名',
`chat_type` varchar(20) NOT NULL COMMENT '会话类型private-私聊、group-群聊',
`user_id` bigint(20) NOT NULL COMMENT '系统用户ID',
`agent_id` bigint(20) NOT NULL COMMENT '智能体ID',
`conversation_id` bigint(20) NOT NULL COMMENT '系统会话ID',
`_tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_channel_target_session_key_agent_id` (`channel`,`target_type`,`session_key`,`agent_id`,`_tenant_id`)
) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8mb4 COMMENT='IM会话表';

View File

@@ -0,0 +1,3 @@
ALTER TABLE `user_access_key` ADD `name` VARCHAR(255) NULL COMMENT '密钥备注名称' AFTER `user_id`;
ALTER TABLE `user_access_key` ADD `expire` DATETIME NULL COMMENT '过期时间,留空为不过期' AFTER `config`, ADD `status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态,启用 1; 停用 0' AFTER `expire`;
ALTER TABLE `schedule_task` ADD `server_info` VARCHAR(32) NULL COMMENT '执行任务的服务器信息' AFTER `error`;

View File

@@ -0,0 +1,47 @@
ALTER TABLE `model_config`
ADD `usage_scenario` VARCHAR(255) NULL COMMENT '可用的场景范围' AFTER `access_control`;
ALTER TABLE `agent_config`
ADD `allow_other_model` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否允许在对话框中选择其他模型' AFTER `hide_desktop`, ADD `allow_at_skill` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '是否允许@技能' AFTER `allow_other_model`, ADD `allow_private_sandbox` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '是否允许使用自己的电脑' AFTER `allow_at_skill`;
ALTER TABLE `user`
ADD `lang` VARCHAR(32) NULL COMMENT '用户当前语言环境' AFTER `last_login_time`;
ALTER TABLE `knowledge_config`
ADD `access_control` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否管控 0 不管控1 管控' AFTER `fulltext_segment_count`;
ALTER TABLE `sys_subject_permission`
ADD COLUMN `config` JSON COMMENT '配置';
ALTER TABLE `sys_subject_permission`
ADD COLUMN `subject_key` VARCHAR(255);
ALTER TABLE `sys_subject_permission` MODIFY COLUMN `subject_id` BIGINT COMMENT '主体ID智能体ID/页面ID';
-- i18n_lang
CREATE TABLE `i18n_lang`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
`_tenant_id` BIGINT NOT NULL,
`name` VARCHAR(64) NOT NULL COMMENT '语言名称,例如 简体中文',
`lang` VARCHAR(16) NOT NULL COMMENT '语言中文zh-cn英文:en-us 等等',
`status` TINYINT DEFAULT 1 COMMENT '语言状态0 停用1 启用',
`is_default` TINYINT DEFAULT 0 COMMENT '是否为默认语言0 否1 是',
`sort` INT DEFAULT 0 COMMENT '排序,值越小越靠前',
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_tenant` (`_tenant_id`)
);
-- i18n_config
CREATE TABLE `i18n_config`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
`_tenant_id` BIGINT NOT NULL,
`type` VARCHAR(32) NOT NULL COMMENT '类型,包括:系统 System业务数据 BizData',
`side` VARCHAR(32) NOT NULL COMMENT '',
`module` VARCHAR(32) NOT NULL COMMENT '模块标记',
`data_id` VARCHAR(64) NOT NULL DEFAULT '-1' COMMENT '类型为BizData时有效',
`lang` VARCHAR(16) NOT NULL COMMENT '语言中文zh-cn英文:en-us 等等',
`field_key` VARCHAR(512) NOT NULL COMMENT '',
`field_value` MediumText COMMENT '',
`remark` VARCHAR(255) COMMENT '备注',
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_lang_key` (`_tenant_id`, `lang`, `type`, `side`, `field_key`, `module`, `data_id`)
);

View File

@@ -0,0 +1,54 @@
-- 数据库架构差异SQL
-- 生成时间: 2026-05-08 10:33:10 UTC
-- 新增表: file_record
CREATE TABLE `file_record` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`target_type` VARCHAR(50) COMMENT '来源对象类型agent、knowledge、message等',
`target_id` BIGINT COMMENT '来源对象ID',
`file_name` VARCHAR(255) NOT NULL COMMENT '文件名称',
`file_size` BIGINT NOT NULL COMMENT '文件大小(字节)',
`file_type` VARCHAR(100) COMMENT '文件类型MIME类型',
`file_extension` VARCHAR(20) COMMENT '文件扩展名',
`metadata` TEXT COMMENT '文件元数据JSON格式存储图片宽高、视频时长等',
`file_key` VARCHAR(500) NOT NULL COMMENT '文件存储标识key',
`storage_type` VARCHAR(20) NOT NULL DEFAULT 'file' COMMENT '存储方式cos:腾讯云COS, oss:阿里云OSS, s3:S3协议, local:本地存储)',
`file_url` VARCHAR(1000) COMMENT '文件访问URL',
`auth_required` TINYINT NOT NULL DEFAULT 1 COMMENT '是否需要认证',
`status` VARCHAR(20) NOT NULL DEFAULT 'active' COMMENT '文件状态active:正常, deleted:已删除)',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_file_key` (`file_key`),
KEY `idx_created` (`created`),
KEY `idx_storage_type` (`storage_type`),
KEY `idx_target` (`target_type`, `target_id`),
KEY `idx_tenant_user` (`_tenant_id`, `user_id`)
);
-- 修改表: publish_apply
ALTER TABLE `publish_apply` ADD COLUMN `ext` JSON COMMENT '扩展字段';
-- 修改表: custom_page_config
ALTER TABLE `custom_page_config` ADD COLUMN `sandbox_id` BIGINT COMMENT '沙盒ID';
-- 修改表: model_config
ALTER TABLE `model_config` ADD COLUMN `pid` VARCHAR(64) NOT NULL DEFAULT 'custom' COMMENT '提供商ID';
ALTER TABLE `model_config` ADD COLUMN `types` JSON COMMENT '模型能力类型列表Text/Image/Audio/Video/TextEmbedding/MultiEmbedding/Reasoning';
-- 修改表: custom_page_conversation
ALTER TABLE `custom_page_conversation` ADD COLUMN `session_id` VARCHAR(64) COMMENT '会话ID';
ALTER TABLE `custom_page_conversation` ADD COLUMN `role` VARCHAR(32) COMMENT '消息发送者角色';
ALTER TABLE `custom_page_conversation` ADD COLUMN `request_id` VARCHAR(64) COMMENT '请求ID';
-- 修改表: published
ALTER TABLE `published` ADD COLUMN `ext` JSON COMMENT '扩展字段';
-- 修改表: sandbox_config
ALTER TABLE `sandbox_config` ADD COLUMN `type` VARCHAR(16) NOT NULL DEFAULT 'Agent' COMMENT '沙箱类型Agent 智能体沙箱PageApp 应用开发沙箱';
ALTER TABLE `sandbox_config` ADD COLUMN `bind_info` JSON COMMENT '关系绑定';
ALTER TABLE `sandbox_config` ADD COLUMN `isolation` VARCHAR(16) COMMENT '隔离策略,仅页面开发有效';
-- 修改表: skill_config
ALTER TABLE `skill_config` ADD COLUMN `ext` JSON COMMENT '扩展字段';

View File

@@ -0,0 +1,447 @@
-- Database schema diff SQL
-- Generated at: 2026-05-19 15:48:42 UTC
-- Added table: bill_withdraw_application
CREATE TABLE `bill_withdraw_application`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`amount` DECIMAL(10, 2) NOT NULL COMMENT '提现金额',
`fee` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '平台服务费',
`actual_amount` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '实收金额',
`status` VARCHAR(50) NOT NULL DEFAULT 'PENDING_REVIEW' COMMENT '状态PENDING_REVIEW-待审核APPROVED-已通过REJECTED-已驳回PAID-已打款',
`reject_reason` VARCHAR(500) COMMENT '驳回原因',
`payment_extra` JSON COMMENT '打款补充信息',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_status` (`status`),
KEY `idx_tenant_id` (`_tenant_id`),
KEY `idx_user_id` (`user_id`)
);
-- Added table: pay_developer_account
CREATE TABLE `pay_developer_account`
(
`id` BIGINT NOT NULL AUTO_INCREMENT,
`_tenant_id` BIGINT NOT NULL COMMENT '租户',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`email` VARCHAR(256) COMMENT '邮箱',
`phone` VARCHAR(32) COMMENT '手机号',
`real_name` VARCHAR(64) COMMENT '真实姓名',
`id_card_no` VARCHAR(32) COMMENT '身份证号',
`id_card_front_photo_url` VARCHAR(1024) COMMENT '身份证正面照片URL',
`id_card_back_photo_url` VARCHAR(1024) COMMENT '身份证反面照片URL',
`bank_name` VARCHAR(128) COMMENT '开户银行名称',
`branch_name` VARCHAR(256) COMMENT '开户支行名称',
`bank_card_no` VARCHAR(64) COMMENT '银行卡号',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_user` (`_tenant_id`, `user_id`),
KEY `idx_user` (`user_id`)
);
-- Added table: subscription_plan
CREATE TABLE `subscription_plan`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`name` VARCHAR(200) NOT NULL COMMENT '计划名称',
`description` VARCHAR(1000) COMMENT '计划描述',
`price` DECIMAL(10, 2) NOT NULL COMMENT '价格',
`first_price` DECIMAL(10, 2) COMMENT '首次订阅价格',
`period` TINYINT NOT NULL COMMENT '周期1-月3-季度12-年',
`credit_amount` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '每月赠送积分',
`call_limit_count` INT NOT NULL DEFAULT -1 COMMENT '可调用次数,-1表示不限制',
`function_only` TINYINT NOT NULL DEFAULT 0 COMMENT '是否仅为功能订阅0-否1-是',
`is_hot` TINYINT DEFAULT 0 COMMENT '是否热门',
`status` TINYINT DEFAULT 1 COMMENT '状态0-下线1-上线',
`biz_type` VARCHAR(50) NOT NULL COMMENT '业务类型SYSTEM-系统AGENT-智能体SKILL-技能',
`biz_id` VARCHAR(100) COMMENT '业务对象ID非SYSTEM时必填',
`group_ids` JSON COMMENT '关联用户组IDJSON数组',
`extra` JSON COMMENT '扩展字段JSON',
`sort` BIGINT NOT NULL DEFAULT 0 COMMENT '排序',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_plan_biz` (`biz_type`, `_tenant_id`, `biz_id`)
);
-- Added table: model_price_tier
CREATE TABLE `model_price_tier`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`model_id` BIGINT NOT NULL COMMENT '模型ID',
`context_length` INT NOT NULL COMMENT '上下文长度如32代表32k',
`input_price` DECIMAL(20, 6) NOT NULL COMMENT '输入价格',
`output_price` DECIMAL(20, 6) NOT NULL COMMENT '输出价格',
`cache_price` DECIMAL(20, 6) NOT NULL DEFAULT 0.000000 COMMENT '缓存价格',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_model_context` (`model_id`, `context_length`, `_tenant_id`)
);
-- Added table: user_credit
CREATE TABLE `user_credit`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`batch_no` VARCHAR(64) NOT NULL COMMENT '批次号',
`credit_type` TINYINT NOT NULL COMMENT '积分类型1-订阅积分2-增购积分3-活动积分4-手动发放',
`total_amount` DECIMAL(20, 2) NOT NULL COMMENT '总积分',
`used_amount` DECIMAL(20, 2) DEFAULT 0.00 COMMENT '已使用积分',
`remain_amount` DECIMAL(20, 2) NOT NULL COMMENT '剩余积分',
`expire_time` DATETIME COMMENT '过期时间NULL表示永不过期',
`repaid_amount` DECIMAL(20, 2) DEFAULT 0.00 COMMENT '已还款金额',
`repay_status` TINYINT DEFAULT 0 COMMENT '还款状态0-未还清1-已还清',
`remark` VARCHAR(500) COMMENT '备注',
`extra` JSON COMMENT '扩展信息',
`version` INT DEFAULT 1 COMMENT '乐观锁版本号',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_batch_no` (`batch_no`),
KEY `idx_expire_time` (`expire_time`),
KEY `idx_user_expire` (`user_id`, `expire_time`),
KEY `idx_user_id` (`user_id`),
KEY `idx_user_type` (`user_id`, `credit_type`)
);
-- Added table: credit_package
CREATE TABLE `credit_package`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`package_name` VARCHAR(100) NOT NULL COMMENT '套餐名称',
`credit_amount` DECIMAL(20, 2) NOT NULL COMMENT '积分数量',
`price` DECIMAL(20, 2) NOT NULL COMMENT '价格',
`sort` INT DEFAULT 0 COMMENT '排序',
`status` TINYINT DEFAULT 1 COMMENT '状态0-禁用1-启用',
`remark` VARCHAR(500) COMMENT '备注',
`period` TINYINT NOT NULL DEFAULT 1 COMMENT '有效期(月)',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
);
-- Added table: bill_resource_stat
CREATE TABLE `bill_resource_stat`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`type` VARCHAR(50) NOT NULL COMMENT '类型CONSUMPTION-消费SALES-销售',
`target_type` VARCHAR(50) NOT NULL COMMENT '目标类型Agent-智能体Model-模型Workflow-工作流Plugin-插件',
`target_id` BIGINT NOT NULL COMMENT '目标ID',
`dt` VARCHAR(8) NOT NULL COMMENT '日期yyyyMMdd',
`call_count` BIGINT NOT NULL DEFAULT 0 COMMENT '调用次数',
`call_failed_count` BIGINT NOT NULL DEFAULT 0 COMMENT '调用失败次数',
`credit_amount` DECIMAL(30, 6) NOT NULL DEFAULT 0.000000 COMMENT '积分金额',
`fee_amount` DECIMAL(30, 6) NOT NULL DEFAULT 0.000000 COMMENT '费用金额',
`cache_input_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '缓存输入Token数',
`input_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '输入Token数',
`output_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '输出Token数',
`extra` JSON COMMENT '扩展字段',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_dt` (`dt`),
KEY `idx_target` (`target_type`, `target_id`),
KEY `idx_tenant_user_dt` (`_tenant_id`, `user_id`, `dt`)
);
-- Added table: bill_order
CREATE TABLE `bill_order`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`description` VARCHAR(500) COMMENT '订单描述',
`biz_type` VARCHAR(50) NOT NULL COMMENT '业务类型CreditPurchase-积分购买Subscription-订阅',
`order_status` VARCHAR(50) NOT NULL DEFAULT 'PENDING' COMMENT '订单状态PENDING-待支付PAID-已支付CANCELLED-已取消',
`pay_status` VARCHAR(50) NOT NULL DEFAULT 'PENDING' COMMENT '支付状态PENDING-待支付PROCESSING-处理中SUCCESS-支付成功FAILED-支付失败CLOSED-已关闭',
`amount` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '订单金额',
`extra` JSON COMMENT '扩展字段',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_created` (`_tenant_id`, `created`),
KEY `idx_order_status` (`_tenant_id`, `order_status`),
KEY `idx_pay_status` (`_tenant_id`, `pay_status`),
KEY `idx_tenant_id` (`_tenant_id`, `biz_type`),
KEY `idx_user_id` (`user_id`, `biz_type`)
);
-- Added table: bill_daily_revenue
CREATE TABLE `bill_daily_revenue`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`dt` VARCHAR(8) NOT NULL COMMENT '日期yyyyMMdd',
`amount` DECIMAL(30, 6) NOT NULL DEFAULT 0.000000 COMMENT '收益金额',
`status` VARCHAR(50) NOT NULL DEFAULT 'PENDING' COMMENT '结算状态PENDING-待结算WITHDRAW_APPLYING-提现申请中PAYING-打款中SETTLED-已结算',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_dt` (`_tenant_id`, `user_id`, `dt`),
KEY `idx_status` (`status`),
KEY `idx_user_id` (`user_id`)
);
-- Added table: pricing_config
CREATE TABLE `pricing_config`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`space_id` BIGINT NOT NULL DEFAULT -1 COMMENT '工作空间ID-1为系统级',
`target_type` VARCHAR(50) NOT NULL COMMENT '定价对象类型AGENT/SKILL/KNOWLEDGE/MODEL',
`target_id` VARCHAR(100) NOT NULL COMMENT '定价对象ID',
`pricing_type` VARCHAR(50) NOT NULL COMMENT '定价类型ONE_TIME/BUYOUT/MONTHLY/SUBSCRIPTION_PLAN/TIERED',
`price` DECIMAL(10, 2) COMMENT '价格(单次、买断、包月时有效)',
`trial_count` INT NOT NULL DEFAULT 0 COMMENT '可试用次数0=不支持试用',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态0-禁用1-启用',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_target` (`target_type`, `target_id`, `_tenant_id`)
);
-- Added table: bill_withdraw_revenue_ref
CREATE TABLE `bill_withdraw_revenue_ref`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`application_id` BIGINT NOT NULL COMMENT '提现申请ID',
`revenue_id` BIGINT NOT NULL COMMENT '每日收益ID',
PRIMARY KEY (`id`),
KEY `idx_application_id` (`application_id`),
KEY `idx_revenue_id` (`revenue_id`)
);
-- Added table: bill_withdraw_config
CREATE TABLE `bill_withdraw_config`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`min_amount` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '最低提现金额',
`monthly_limit` INT NOT NULL DEFAULT 0 COMMENT '每月提现次数限制0表示不限制',
`daily_limit` INT NOT NULL DEFAULT 0 COMMENT '每日提现次数限制0表示不限制',
`limit_mode` VARCHAR(50) NOT NULL DEFAULT 'ALL' COMMENT '限制模式ALL-同时满足ANY-任一满足',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_id` (`_tenant_id`)
);
-- Added table: credit_flow
CREATE TABLE `credit_flow`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`batch_no` VARCHAR(64) COMMENT '批次号',
`credit_type` TINYINT NOT NULL COMMENT '积分类型1-订阅积分2-增购积分3-活动积分4-手动发放',
`operation_type` TINYINT NOT NULL COMMENT '操作类型1-增加2-扣减',
`amount` DECIMAL(20, 2) NOT NULL COMMENT '积分数量',
`before_amount` DECIMAL(20, 2) NOT NULL COMMENT '操作前积分',
`after_amount` DECIMAL(20, 2) NOT NULL COMMENT '操作后积分',
`biz_no` VARCHAR(64) COMMENT '业务单号',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`remark` VARCHAR(500) COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_batch_no` (`batch_no`),
KEY `idx_biz_no` (`biz_no`),
KEY `idx_created` (`created`),
KEY `idx_user_id` (`user_id`)
);
-- Added table: bill_order_item
CREATE TABLE `bill_order_item`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`order_id` BIGINT NOT NULL COMMENT '订单ID',
`target_type` VARCHAR(50) NOT NULL COMMENT '目标类型Plan-订阅计划CreditPackage-积分套餐',
`target_name` VARCHAR(200) COMMENT '目标名称',
`target_id` BIGINT NOT NULL COMMENT '目标ID',
`price` DECIMAL(10, 2) NOT NULL DEFAULT 0.00 COMMENT '单价',
`count` INT NOT NULL DEFAULT 1 COMMENT '数量',
`snapshot` JSON COMMENT '快照',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`)
);
-- Added table: trial_record
CREATE TABLE `trial_record`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`target_type` VARCHAR(50) NOT NULL COMMENT '业务类型',
`target_id` VARCHAR(100) NOT NULL COMMENT '业务对象ID',
`used_count` INT NOT NULL DEFAULT 0 COMMENT '已使用次数',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_target` (`user_id`, `target_type`, `target_id`, `_tenant_id`)
);
-- Added table: user_subscription
CREATE TABLE `user_subscription`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`plan_id` BIGINT NOT NULL COMMENT '计划ID',
`biz_type` VARCHAR(32) NOT NULL COMMENT '业务类型',
`biz_id` VARCHAR(32) NOT NULL DEFAULT '-1' COMMENT '业务ID',
`period` TINYINT NOT NULL COMMENT '订阅周期类型',
`start_time` DATETIME NOT NULL COMMENT '开始时间',
`end_time` DATETIME NOT NULL COMMENT '结束时间',
`status` TINYINT DEFAULT 0 COMMENT '状态0-生效中1-已过期2-已取消',
`call_used_count` INT NOT NULL DEFAULT 0 COMMENT '已使用调用次数',
`next_reset_time` DATETIME COMMENT '下次重置时间',
`extra` JSON COMMENT '扩展数据',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_plan` (`user_id`, `plan_id`),
KEY `idx_biz_type` (`biz_type`),
KEY `idx_end_time` (`end_time`),
KEY `idx_next_reset_time` (`next_reset_time`),
KEY `idx_plan_id` (`plan_id`),
KEY `idx_user_biz` (`user_id`, `biz_type`, `biz_id`)
);
-- Added table: model_provider
CREATE TABLE `model_provider`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`pid` VARCHAR(64) NOT NULL COMMENT '提供商ID',
`name` VARCHAR(200) NOT NULL COMMENT '提供商名称',
`icon` VARCHAR(500) COMMENT '图标',
`api_info` JSON COMMENT 'API信息',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_tenant_id` (`_tenant_id`)
);
-- Added table: pay_order
CREATE TABLE `pay_order`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`biz_order_no` VARCHAR(128) NOT NULL COMMENT '业务订单号',
`biz_scene` VARCHAR(64) COMMENT '业务场景',
`order_amount` BIGINT NOT NULL COMMENT '订单金额(分)',
`subject` VARCHAR(512) COMMENT '摘要',
`ext` JSON COMMENT '扩展',
`pay_mode` VARCHAR(32) NOT NULL COMMENT '支付模式scan',
`pay_channel` VARCHAR(32) COMMENT '支付渠道WxPay / AliPay / UnionPay',
`platform_fee` BIGINT COMMENT '平台费(分)',
`provider_fee` BIGINT COMMENT '通道费(分)',
`net_amount` BIGINT COMMENT '净额(分)',
`gateway_payment_order_no` VARCHAR(128) COMMENT '网关支付单号',
`gateway_sync_status` VARCHAR(32) NOT NULL COMMENT '网关同步PENDING / SUCCESS / FAILED',
`gateway_last_error` VARCHAR(2000) COMMENT '网关最近一次错误信息',
`gateway_order_status` VARCHAR(64) COMMENT '网关订单状态',
`biz_notify_status` VARCHAR(32) COMMENT '业务通知POLLING / NOTIFIED / TIMEOUT',
`paid_at` DATETIME COMMENT '支付成功时间',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `idx_tenant_biz_id` (`_tenant_id`, `biz_order_no`, `id`),
KEY `idx_tenant_gateway` (`_tenant_id`, `gateway_payment_order_no`)
);
-- Added table: bill_revenue_detail
CREATE TABLE `bill_revenue_detail`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`_tenant_id` BIGINT NOT NULL COMMENT '租户ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`dt` VARCHAR(8) NOT NULL COMMENT '日期yyyyMMdd',
`amount` DECIMAL(30, 6) NOT NULL DEFAULT 0.000000 COMMENT '金额',
`type` VARCHAR(50) NOT NULL COMMENT '类型Plan-计划购买ModelCall-模型调用ToolCall-工具调用',
`type_id` BIGINT COMMENT '类型关联IDPlan时为订阅计划ID',
`order_id` BIGINT COMMENT '关联订单ID',
`target_type` VARCHAR(50) COMMENT '目标类型Agent/Skill/Model/Plugin/Mcp/Workflow',
`target_id` BIGINT COMMENT '目标ID',
`remark` VARCHAR(500) COMMENT '备注',
`extra` JSON COMMENT '扩展字段如模型token使用等',
`biz_no` VARCHAR(100) COMMENT '业务单号幂等性保证相同bizNo不会重复记录',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_biz_no` (`biz_no`),
KEY `idx_dt` (`dt`),
KEY `idx_order_id` (`order_id`),
KEY `idx_target` (`target_type`, `target_id`),
KEY `idx_type` (`type`),
KEY `idx_user_id` (`user_id`)
);
-- Modified table: publish_apply
ALTER TABLE `publish_apply`
ADD KEY `idx_target` (`_tenant_id`, `target_type`, `target_id`);
-- ⚠️ Warning: index `_tenant_id` does not exist in the new version; no drop statement was generated for data safety
-- To delete it, run manually: ALTER TABLE `publish_apply` DROP KEY `_tenant_id`;
-- Database schema diff SQL
-- Generated at: 2026-05-22 11:03:41 UTC
-- Added table: document_parse_status_record
CREATE TABLE `document_parse_status_record`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`create_time` DATETIME COMMENT '创建时间',
`execute_state` VARCHAR(20) COMMENT '执行状态1:执行成功、2执行失败、0进行中',
`success_count` BIGINT COMMENT '成功条数',
`error_count` BIGINT COMMENT '失败条数',
`start_time` DATETIME COMMENT '执行开始时间',
`end_time` DATETIME COMMENT '执行结束时间',
`execute_content` VARCHAR(800) COMMENT '存放完成了哪些知识库同步,需要包含同步成功或失败的状态',
`execute_error_logs` VARCHAR(800) COMMENT '执行的异常日志',
`_tenant_id` BIGINT,
PRIMARY KEY (`id`)
);
-- Added table: document_parse_status
CREATE TABLE `document_parse_status`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`document_id` BIGINT NOT NULL COMMENT '文档ID逻辑外键关联knowledge_document.id',
`kb_id` BIGINT NOT NULL COMMENT '知识库ID',
`triple_status` TINYINT NOT NULL DEFAULT 0 COMMENT '三元组解析状态0-未开始1-进行中2-成功3-禁用10-失败',
`_tenant_id` BIGINT COMMENT '租户ID',
`created` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modified` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`task_id` BIGINT COMMENT '任务编号',
PRIMARY KEY (`id`),
KEY `idx_document_id` (`document_id`),
KEY `idx_kb_id` (`kb_id`)
);
-- Modified table: user
ALTER TABLE `user` MODIFY COLUMN `status` VARCHAR (16) NOT NULL DEFAULT 'Enabled' COMMENT '状态,启用或禁用';
-- Modified table: pay_order
ALTER TABLE `pay_order`
ADD KEY `idx_tenant_created_id` (`_tenant_id`, `created`, `id`);
ALTER TABLE `pay_order`
ADD KEY `idx_sync_fail_scan` (`gateway_sync_status`, `biz_notify_status`, `modified`, `id`);
ALTER TABLE `pay_order`
ADD KEY `idx_reconcile_scan` (`gateway_sync_status`, `gateway_order_status`, `modified`, `id`);
ALTER TABLE `pay_order`
ADD UNIQUE KEY `uk_tenant_biz_order` (`_tenant_id`, `biz_order_no`);