feat: 后台管理添加查看用户对话记录功能
This commit is contained in:
@@ -641,6 +641,36 @@ def get_user_conversations(user_id):
|
||||
return jsonify(conversations)
|
||||
|
||||
|
||||
@app.route('/api/user/<int:user_id>/conversations/<int:conv_id>', methods=['GET'])
|
||||
def get_user_conversation_detail(user_id, conv_id):
|
||||
"""获取单个对话详情"""
|
||||
conn = get_db()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute('''
|
||||
SELECT id, title, agent_id, messages, created_at, updated_at
|
||||
FROM conversations WHERE id = ? AND user_id = ?
|
||||
''', (conv_id, user_id))
|
||||
|
||||
row = cursor.fetchone()
|
||||
conn.close()
|
||||
|
||||
if not row:
|
||||
return jsonify({'error': '对话不存在'}), 404
|
||||
|
||||
conv = dict(row)
|
||||
try:
|
||||
conv['messages'] = json.loads(conv['messages']) if conv['messages'] else []
|
||||
except:
|
||||
conv['messages'] = []
|
||||
|
||||
conv['id'] = str(conv['id'])
|
||||
conv['createdAt'] = int(datetime.strptime(conv['created_at'], '%Y-%m-%d %H:%M:%S').timestamp() * 1000) if conv['created_at'] else 0
|
||||
conv['updatedAt'] = int(datetime.strptime(conv['updated_at'], '%Y-%m-%d %H:%M:%S').timestamp() * 1000) if conv['updated_at'] else 0
|
||||
conv['agentId'] = conv['agent_id']
|
||||
|
||||
return jsonify(conv)
|
||||
|
||||
|
||||
@app.route('/api/user/<int:user_id>/conversations', methods=['POST'])
|
||||
def create_user_conversation(user_id):
|
||||
"""创建新对话"""
|
||||
|
||||
Reference in New Issue
Block a user