2022-07-12 17:00:49 +08:00
|
|
|
from flask import Blueprint, request
|
|
|
|
|
|
|
|
from Modules.Questionnaire.QuestionnaireUtils import QuestionnaireUtils
|
|
|
|
from Modules.Questionnaire.Questionnairelmpl import QuestionnaireImpl
|
|
|
|
from Utils.ErrorUtil import APIReturnError
|
|
|
|
from Utils.RouteUtil import RouteParamsCheck
|
|
|
|
|
|
|
|
questionnaire_route = Blueprint('questionnaire', __name__)
|
|
|
|
|
|
|
|
|
|
|
|
@questionnaire_route.route('/new_questionnaire', methods=['POST'])
|
|
|
|
def new_questionnaire_route():
|
|
|
|
"""新建问卷"""
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(req=request.json, params=[
|
2022-07-18 19:59:11 +08:00
|
|
|
"questionnaire_name", "questionnaire_score", "section", "author", "tags"
|
2022-07-12 17:00:49 +08:00
|
|
|
]).required()
|
|
|
|
data = request.json
|
|
|
|
impl = QuestionnaireImpl()
|
|
|
|
result = impl.new_questionnaire(data=data)
|
|
|
|
return {"info": "新建问卷", "result": result}, 200
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
2022-07-19 15:35:03 +08:00
|
|
|
@questionnaire_route.route('/check_questionnaire', methods=['POST'])
|
|
|
|
def check_questionnaire_route():
|
|
|
|
"""校验问卷"""
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(req=request.json, params=["questionnaire_name", "questionnaire_score", "section"]).required()
|
|
|
|
data = request.json
|
|
|
|
impl = QuestionnaireImpl()
|
|
|
|
result = impl.check_questionnaire(data=data)
|
|
|
|
return {"info": "校验问卷", "result": result}, 200
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
2022-07-12 17:00:49 +08:00
|
|
|
@questionnaire_route.route('/search_questionnaire', methods=['POST'])
|
|
|
|
def search_questionnaire_route():
|
|
|
|
"""查询问卷"""
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(req=request.json, params=["sort", "page_no", "page_size"]).required()
|
|
|
|
data = request.json
|
|
|
|
impl = QuestionnaireImpl()
|
|
|
|
result = impl.search_questionnaire(data=data)
|
|
|
|
return {"info": "查询问卷", "result": result}, 200
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
|
|
|
@questionnaire_route.route('/operate_questionnaire', methods=['GET', 'POST'])
|
|
|
|
def operate_questionnaire_route():
|
|
|
|
"""查看/编辑问卷"""
|
|
|
|
try:
|
|
|
|
if request.method == 'GET':
|
|
|
|
RouteParamsCheck(request.args, ["qid"]).required()
|
|
|
|
qid = request.args["qid"]
|
|
|
|
impl = QuestionnaireImpl()
|
|
|
|
result = impl.view_questionnaire(qid=qid)
|
|
|
|
return {"info": "查看问卷", "result": result}, 200
|
|
|
|
if request.method == 'POST':
|
|
|
|
RouteParamsCheck(request.json, [
|
|
|
|
"questionnaire_id", "questionnaire_name", "questionnaire_score", "section", "author", "tags"
|
|
|
|
]).required()
|
|
|
|
data = request.json
|
|
|
|
impl = QuestionnaireImpl()
|
|
|
|
result = impl.edit_questionnaire(data=data)
|
|
|
|
return {"info": "编辑问卷", "result": result}, 200
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
|
|
|
@questionnaire_route.route('/delete_questionnaire', methods=['GET'])
|
|
|
|
def delete_questionnaire_route():
|
|
|
|
"""删除问卷"""
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(request.args, ["qid"]).required()
|
|
|
|
qid = request.args["qid"]
|
|
|
|
impl = QuestionnaireImpl()
|
|
|
|
result = impl.delete_questionnaire(qid=qid)
|
|
|
|
return {"info": "删除问卷", "result": result}, 200
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|