diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 76055cbf8..5fa55722a 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -179,6 +179,7 @@ class DialogController extends AbstractController ->join('web_socket_dialogs as d', 'u.dialog_id', '=', 'd.id') ->join('web_socket_dialog_msgs as m', 'm.dialog_id', '=', 'd.id') ->where('u.userid', $user->userid) + ->where('m.bot', 0) ->whereNull('d.deleted_at') ->whereRaw("MATCH({$prefix}m.key) AGAINST('{$against}' IN BOOLEAN MODE)") ->orderByDesc('m.id') @@ -1018,7 +1019,7 @@ class DialogController extends AbstractController * @apiParam {Number} [reply_id] 回复ID * @apiParam {String} [reply_check] 配合 reply_id 使用,判断是否需要验证回复ID的有效性 * - no: 不进行判断,直接使用提供的 reply_id(默认) - * - yes: 进行判断,如果上一条消息的 ID 为 reply_id,则认为 reply_id 无效 + * - yes: 进行判断,如果上一条消息(非机器人)的 ID 为 reply_id,则认为 reply_id 无效 * @apiParam {String} [silence] 是否静默发送 * - no: 正常发送(默认) * - yes: 静默发送 diff --git a/database/migrations/2024_12_10_194356_add_fulltext_index_to_web_socket_dialog_msgs_table.php b/database/migrations/2024_12_10_194356_add_fulltext_index_to_web_socket_dialog_msgs_table.php index fcd761907..8ce4aa20f 100644 --- a/database/migrations/2024_12_10_194356_add_fulltext_index_to_web_socket_dialog_msgs_table.php +++ b/database/migrations/2024_12_10_194356_add_fulltext_index_to_web_socket_dialog_msgs_table.php @@ -33,9 +33,10 @@ class AddFulltextIndexToWebSocketDialogMsgsTable extends Migration $databaseName = env('DB_DATABASE'); // 查询 information_schema.statistics 表 + $prefix = DB::getTablePrefix(); $indexExists = DB::table(DB::raw('information_schema.statistics')) ->where('table_schema', $databaseName) - ->where('table_name', $tableName) + ->where('table_name', $prefix . $tableName) ->where('index_type', 'FULLTEXT') ->get(); diff --git a/database/migrations/2024_12_10_225752_add_bot_to_web_socket_dialog_msgs.php b/database/migrations/2024_12_10_225752_add_bot_to_web_socket_dialog_msgs.php new file mode 100644 index 000000000..e91f259ee --- /dev/null +++ b/database/migrations/2024_12_10_225752_add_bot_to_web_socket_dialog_msgs.php @@ -0,0 +1,50 @@ +tinyInteger('bot')->default(0)->after('modify'); + $table->index('bot'); + } + }); + + // 获取表前缀 + $prefix = DB::getTablePrefix(); + + // 使用原生SQL更新数据 + /** @noinspection SqlNoDataSourceInspection */ + DB::statement(" + UPDATE {$prefix}web_socket_dialog_msgs m + INNER JOIN {$prefix}users u ON u.userid = m.userid + SET m.bot = 1 + WHERE u.bot = 1 + "); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('web_socket_dialog_msgs', function (Blueprint $table) { + if (Schema::hasColumn('web_socket_dialog_msgs', 'bot')) { + $table->dropIndex('bot'); + $table->dropColumn('bot'); + } + }); + } +}