update 问卷管理/修改报告重新生成地址

This commit is contained in:
P3ngSaM 2022-03-18 16:52:23 +08:00
parent b81c0be0b8
commit d0d4c41389
7 changed files with 127 additions and 1 deletions

View File

@ -125,7 +125,7 @@ def report_create_script(rid, cid):
Returns:
result: type 生成结果
"""
url = 'http://139.9.249.34:51012/tfse_rating/report/generate_pdf_report'
url = 'http://api.fecribd.com/tfse_rating/report/generate_pdf_report'
token = 'X0gSlC!YE8jmr2jJr&ilcjS83j!tsoh5'
headers = {'token': token, 'Content-Type': 'application/json;charset=UTF-8'}
res = requests.post(url, headers=headers, data=json.dumps(text_data))

0
Model/__init__.py Normal file
View File

35
Model/model_db.py Normal file
View File

@ -0,0 +1,35 @@
import pymongo
from bson import ObjectId
from gridfs import GridFS
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
def find_records(param1, param2, param3):
"""
查询数据库相关记录
Parameters:
param1: str 数据库名称
param2: str 数据集名称
param3: obj 查询条件
Returns:
result: bool 执行结果
"""
collection = client[param1][param2]
res = list(collection.find(param3, {'_id': False}))
return res
def insert_data(param1, param2, param3):
"""
插入一条数据
Parameters:
param1: str 数据库
param2: str 数据集
param3: obj 查询条件
Returns:
result: bool 执行结果
"""
collection = client[param1][param2]
collection.insert_one(param3)
return True

50
Model/model_impl.py Normal file
View File

@ -0,0 +1,50 @@
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
def insert_questionnaire_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 '录入失败'

14
Model/model_obj.py Normal file
View File

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

25
Model/model_routes.py Normal file
View File

@ -0,0 +1,25 @@
from flask import Blueprint, request
from Model.model_obj import ModelObj
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: 返回数据
"""
model = ModelObj()
model.question = request.json['question']
info = model.insert_questionnaire()
status = 200 if info == '插入成功' else 210
return {"info": info}, status

2
app.py
View File

@ -3,6 +3,7 @@ from flask_cors import *
from Board.board_routes import board_route
from Manage.industry.industry_routes import industry_route
from Model.model_routes import model_route
from TestCenter.tc_routes import test_route
from Manage.company.routes import company_route
from Manage.rating.routes import rating_route
@ -23,6 +24,7 @@ app.register_blueprint(macro_route, url_prefix='/admin/macro')
app.register_blueprint(file_route, url_prefix='/admin/file')
app.register_blueprint(board_route, url_prefix='/admin/board')
app.register_blueprint(industry_route, url_prefix='/admin/manage/industry')
app.register_blueprint(model_route, url_prefix='/admin/model/questionnaire')
@app.route('/admin/version')