update 报告修改编辑删除生成流程接口
This commit is contained in:
parent
47fd12332f
commit
055ca9bac6
|
@ -61,3 +61,18 @@ class Rating:
|
||||||
"""
|
"""
|
||||||
result = report_edit_script(self.rid, text_model)
|
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
|
||||||
|
|
63
rating/db.py
63
rating/db.py
|
@ -1,6 +1,7 @@
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import pymongo
|
import pymongo
|
||||||
|
from gridfs import GridFS
|
||||||
|
|
||||||
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
|
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
|
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):
|
def find_risk_info_records(rid):
|
||||||
"""
|
"""
|
||||||
查询风险数据信息
|
查询风险数据信息
|
||||||
|
@ -80,3 +125,21 @@ def update_report_data(rid, data):
|
||||||
res = collection.update_one({"评价ID": rid}, {"$set": data})
|
res = collection.update_one({"评价ID": rid}, {"$set": data})
|
||||||
info = res.raw_result['updatedExisting']
|
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')
|
|
@ -110,3 +110,66 @@ def report_edit():
|
||||||
return {"info": "键值错误"}, 400
|
return {"info": "键值错误"}, 400
|
||||||
except TypeError:
|
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
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
from rating.db import *
|
from rating.db import *
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,3 +66,58 @@ def report_edit_script(rid, text_model):
|
||||||
insert_data['报告内容'] = text_model
|
insert_data['报告内容'] = text_model
|
||||||
result = update_report_data(rid, insert_data)
|
result = update_report_data(rid, insert_data)
|
||||||
return result
|
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
|
||||||
|
|
Loading…
Reference in New Issue