45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
# app/repositories/queries/chat_queries.py
|
|
"""
|
|
HealthSync AI 채팅 관련 쿼리 모음
|
|
"""
|
|
|
|
|
|
class ChatQueries:
|
|
"""채팅 메시지 관련 쿼리"""
|
|
|
|
# 채팅 메시지 저장 및 ID 반환 (RETURNING 사용)
|
|
INSERT_CHAT_MESSAGE_WITH_RETURN = """
|
|
INSERT INTO intelligence_service.chat_message
|
|
(member_serial_number, message_type, message_content, response_content, created_at)
|
|
VALUES (:member_serial_number, :message_type, :message_content, :response_content, :created_at)
|
|
RETURNING message_id
|
|
"""
|
|
|
|
# 일반 채팅 메시지 저장
|
|
INSERT_CHAT_MESSAGE = """
|
|
INSERT INTO intelligence_service.chat_message
|
|
(member_serial_number, message_type, message_content, response_content, created_at)
|
|
VALUES (:member_serial_number, :message_type, :message_content, :response_content, :created_at)
|
|
"""
|
|
|
|
# 채팅 메시지 응답 내용 업데이트
|
|
UPDATE_CHAT_MESSAGE_RESPONSE = """
|
|
UPDATE intelligence_service.chat_message
|
|
SET response_content = :response_content,
|
|
created_at = :updated_at
|
|
WHERE message_id = :message_id
|
|
"""
|
|
|
|
# 사용자별 채팅 이력 조회 (전체, 시간 역순)
|
|
GET_CHAT_HISTORY_BY_USER = """
|
|
SELECT
|
|
cm.message_id,
|
|
cm.member_serial_number,
|
|
cm.message_type,
|
|
cm.message_content,
|
|
cm.response_content,
|
|
cm.created_at
|
|
FROM intelligence_service.chat_message cm
|
|
WHERE cm.member_serial_number = :user_id
|
|
ORDER BY cm.created_at DESC
|
|
""" |