tfse-admin-api-v0.2/Models/Implements/ModelImpl.py

84 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import random
from DBHelper.MongoHelper import MongoHelper
from Models.Objects.ModelObject import CreditQuestionnarie, QuestionObject, QuestionnaireObject
class ModelAboutImpl(CreditQuestionnarie):
"""模型端相关类"""
db = MongoHelper("tfse_v0.21")
@staticmethod
def make_id(num):
"""
随机生成字符串
"""
choices = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
salt = ''
for i in range(num):
salt += random.choice(choices)
return salt
def gen_new_rid(self):
"""
生成新的问题ID如果该ID存在则重新生成
Parameters:
-
Returns:
new_id: 生成的问题ID
"""
# 生成新ID
new_id = self.make_id(8)
# 检查新ID是否存在如果存在则继续生成新ID
case_01 = self.db.find_single_data('模型端', '问卷数据', {"问卷ID": new_id}, '问卷ID') is []
case_02 = self.db.find_single_data('模型端', '问题数据', {"问题ID": new_id}, '问题ID') is []
while case_01 and case_02:
new_id = self.make_id(8)
# 新ID可使用返回新ID
return new_id
def insert_question(self, data):
"""插入新的问题数据"""
question = QuestionObject()
question.qid = self.gen_new_rid()
question.types = data['类型']
question.stem = data['题干']
question.option = data['选项']
insert = question.dict_to_save()
self.db.insert_single_data(
'模型端',
'问题数据',
insert
)
return '录入成功'
def insert_questionnaire(self, data):
"""插入新的问卷数据"""
questionnaire = QuestionnaireObject()
questionnaire.qid = self.gen_new_rid()
questionnaire.industry = data['行业']
questionnaire.content = data['问卷内容']
insert = questionnaire.dict_to_save()
self.db.insert_single_data(
'模型端',
'问卷数据',
insert
)
return '录入成功'
def get_questionnaire(self):
"""获取综信评价问卷"""
industry = self.dict_to_save()
data = self.db.find_single_data(
'模型端',
'综信评价问卷',
industry,
['问卷内容']
)
return data