service_token.py 1.7 KB

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