From cd38e0eeddc9ed10903c9c24e0edf1243f87f413 Mon Sep 17 00:00:00 2001 From: wong <106998207@qq.com> Date: Mon, 12 Jan 2026 09:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=97=A0=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/sql_add_group_welcome_item_indexes.sql | 20 ------- Server/sql_add_group_welcome_messages.sql | 4 -- Server/sql_check_group_welcome_item.md | 58 ------------------- Server/sql_improve_group_welcome_item.sql | 49 ---------------- ..._improve_group_welcome_item_compatible.sql | 50 ---------------- 5 files changed, 181 deletions(-) delete mode 100644 Server/sql_add_group_welcome_item_indexes.sql delete mode 100644 Server/sql_add_group_welcome_messages.sql delete mode 100644 Server/sql_check_group_welcome_item.md delete mode 100644 Server/sql_improve_group_welcome_item.sql delete mode 100644 Server/sql_improve_group_welcome_item_compatible.sql diff --git a/Server/sql_add_group_welcome_item_indexes.sql b/Server/sql_add_group_welcome_item_indexes.sql deleted file mode 100644 index b3437476..00000000 --- a/Server/sql_add_group_welcome_item_indexes.sql +++ /dev/null @@ -1,20 +0,0 @@ --- 为入群欢迎语发送记录表添加索引 --- 注意:如果索引已存在会报错,请先删除已存在的索引 - --- 添加索引 -ALTER TABLE `ck_workbench_group_welcome_item` - -- 状态+工作台ID组合索引(用于查询特定工作台的发送状态) - ADD INDEX `idx_status_workbench` (`status`, `workbenchId`), - -- 工作台ID+群ID组合索引(用于查询特定群的发送记录) - ADD INDEX `idx_workbench_group` (`workbenchId`, `groupid`), - -- 微信账号ID索引(用于查询特定账号的发送记录) - ADD INDEX `idx_wechat_account` (`wechatAccountId`), - -- 设备ID索引(用于查询特定设备的发送记录) - ADD INDEX `idx_device` (`deviceId`), - -- 群聊ID索引(用于查询验证) - ADD INDEX `idx_chatroom_id` (`chatroomId`), - -- 发送时间索引(用于时间范围查询和排序) - ADD INDEX `idx_send_time` (`sendTime`), - -- 创建时间索引(用于时间范围查询和排序) - ADD INDEX `idx_create_time` (`createTime`); - diff --git a/Server/sql_add_group_welcome_messages.sql b/Server/sql_add_group_welcome_messages.sql deleted file mode 100644 index 96c2f16b..00000000 --- a/Server/sql_add_group_welcome_messages.sql +++ /dev/null @@ -1,4 +0,0 @@ --- 为入群欢迎语表添加 messages 字段 -ALTER TABLE `ck_workbench_group_welcome` -ADD COLUMN `messages` JSON NULL COMMENT '欢迎消息列表(JSON数组)' AFTER `interval`; - diff --git a/Server/sql_check_group_welcome_item.md b/Server/sql_check_group_welcome_item.md deleted file mode 100644 index e62d6a3c..00000000 --- a/Server/sql_check_group_welcome_item.md +++ /dev/null @@ -1,58 +0,0 @@ -# 入群欢迎语发送记录表检查结果 - -## ✅ 字段检查(完整) - -所有必需字段都已存在: -- ✅ `id` - 主键ID -- ✅ `workbenchId` - 工作台ID -- ✅ `deviceId` - 设备ID -- ✅ `wechatAccountId` - 微信账号ID(发送者) -- ✅ `friendId` - 好友ID列表(JSON数组) -- ✅ `groupid` - 群ID -- ✅ `chatroomId` - 群聊ID(用于查询验证) -- ✅ `status` - 发送状态 -- ✅ `messageIndex` - 消息索引 -- ✅ `messageId` - 消息ID -- ✅ `content` - 实际发送内容 -- ✅ `sendTime` - 实际发送时间 -- ✅ `errorMsg` - 错误信息 -- ✅ `retryCount` - 重试次数 -- ✅ `updateTime` - 更新时间 -- ✅ `createTime` - 创建时间 - -## ❌ 索引缺失 - -当前表结构只有 `PRIMARY KEY`,缺少以下重要索引: - -1. **`idx_status_workbench`** - 状态+工作台ID组合索引 - - 用途:查询特定工作台的发送状态统计 - - 示例:`WHERE status = 2 AND workbenchId = 123` - -2. **`idx_workbench_group`** - 工作台ID+群ID组合索引 - - 用途:查询特定群的发送记录 - - 示例:`WHERE workbenchId = 123 AND groupid = 456` - -3. **`idx_wechat_account`** - 微信账号ID索引 - - 用途:查询特定账号的发送记录 - - 示例:`WHERE wechatAccountId = 789` - -4. **`idx_device`** - 设备ID索引 - - 用途:查询特定设备的发送记录 - - 示例:`WHERE deviceId = 101` - -5. **`idx_chatroom_id`** - 群聊ID索引 - - 用途:通过群聊ID查询验证 - - 示例:`WHERE chatroomId = 'xxx'` - -6. **`idx_send_time`** - 发送时间索引 - - 用途:时间范围查询和排序 - - 示例:`WHERE sendTime BETWEEN xxx AND yyy ORDER BY sendTime` - -7. **`idx_create_time`** - 创建时间索引 - - 用途:时间范围查询和排序 - - 示例:`WHERE createTime BETWEEN xxx AND yyy ORDER BY createTime` - -## 📝 建议 - -执行 `sql_add_group_welcome_item_indexes.sql` 添加索引,以提升查询性能。 - diff --git a/Server/sql_improve_group_welcome_item.sql b/Server/sql_improve_group_welcome_item.sql deleted file mode 100644 index 538e665f..00000000 --- a/Server/sql_improve_group_welcome_item.sql +++ /dev/null @@ -1,49 +0,0 @@ --- 完善入群欢迎语发送记录表 -ALTER TABLE `ck_workbench_group_welcome_item` - -- 添加设备ID - ADD COLUMN `deviceId` int(11) NULL DEFAULT 0 COMMENT '设备ID' AFTER `workbenchId`, - -- 添加微信账号ID - ADD COLUMN `wechatAccountId` int(11) NULL DEFAULT NULL COMMENT '微信账号ID(发送者)' AFTER `deviceId`, - -- 添加群聊ID(用于查询验证) - ADD COLUMN `chatroomId` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '群聊ID(用于查询验证)' AFTER `groupid`, - -- 添加发送状态:0=待发送,1=发送中,2=发送成功,3=发送失败 - ADD COLUMN `status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '发送状态:0=待发送,1=发送中,2=发送成功,3=发送失败' AFTER `chatroomId`, - -- 添加消息索引(发送的是messages中的第几条消息,从0开始) - ADD COLUMN `messageIndex` int(11) NULL DEFAULT NULL COMMENT '消息索引(messages数组中的索引,从0开始)' AFTER `status`, - -- 添加消息ID(messages中每条消息的id) - ADD COLUMN `messageId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息ID(messages中每条消息的id)' AFTER `messageIndex`, - -- 添加实际发送内容(替换了@{好友}占位符后的内容) - ADD COLUMN `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '实际发送内容(替换占位符后)' AFTER `messageId`, - -- 添加发送时间 - ADD COLUMN `sendTime` int(11) NULL DEFAULT NULL COMMENT '实际发送时间' AFTER `content`, - -- 添加错误信息 - ADD COLUMN `errorMsg` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息(发送失败时记录)' AFTER `sendTime`, - -- 添加重试次数 - ADD COLUMN `retryCount` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数' AFTER `errorMsg`, - -- 添加更新时间 - ADD COLUMN `updateTime` int(11) NULL DEFAULT NULL COMMENT '更新时间' AFTER `retryCount`, - -- 修改 friendId 字段注释,明确是JSON数组 - MODIFY COLUMN `friendId` json NULL COMMENT '好友ID列表(JSON数组,可包含多个好友ID)', - -- 修改 groupid 字段名和注释 - MODIFY COLUMN `groupid` int(11) NULL DEFAULT NULL COMMENT '群ID(s2_wechat_group表的id)'; - --- 删除已存在的索引(如果存在,避免重复键名错误) --- 注意:如果索引不存在,这些语句会报错,但可以忽略 -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_status_workbench`; -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_workbench_group`; -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_wechat_account`; -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_device`; -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_chatroom_id`; -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_send_time`; -ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX IF EXISTS `idx_create_time`; - --- 添加索引(在单独的语句中执行) -ALTER TABLE `ck_workbench_group_welcome_item` - ADD INDEX `idx_status_workbench` (`status`, `workbenchId`), - ADD INDEX `idx_workbench_group` (`workbenchId`, `groupid`), - ADD INDEX `idx_wechat_account` (`wechatAccountId`), - ADD INDEX `idx_device` (`deviceId`), - ADD INDEX `idx_chatroom_id` (`chatroomId`), - ADD INDEX `idx_send_time` (`sendTime`), - ADD INDEX `idx_create_time` (`createTime`); - diff --git a/Server/sql_improve_group_welcome_item_compatible.sql b/Server/sql_improve_group_welcome_item_compatible.sql deleted file mode 100644 index fb7580b1..00000000 --- a/Server/sql_improve_group_welcome_item_compatible.sql +++ /dev/null @@ -1,50 +0,0 @@ --- 完善入群欢迎语发送记录表(兼容版本,适用于不支持 DROP INDEX IF EXISTS 的 MySQL 版本) --- 第一步:添加字段和修改字段注释 -ALTER TABLE `ck_workbench_group_welcome_item` - -- 添加设备ID - ADD COLUMN `deviceId` int(11) NULL DEFAULT 0 COMMENT '设备ID' AFTER `workbenchId`, - -- 添加微信账号ID - ADD COLUMN `wechatAccountId` int(11) NULL DEFAULT NULL COMMENT '微信账号ID(发送者)' AFTER `deviceId`, - -- 添加群聊ID(用于查询验证) - ADD COLUMN `chatroomId` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '群聊ID(用于查询验证)' AFTER `groupid`, - -- 添加发送状态:0=待发送,1=发送中,2=发送成功,3=发送失败 - ADD COLUMN `status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '发送状态:0=待发送,1=发送中,2=发送成功,3=发送失败' AFTER `chatroomId`, - -- 添加消息索引(发送的是messages中的第几条消息,从0开始) - ADD COLUMN `messageIndex` int(11) NULL DEFAULT NULL COMMENT '消息索引(messages数组中的索引,从0开始)' AFTER `status`, - -- 添加消息ID(messages中每条消息的id) - ADD COLUMN `messageId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息ID(messages中每条消息的id)' AFTER `messageIndex`, - -- 添加实际发送内容(替换了@{好友}占位符后的内容) - ADD COLUMN `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '实际发送内容(替换占位符后)' AFTER `messageId`, - -- 添加发送时间 - ADD COLUMN `sendTime` int(11) NULL DEFAULT NULL COMMENT '实际发送时间' AFTER `content`, - -- 添加错误信息 - ADD COLUMN `errorMsg` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息(发送失败时记录)' AFTER `sendTime`, - -- 添加重试次数 - ADD COLUMN `retryCount` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数' AFTER `errorMsg`, - -- 添加更新时间 - ADD COLUMN `updateTime` int(11) NULL DEFAULT NULL COMMENT '更新时间' AFTER `retryCount`, - -- 修改 friendId 字段注释,明确是JSON数组 - MODIFY COLUMN `friendId` json NULL COMMENT '好友ID列表(JSON数组,可包含多个好友ID)', - -- 修改 groupid 字段名和注释 - MODIFY COLUMN `groupid` int(11) NULL DEFAULT NULL COMMENT '群ID(s2_wechat_group表的id)`; - --- 第二步:删除已存在的索引(如果索引不存在会报错,可以忽略) --- 请根据实际情况执行,如果索引不存在,可以跳过对应的 DROP INDEX 语句 --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_status_workbench`; --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_workbench_group`; --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_wechat_account`; --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_device`; --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_chatroom_id`; --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_send_time`; --- ALTER TABLE `ck_workbench_group_welcome_item` DROP INDEX `idx_create_time`; - --- 第三步:添加索引 -ALTER TABLE `ck_workbench_group_welcome_item` - ADD INDEX `idx_status_workbench` (`status`, `workbenchId`), - ADD INDEX `idx_workbench_group` (`workbenchId`, `groupid`), - ADD INDEX `idx_wechat_account` (`wechatAccountId`), - ADD INDEX `idx_device` (`deviceId`), - ADD INDEX `idx_chatroom_id` (`chatroomId`), - ADD INDEX `idx_send_time` (`sendTime`), - ADD INDEX `idx_create_time` (`createTime`); -