From b7ad7ae90cd832281afe6d743776ad87f1e56e07 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期五, 03 一月 2025 16:55:47 +0800 Subject: [PATCH] 工作流日志 --- app/models/token_model.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 47 insertions(+), 6 deletions(-) diff --git a/app/models/token_model.py b/app/models/token_model.py index 6ab8d56..3e865aa 100644 --- a/app/models/token_model.py +++ b/app/models/token_model.py @@ -1,8 +1,11 @@ from datetime import datetime +from typing import Type -from sqlalchemy import Column, Integer, String, DateTime, Text +from sqlalchemy import Column, Integer, DateTime, Text from sqlalchemy.orm import Session +from Log import logger +from app.config.const import RAGFLOW from app.models.base_model import Base @@ -10,9 +13,9 @@ __tablename__ = "token" id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, index=True) - token = Column(Text(10000), unique=True, index=True) - bisheng_token = Column(Text(10000), unique=True, index=True) - ragflow_token = Column(Text(10000), unique=True, index=True) + token = Column(Text(10000)) + bisheng_token = Column(Text(10000)) + ragflow_token = Column(Text(10000)) created_at = Column(DateTime, default=datetime.utcnow) @@ -20,8 +23,8 @@ # 鍙傛暟楠岃瘉 if not isinstance(user_id, int) or user_id <= 0: return - if not access_token or not bisheng_token or not ragflow_token: - return + # if not access_token or not bisheng_token or not ragflow_token: + # return db_token = None try: # 鏌ヨ鐜版湁璁板綍 @@ -49,3 +52,41 @@ except Exception as e: # 寮傚父澶勭悊 db.rollback() # 鍥炴粴浜嬪姟 + + +async def update_token(db: Session, user_id: int, access_token: str, token: dict): + # 鍙傛暟楠岃瘉 + if not isinstance(user_id, int) or user_id <= 0: + return + db_token = None + print(token) + try: + # 鏌ヨ鐜版湁璁板綍 + db_token = db.query(TokenModel).filter_by(user_id=user_id).first() + if db_token: + # 璁板綍瀛樺湪锛岃繘琛屾洿鏂� + db_token.token = access_token + for k, v in token.items(): + setattr(db_token, k.replace("app", "token"), v) + else: + # 璁板綍涓嶅瓨鍦紝杩涜鎻掑叆 + db_token = TokenModel( + user_id=user_id, + token=access_token, + ) + for k, v in token.items(): + setattr(db_token, k.replace("app", "token"), v) + db.add(db_token) + + # 鎻愪氦浜嬪姟 + db.commit() + db.refresh(db_token) + + except Exception as e: + logger.error(e) + # 寮傚父澶勭悊 + db.rollback() # 鍥炴粴浜嬪姟 + + +def get_token(db: Session, user_id: int) -> Type[TokenModel] | None: + return db.query(TokenModel).filter_by(user_id=user_id).first() -- Gitblit v1.8.0