ваше сообщение коммита
This commit is contained in:
@@ -8,7 +8,7 @@ CREATE TABLE IF NOT EXISTS messages (
|
||||
metadata JSONB,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
role VARCHAR(20) NOT NULL DEFAULT 'user',
|
||||
guest_message_id INTEGER,
|
||||
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
|
||||
tokens_used INTEGER DEFAULT 0,
|
||||
is_processed BOOLEAN DEFAULT FALSE
|
||||
);
|
||||
@@ -17,4 +17,5 @@ CREATE INDEX IF NOT EXISTS idx_messages_conversation_id ON messages(conversation
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_sender_type ON messages(sender_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_created_at ON messages(created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_channel ON messages(channel);
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_metadata ON messages USING gin(metadata);
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_metadata ON messages USING gin(metadata);
|
||||
CREATE INDEX IF NOT EXISTS idx_messages_user_id ON messages(user_id);
|
||||
@@ -53,7 +53,7 @@ BEGIN
|
||||
content,
|
||||
role,
|
||||
channel,
|
||||
guest_message_id,
|
||||
user_id,
|
||||
created_at
|
||||
)
|
||||
SELECT
|
||||
@@ -63,14 +63,16 @@ BEGIN
|
||||
content,
|
||||
CASE WHEN is_ai THEN 'assistant' ELSE 'user' END,
|
||||
'chat',
|
||||
id, -- Сохраняем связь с гостевым сообщением
|
||||
p_user_id,
|
||||
created_at
|
||||
FROM guest_messages
|
||||
WHERE guest_id = p_guest_id
|
||||
-- Проверка, чтобы избежать дублирования сообщений
|
||||
-- Проверка, чтобы избежать дублирования сообщений на основе содержимого и времени
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM messages m
|
||||
WHERE m.guest_message_id = guest_messages.id
|
||||
WHERE m.conversation_id = v_conversation_id
|
||||
AND m.content = guest_messages.content
|
||||
AND m.created_at = guest_messages.created_at
|
||||
)
|
||||
ORDER BY created_at
|
||||
RETURNING id
|
||||
|
||||
Reference in New Issue
Block a user