from flask import Blueprint, request from Models.Implements.ModelImpl import ModelAboutImpl from Utils.ErrorUtil import ReturnConditionCheckFailed, APIReturnError from Utils.RouteUtil import RouteUtil from user.user_auth import verify_token, authority_scope model_route = Blueprint('model', __name__) @model_route.route('/insert_new_question', methods=['POST']) @verify_token @authority_scope(['admin', 'developer', 'analysts', 'operator']) def insert_new_question(**kwargs): """ 插入新问题数据 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: json_ = request.json RouteUtil.require_params_check(json_, ["question"]) model = ModelAboutImpl() info = model.insert_question(json_['question']) status = 200 if info == '录入成功' else 210 return {"info": info}, status except APIReturnError as e: return {"info": e.error_info}, e.status_code except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.failed_info}, e.status_code @model_route.route('/insert_new_questionnaire', methods=['POST']) @verify_token @authority_scope(['admin', 'developer', 'analysts', 'operator']) def insert_new_questionnaire(**kwargs): """ 根据问题集合插入行业新问卷数据 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: json_ = request.json RouteUtil.require_params_check(json_, ["questionnaire"]) model = ModelAboutImpl() info = model.insert_questionnaire(json_['questionnaire']) status = 200 if info == '录入成功' else 210 return {"info": info}, status except APIReturnError as e: return {"info": e.error_info}, e.status_code except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.failed_info}, e.status_code @model_route.route('/get_questionnaire', methods=['POST']) @verify_token @authority_scope(['admin', 'developer', 'analysts', 'operator']) def get_questionnaire(**kwargs): """ 根据行业和填报类型查询行业问卷 Parameters: - Returns: info: 返回信息 result: 返回数据 """ try: json_ = request.json RouteUtil.require_params_check(json_, ["industry"]) model = ModelAboutImpl() model.industry = json_['industry'] data = model.get_questionnaire() status = 200 if data else 210 return {"info": "查询成功", "data": data}, status except APIReturnError as e: return {"info": e.error_info}, e.status_code except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.failed_info}, e.status_code