91 lines
2.7 KiB
Python
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
|