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 | 65 ++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 13 deletions(-) diff --git a/app/models/dialog_model.py b/app/models/dialog_model.py index 975e9d4..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)) # 鍚嶇О @@ -59,4 +72,30 @@ 'updated_time': self.update_time, '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