zhaoqingang
2025-04-11 afc68af3a67b2f936429feb3a68c1f09e03ce930
app/service/service_token.py
@@ -1,34 +1,39 @@
from Log import logger
from app.config.config import settings
from app.config.const import BISHENG, RAGFLOW, DIFY
from app.models import UserModel, UserAppModel
from app.models.base_model import SessionLocal
from app.config.const import BISHENG, RAGFLOW, DIFY, chat_server
from app.models import UserModel, UserAppModel, UserTokenModel
from app.models.token_model import TokenModel
from app.service.auth import UserAppDao
from app.service.bisheng import BishengService
from app.service.difyService import DifyService
from app.service.ragflow import RagflowService
from app.task.fetch_agent import update_ragflow_user_tenant
async def get_bisheng_token(db, user_id: int):
    token = await UserAppDao(db).get_data_by_id(user_id, BISHENG)
    token = db.query(TokenModel).filter(TokenModel.user_id == user_id).first()
    if not token:
        token = db.query(TokenModel).filter(TokenModel.user_id == user_id).first()
        token = await UserAppDao(db).get_data_by_id(user_id, BISHENG)
        if not token:
            return None
    else:
        return token.access_token
    return token.bisheng_token
    else:
        return token.bisheng_token
async def get_ragflow_token(db, user_id: int):
    token = await UserAppDao(db).get_data_by_id(user_id, RAGFLOW)
    # token = await UserAppDao(db).get_data_by_id(user_id, RAGFLOW)
    token = db.query(TokenModel).filter(TokenModel.user_id == user_id).first()
    token = db.query(UserTokenModel).filter(UserTokenModel.id == chat_server).first()
    if not token:
        token = db.query(TokenModel).filter(TokenModel.user_id == user_id).first()
        token = await UserAppDao(db).get_data_by_id(user_id, RAGFLOW)
        if not token:
            return None
        return token.access_token
    else:
        return token.access_token
    return token.ragflow_token
async def get_dify_token(db, user_id: int):
@@ -42,11 +47,12 @@
    user = db.query(UserAppModel).filter(UserAppModel.user_id == user_id, UserAppModel.app_type==app_type).first()
    if not user:
        return None
    pwd = user.password
    if app_type == RAGFLOW:
        ragflow_service = RagflowService(settings.fwr_base_url)
        # 登录到ragflow
        try:
            ragflow_token = await ragflow_service.login(user.username, user.decrypted_password())
            ragflow_token = await ragflow_service.login(user.username, user.decrypted_password(pwd))
            return ragflow_token
        except Exception as e:
            logger.error(e)
@@ -56,7 +62,7 @@
        bisheng_service = BishengService(settings.sgb_base_url)
        # 登录到毕昇
        try:
            bisheng_token = await bisheng_service.login(user.username, user.decrypted_password())
            bisheng_token = await bisheng_service.login(user.username, user.decrypted_password(pwd))
            return bisheng_token
        except Exception as e:
            logger.error(e)
@@ -67,7 +73,7 @@
        dify_service = DifyService(settings.dify_base_url)
        # 登录到毕昇
        try:
            dify_token = await dify_service.login(user.username, user.decrypted_password())
            dify_token = await dify_service.login(user.username, user.decrypted_password(pwd))
            return dify_token
        except Exception as e:
            logger.error(e)
@@ -86,15 +92,19 @@
    return res
async def update_user_group(db, user_id):
async def update_user_group(db, sync_flag):
    admin_user = db.query(UserModel).filter(UserModel.permission == "admin").first()
    sync_user = db.query(UserModel).filter(UserModel.sync_flag == sync_flag).first()
    if not admin_user or not sync_user:
        logger.error("注册用户失败!--------")
        return False
    token = await get_new_token(db, admin_user.id, RAGFLOW)
    # print(token)
    if not token:
        logger.error("注册用户获取token失败!")
        return False
    user_list = db.query(UserAppModel).filter(UserAppModel.app_type==RAGFLOW).all()
    user = db.query(UserAppModel).filter(UserAppModel.user_id==user_id, UserAppModel.app_type == RAGFLOW).first()
    user = db.query(UserAppModel).filter(UserAppModel.user_id==sync_user.id, UserAppModel.app_type == RAGFLOW).first()
    if not user:
        logger.error("注册用户获取信息失败!")
        return False
@@ -107,4 +117,5 @@
                                                      user.app_id)
            await ragflow_service.add_user_tenant(token, user.app_id,
                                                  u.email,
                                                  u.app_id)
                                                  u.app_id)
    update_ragflow_user_tenant(user.app_id)