From b4acf278db581ce5e70b513407b70db2d9b29b23 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 07 一月 2025 17:33:32 +0800
Subject: [PATCH] 报告生成
---
app/models/session_model.py | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/app/models/session_model.py b/app/models/session_model.py
index 44d0b74..83ede29 100644
--- a/app/models/session_model.py
+++ b/app/models/session_model.py
@@ -1,20 +1,25 @@
import json
from datetime import datetime
from enum import IntEnum
-from sqlalchemy import Column, String, Enum as SQLAlchemyEnum, Integer, DateTime
+from sqlalchemy import Column, String, Enum as SQLAlchemyEnum, Integer, DateTime, JSON, TEXT
from app.models import AgentType, current_time
from app.models.base_model import Base
class SessionModel(Base):
- __tablename__ = "sessions"
+ __tablename__ = "sessions_log"
id = Column(String(255), primary_key=True)
name = Column(String(255))
agent_id = Column(String(255))
agent_type = Column(SQLAlchemyEnum(AgentType), nullable=False) # 鐩墠鍙瓨basic鐨勶紝ragflow鍜宐isheng鐨勮皟鎺ュ彛鑾峰彇
create_date = Column(DateTime, default=current_time) # 鍒涘缓鏃堕棿锛岄粯璁ゅ�间负褰撳墠鏃跺尯鏃堕棿
update_date = Column(DateTime, default=current_time, onupdate=current_time) # 鏇存柊鏃堕棿锛岄粯璁ゅ�间负褰撳墠鏃跺尯鏃堕棿锛屾洿鏂版椂鑷姩鏇存柊
+ tenant_id = Column(Integer) # 鍒涘缓浜�
+ message = Column(TEXT) # 璇存槑
+ conversation_id = Column(String(64))
+ workflow = Column(Integer, default=0)
+
# to_dict 鏂规硶
def to_dict(self):
return {
@@ -22,6 +27,28 @@
'name': self.name,
'agent_type': self.agent_type,
'agent_id': self.agent_id,
- 'create_date': self.create_date,
- 'update_date': self.update_date,
+ 'workflow': self.workflow if self.workflow else 0,
+ 'create_date': self.create_date.strftime("%Y-%m-%d %H:%M:%S"),
+ 'update_date': self.update_date.strftime("%Y-%m-%d %H:%M:%S"),
}
+
+ def log_to_json(self):
+ return {
+ 'id': self.id,
+ 'name': self.name,
+ 'agent_type': self.agent_type,
+ 'agent_id': self.agent_id,
+ 'create_date': self.create_date.strftime("%Y-%m-%d %H:%M:%S"),
+ 'update_date': self.update_date.strftime("%Y-%m-%d %H:%M:%S"),
+ 'message': json.loads(self.message)
+ }
+
+ def add_message(self, message: dict):
+ if self.message is None:
+ self.message = '[]'
+ try:
+ msg = json.loads(self.message)
+ msg.append(message)
+ except Exception as e:
+ return
+ self.message = json.dumps(msg)
--
Gitblit v1.8.0