From f2c43713b16e821f4a1ae97804c60f18734d5f6a Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期五, 13 十二月 2024 17:25:12 +0800 Subject: [PATCH] 问题优化 --- app/models/token_model.py | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 deletions(-) diff --git a/app/models/token_model.py b/app/models/token_model.py index 6ab8d56..43dd2d0 100644 --- a/app/models/token_model.py +++ b/app/models/token_model.py @@ -1,8 +1,10 @@ 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.models.base_model import Base @@ -10,9 +12,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) @@ -49,3 +51,40 @@ 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() # 鍥炴粴浜嬪姟 + + + -- Gitblit v1.8.0