zhaoqingang
2025-02-06 b9c7727dc6fbb3789f063c0616ef9392311fecb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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
 
from app.models.base_model import Base
 
class DialogModel(Base):
    __tablename__ = 'dialogs'
    __mapper_args__ = {
        # "order_by": 'SEQ'
    }
    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, 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)
 
    def get_id(self):
        return str(self.id)
 
    def to_json(self):
        return {
            'id': self.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,
            'agentType': self.dialog_type,
            # 'agentId': self.agent_id,
            'mode': self.mode,
        }
 
 
class ConversationModel(Base):
    __tablename__ = 'conversation'
    id = Column(String(32), primary_key=True)  #  id
    create_date = Column(DateTime)             # 创建时间
    create_time = Column(BigInteger)
    update_date = Column(DateTime)             # 更新时间
    update_time = Column(BigInteger, index=True)
    tenant_id = Column(Integer)              # 创建人
    dialog_id = Column(String(32))
    name = Column(String(255))                 # 名称
    message = Column(JSON)                 # 说明
    reference = Column(JSON)                         # 图标
 
    def get_id(self):
        return str(self.id)
 
 
    def to_json(self):
        return {
            'id': self.id,
            'updated_time': self.update_time,
            'update_date': datetime.fromtimestamp(self.update_time / 1000.0).strftime('%Y-%m-%d %H:%M:%S'),
            'name': self.name,
        }
 
 
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] = ""
 
 
class dialogList(BaseModel):
    current: Optional[int] = 1
    pageSize: Optional[int] = 10
    keyword: Optional[str] = ""
    label: Optional[list] = []
    status: Optional[str] = ""
    mode: Optional[str] = ""