From 282a631b9ceee9a634ee1d93751a5254ed37ccef Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 18 三月 2025 10:10:48 +0800
Subject: [PATCH] 首页知识库对话-rg

---
 app/models/dialog_model.py |   67 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/app/models/dialog_model.py b/app/models/dialog_model.py
index a9e1cc8..a9aaf89 100644
--- a/app/models/dialog_model.py
+++ b/app/models/dialog_model.py
@@ -1,5 +1,8 @@
+import json
 from datetime import datetime
+from typing import Optional
 
+from pydantic import BaseModel
 from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey, DateTime, Text, JSON
 from sqlalchemy.orm import relationship, backref
 
@@ -10,15 +13,19 @@
     __mapper_args__ = {
         # "order_by": 'SEQ'
     }
-    id = Column(String(32), primary_key=True)  #  id
-    create_date = Column(DateTime)             # 鍒涘缓鏃堕棿
-    update_date = Column(DateTime)             # 鏇存柊鏃堕棿
-    tenant_id = Column(String(32))              # 鍒涘缓浜�
+    id = Column(String(36), primary_key=True)  #  id
+    create_date = Column(DateTime, default=datetime.now())             # 鍒涘缓鏃堕棿
+    update_date = Column(DateTime, default=datetime.now(), onupdate=datetime.now())             # 鏇存柊鏃堕棿
+    tenant_id = Column(String(36))              # 鍒涘缓浜�
     name = Column(String(255))                 # 鍚嶇О
     description = Column(Text)                 # 璇存槑
-    icon = Column(Text)                         # 鍥炬爣
-    status = Column(String(1))                 # 鐘舵��
-    # dialog_type = Column(String(1))            #    # 骞冲彴
+    icon = Column(Text, default="intelligentFrame1")                         # 鍥炬爣
+    status = Column(String(1), default="0")                 # 鐘舵��
+    dialog_type = Column(String(1))            #  骞冲彴
+    # agent_id = Column(String(36))
+    mode = Column(String(36))
+    parameters = Column(Text)
+    kb_ids = Column(String(128))
 
     def get_id(self):
         return str(self.id)
@@ -26,14 +33,20 @@
     def to_json(self):
         return {
             'id': self.id,
-            'create_date': self.create_date,
-            'update_date': self.update_date,
-            'tenant_id': self.tenant_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'),
+            'user_id': self.tenant_id,
             'name': self.name,
             'description': self.description,
             'icon': self.icon,
-            'status': self.status
+            'status': self.status,
+            'agentType': self.dialog_type,
+            # 'agentId': self.agent_id,
+            'mode': self.mode,
         }
+
+    def get_kb_ids(self):
+        return json.loads(self.kb_ids) if self.kb_ids else []
 
 
 class ConversationModel(Base):
@@ -42,7 +55,7 @@
     create_date = Column(DateTime)             # 鍒涘缓鏃堕棿
     create_time = Column(BigInteger)
     update_date = Column(DateTime)             # 鏇存柊鏃堕棿
-    update_time = Column(BigInteger)
+    update_time = Column(BigInteger, index=True)
     tenant_id = Column(Integer)              # 鍒涘缓浜�
     dialog_id = Column(String(32))
     name = Column(String(255))                 # 鍚嶇О
@@ -57,6 +70,32 @@
         return {
             'id': self.id,
             'updated_time': self.update_time,
-            'update_date': self.update_time.strftime('%Y-%m-%d %H:%M:%S'),
+            'update_date': datetime.fromtimestamp(self.update_time / 1000.0).strftime('%Y-%m-%d %H:%M:%S'),
             'name': self.name,
-        }
\ No newline at end of file
+        }
+
+
+class dialogData(BaseModel):
+    id: str
+    name: str
+    description: Optional[str] = ""
+    dialogType: str
+    icon: str
+    mode: str
+
+
+class dialogDataUpdate(BaseModel):
+    id: str
+    status: Optional[str] = "1"
+    icon: Optional[str] = ""
+    name: Optional[str] = ""
+    description: Optional[str] = None
+
+
+class dialogList(BaseModel):
+    current: Optional[int] = 1
+    pageSize: Optional[int] = 10
+    keyword: Optional[str] = ""
+    label: Optional[list] = []
+    status: Optional[str] = ""
+    mode: Optional[str] = ""
\ No newline at end of file

--
Gitblit v1.8.0