strategy.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import json
  2. from flask import request, current_app, jsonify
  3. from flask_restx import Resource, Namespace, reqparse
  4. from sqlalchemy import select
  5. from sqlalchemy.orm import Session
  6. from app.defines import StatesCode, Module, OperationType
  7. from app.modle.strategy import MeetingRoom
  8. from app.utils.jwt_util import login_required
  9. from app.utils.save_log import save_log
  10. from app.utils.util import to_dict
  11. from config import Config
  12. ns = Namespace('strategy', description='策略管理接口')
  13. config = Config()
  14. @ns.route('')
  15. class StrategyList(Resource):
  16. method_decorators = [login_required]
  17. @ns.doc(description='获取策略配置')
  18. def get(self):
  19. """获取策略列表"""
  20. try:
  21. data = {}
  22. with Session(current_app.engine) as session:
  23. stmt = select(MeetingRoom.floor_id)
  24. for floor in session.execute(stmt).scalars().all():
  25. stmt = select(MeetingRoom.name).where(MeetingRoom.floor_id == floor)
  26. data[floor] = session.execute(stmt).scalars().all()
  27. save_log(request, Module.STRATEGY, OperationType.INQUIRE, StatesCode.SUCCESS)
  28. return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
  29. except Exception as e:
  30. save_log(request, Module.STRATEGY, OperationType.INQUIRE, StatesCode.UNKNOWN_ERROR)
  31. return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))