zhaoqingang
2024-11-22 600d2205367bf914dceaf97e6f082383aa54348c
app/service/session.py
@@ -1,5 +1,6 @@
from sqlalchemy.orm import Session
from Log import logger
from app.models import AgentType
from app.models.session_model import SessionModel
@@ -8,7 +9,7 @@
    def __init__(self, db: Session):
        self.db = db
    def create_session(self, session_id: str, name: str, agent_id: str, agent_type: AgentType) -> SessionModel:
    def create_session(self, session_id: str, name: str, agent_id: str, agent_type: AgentType, user_id: int) -> SessionModel:
        """
        创建一个新的会话记录。
@@ -21,15 +22,20 @@
        返回:
            SessionModel: 新创建的会话模型实例,如果会话ID已存在则返回None。
        """
        logger.error("-------------xieru")
        existing_session = self.get_session_by_id(session_id)
        if existing_session:
            return None  # 如果会话ID已存在,不进行任何操作
            message=existing_session.message
            message.append({"role": "user", "content": name})
            self.update_session(session_id, message=message)
        logger.error("-------------xieru------------1")
        new_session = SessionModel(
            id=session_id,
            name=name,
            name=name[0:200],
            agent_id=agent_id,
            agent_type=agent_type
            agent_type=agent_type,
            tenant_id = user_id,
            message=[{"role": "user", "content": name}]
        )
        self.db.add(new_session)
        self.db.commit()
@@ -59,12 +65,19 @@
        返回:
            SessionModel: 更新后的会话模型实例。
        """
        session = self.get_session_by_id(session_id)
        logger.error("更新数据---------------------------")
        session = self.db.query(SessionModel).filter_by(id=session_id).first()
        if session:
            for key, value in kwargs.items():
                setattr(session, key, value)
            self.db.commit()
            self.db.refresh(session)
            if "message" in kwargs:
                message = session.message
                logger.error(kwargs)
                message.append(kwargs["message"])
                session.message = message
                logger.error("更新数据--------------------------11111111-")
                logger.error(message)
                self.db.commit()
                self.db.refresh(session)
                logger.error("更新数据完成--------------------------1111111122222222-")
        return session
    def delete_session(self, session_id: str) -> None: