import json from flask import request, current_app, jsonify from flask_restx import Resource, Namespace, reqparse from sqlalchemy import select from sqlalchemy.orm import Session from app.defines import StatesCode, Module, OperationType from app.modle.strategy import MeetingRoom from app.utils.jwt_util import login_required from app.utils.save_log import save_log from app.utils.util import to_dict from config import Config ns = Namespace('strategy', description='策略管理接口') config = Config() @ns.route('') class StrategyList(Resource): method_decorators = [login_required] @ns.doc(description='获取策略配置') def get(self): """获取策略列表""" try: data = {} with Session(current_app.engine) as session: stmt = select(MeetingRoom.floor_id) for floor in session.execute(stmt).scalars().all(): stmt = select(MeetingRoom.name).where(MeetingRoom.floor_id == floor) data[floor] = session.execute(stmt).scalars().all() save_log(request, Module.STRATEGY, OperationType.INQUIRE, StatesCode.SUCCESS) return jsonify(code=StatesCode.SUCCESS, message='成功', data=data) except Exception as e: save_log(request, Module.STRATEGY, OperationType.INQUIRE, StatesCode.UNKNOWN_ERROR) return jsonify(code=StatesCode.UNKNOWN_ERROR, message=str(e))