update 问题生成/问卷生成接口

This commit is contained in:
P3ngSaM 2022-03-21 14:10:00 +08:00
parent d0d4c41389
commit c16bf8741d
4 changed files with 71 additions and 6 deletions

View File

@ -33,3 +33,20 @@ def insert_data(param1, param2, param3):
collection = client[param1][param2] collection = client[param1][param2]
collection.insert_one(param3) collection.insert_one(param3)
return True return True
def update_data(param1, param2, param3, param4):
"""
更新一条数据
Parameters:
param1: str 数据库
param2: str 数据集
param3: obj 查询条件
param4: obj 更新数据
Returns:
result: bool 更新结果
"""
collection = client[param1][param2]
res = collection.update_one(param3, {"$set": param4}, upsert=True)
info = res.raw_result['ok']
return info

View File

@ -32,7 +32,7 @@ def make_id(num):
return salt return salt
def insert_questionnaire_scripts(question): def insert_question_scripts(question):
""" """
插入一条新的问题数据 插入一条新的问题数据
Parameters: Parameters:
@ -48,3 +48,24 @@ def insert_questionnaire_scripts(question):
return '录入成功' return '录入成功'
else: else:
return '录入失败' return '录入失败'
def insert_questionnaire_scripts(questionnaire):
"""
Parameters:
questionnaire: dict 问卷数据由问题数据构成
Returns:
result: str 新增结果
"""
insert_dict = dict()
insert_dict['问卷ID'] = gen_new_rid()
for num in range(len(questionnaire['问卷内容'])):
questionnaire['问卷内容'][num]['label'] = str(num+1) + '.' + questionnaire['问卷内容'][num]['label']
insert_dict = dict(insert_dict, **questionnaire)
search = {"评价类型": insert_dict['评价类型'], "行业": insert_dict['行业']}
result = update_data('问卷', '问卷数据', search, insert_dict)
if result:
return '录入成功'
else:
return '录入失败'

View File

@ -1,14 +1,22 @@
from Model.model_impl import insert_questionnaire_scripts from Model.model_impl import insert_question_scripts, insert_questionnaire_scripts
class ModelObj: class ModelObj:
def __init__(self): def __init__(self):
self.question = None self.question = None
self.questionnaire = None
def insert_questionnaire(self): def insert_question(self):
""" """
插入一条新的问题数据 插入一条新的问题数据
""" """
info = insert_questionnaire_scripts(self.question) info = insert_question_scripts(self.question)
return info
def insert_questionnaire(self):
"""
新增行业问卷数据
"""
info = insert_questionnaire_scripts(self.questionnaire)
return info return info

View File

@ -20,6 +20,25 @@ def insert_new_question(**kwargs):
""" """
model = ModelObj() model = ModelObj()
model.question = request.json['question'] model.question = request.json['question']
info = model.insert_questionnaire() info = model.insert_question()
status = 200 if info == '插入成功' else 210 status = 200 if info == '录入成功' else 210
return {"info": info}, status
@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: 返回数据
"""
model = ModelObj()
model.questionnaire = request.json['questionnaire']
info = model.insert_questionnaire()
status = 200 if info == '录入成功' else 210
return {"info": info}, status return {"info": info}, status