Merge branch 'EB' into 'master'

update 报告修改编辑删除生成流程接口

See merge request root/tfse_admin!5
This commit is contained in:
王思川 2022-01-12 09:20:24 +00:00
commit 5b65c0c571
4 changed files with 203 additions and 3 deletions

View File

@ -60,4 +60,19 @@ class Rating:
result: 编辑结果
"""
result = report_edit_script(self.rid, text_model)
return result
return result
def report_delete(self):
result = report_delete_script(self.rid)
return result
def report_create(self):
"""
报告生成
Parameters:
-
Returns:
result: 生成结果
"""
result = report_create_script(self.rid)
return result

View File

@ -1,6 +1,7 @@
import re
import pymongo
from gridfs import GridFS
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
@ -53,6 +54,50 @@ def find_fill_details_records(rid):
return record
def find_evaluation_records(rid):
"""
查询评价记录
Parameters:
rid: 评价ID
Returns:
record: 查询结果
"""
collection = client['评价']['评价记录']
data = collection.find({"评价ID": rid}, {'_id': False})
record = list(data)
return record
def update_evaluation_records(rid, data):
"""
更新评价数据
Parameters:
rid: 评价ID
data: 报告fid对象
Returns:
record: 更新结果
"""
collection = client['评价']['评价记录']
res = collection.update_one({"评价ID": rid}, {"$set": data})
info = res.raw_result['updatedExisting']
return info
def delete_report_pdf(fid):
"""
更新评价数据
Parameters:
fid: 评价ID
Returns:
record: 删除结果
"""
database = '评价'
collection = '综合信用报告'
fs = GridFS(client[database], collection)
fs.delete(file_id=fid)
return True
def find_risk_info_records(rid):
"""
查询风险数据信息
@ -79,4 +124,22 @@ def update_report_data(rid, data):
collection = client['评价']['报告数据']
res = collection.update_one({"评价ID": rid}, {"$set": data})
info = res.raw_result['updatedExisting']
return info
return info
def find_report_data(rid):
"""
查询报告数据
Parameters:
rid: 评价ID
Returns:
record: 报告数据
"""
collection = client['评价']['报告数据']
data = collection.find({"评价ID": rid}, {'_id': False})
record = list(data)
return record
if __name__ == '__main__':
delete_report_pdf('61de994660a518e91fbd0192')

View File

@ -109,4 +109,67 @@ def report_edit():
except KeyError:
return {"info": "键值错误"}, 400
except TypeError:
return {"info": "参数错误"}, 400
return {"info": "参数错误"}, 400
@rating_route.route('/report_create', methods=['POST'])
@api_secret
def report_create():
"""
生成报告
Parameters:
-
Returns:
info: 生成结果
"""
try:
rating = Rating()
rating.rid = request.json['rid']
result = rating.report_create()
return result.json()
except KeyError:
return {"info": "键值错误"}, 400
except TypeError:
return {"info": "参数错误"}, 400
@rating_route.route('/report_edit_save_delete', methods=['POST'])
@api_secret
def report_edit_save_delete():
"""
报告编辑保存删除操作
Parameters:
-
Returns:
info: 生成结果
"""
try:
def edit():
info = rating.report_edit(text_model)
return info
def delete():
info = rating.report_delete()
return info
def create():
info = rating.report_create()
return info.json()
rating = Rating()
rating.rid = request.json['rid']
text_model = request.json['text_model']
step_01 = edit()
if step_01:
step_02 = delete()
if step_02:
step_03 = create()
return step_03
else:
return {"info": "删除失败"}
else:
return {"info": "编辑失败"}
except KeyError:
return {"info": "键值错误"}, 400
except TypeError:
return {"info": "参数错误"}, 400

View File

@ -1,3 +1,7 @@
import json
import requests
from rating.db import *
@ -62,3 +66,58 @@ def report_edit_script(rid, text_model):
insert_data['报告内容'] = text_model
result = update_report_data(rid, insert_data)
return result
def report_delete_script(rid):
"""
根据rid删除报告相关数据数据
Parameters:
rid: 评价ID
Returns:
result: 删除结果
"""
data = find_evaluation_records(rid)
# 判断是否存在这条评价记录
if len(data) == 0:
return False
else:
eval_data = data[0]
if eval_data['报告fid']:
fid = eval_data['报告fid']
res = delete_report_pdf(fid)
if res:
r = update_evaluation_records(rid, {"报告fid": None})
return r
else:
return res
def report_create_script(rid):
"""
根据rid查询报告数据并生成PDF报告
Parameters:
rid: 评价ID
Returns:
result: 生成结果
"""
text_model = dict()
text_model['text_model'] = find_report_data(rid)[0]
def generate_report(text_data):
"""
调用报告生成接口
Parameters:
text_data: 报告数据
Returns:
result: type 生成结果
"""
url = 'http://139.9.249.34:51012/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))
return res
result = generate_report(text_model)
if result['info'] == '生成报告成功':
update_evaluation_records(rid, {"报告fid": result['result']['FileID']})
return result