service_token.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from Log import logger
  2. from app.config.config import settings
  3. from app.config.const import BISHENG, RAGFLOW
  4. from app.models import UserModel
  5. from app.models.token_model import TokenModel
  6. from app.service.auth import UserAppDao
  7. from app.service.bisheng import BishengService
  8. from app.service.ragflow import RagflowService
  9. async def get_bisheng_token(db, user_id: int):
  10. # token = db.query(TokenModel).filter(TokenModel.user_id == user_id).first()
  11. token = await UserAppDao.get_data_by_id(user_id, BISHENG)
  12. if not token:
  13. return None
  14. return token.access_token
  15. async def get_ragflow_token(db, user_id: int):
  16. token = await UserAppDao.get_data_by_id(user_id, RAGFLOW)
  17. if not token:
  18. return None
  19. return token.access_token
  20. async def get_ragflow_new_token(db, user_id: int, app_type):
  21. user = db.query(UserModel).filter(UserModel.id == user_id).first()
  22. if not user:
  23. return None
  24. if app_type == 1:
  25. ragflow_service = RagflowService(settings.fwr_base_url)
  26. # 登录到ragflow
  27. try:
  28. ragflow_token = await ragflow_service.login(user.username, user.decrypted_password())
  29. return ragflow_token
  30. except Exception as e:
  31. logger.error(e)
  32. # return Response(code=500, msg=f"Failed to login with Ragflow: {str(e)}")
  33. return None
  34. elif app_type == 2:
  35. bisheng_service = BishengService(settings.sgb_base_url)
  36. # 登录到毕昇
  37. try:
  38. bisheng_token = await bisheng_service.login(user.username, user.decrypted_password())
  39. return bisheng_token
  40. except Exception as e:
  41. logger.error(e)
  42. # return Response(code=500, msg=f"Failed to login with Ragflow: {str(e)}")
  43. return None
  44. else:
  45. logger.error("错误的应用类型{}".format(app_type))