tfse-admin-api-v0.2/Models/ModelRoutes.py

91 lines
2.7 KiB
Python

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