tfse-admin-api-v0.2/Model/model_impl.py

87 lines
2.4 KiB
Python
Raw Normal View History

import random
from Model.model_db import *
def gen_new_rid():
"""
生成新的问题ID如果该ID存在则重新生成
Parameters:
-
Returns:
new_id: 生成的问题ID
"""
# 生成新ID
new_id = make_id(8)
# 检查新ID是否存在如果存在则继续生成新ID
case = find_records('问卷', '问题数据', {"ID": new_id}) is []
while case:
new_id = make_id(8)
# 新ID可使用返回新ID
return new_id
def make_id(num):
"""
随机生成字符串
"""
choices = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
salt = ''
for i in range(num):
salt += random.choice(choices)
return salt
2022-03-21 14:10:00 +08:00
def insert_question_scripts(question):
"""
插入一条新的问题数据
Parameters:
question: dict 问题数据包括类型题干详情打分标准
Returns:
result: str 插入结果
"""
insert_dict = dict()
insert_dict['ID'] = gen_new_rid()
insert_dict = dict(insert_dict, **question)
result = insert_data('问卷', '问题数据', insert_dict)
if result:
return '录入成功'
else:
return '录入失败'
2022-03-21 14:10:00 +08:00
def insert_questionnaire_scripts(questionnaire):
"""
2022-03-21 16:40:36 +08:00
更新插入问卷数据
2022-03-21 14:10:00 +08:00
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 '录入失败'
2022-03-21 16:40:36 +08:00
def get_questionnaire_scripts(types, industry):
"""
根据评价类型和行业查询相对应问卷数据
Parameters:
types: str 评价类型
industry: str 行业
Returns:
result: dict 查询结果
"""
data = find_records('问卷', '问卷数据', {"评价类型": types, "行业": industry})
if data:
return data[0]
else:
return False