企业ID级联删除

This commit is contained in:
王思川 2022-01-04 17:44:19 +08:00
parent 314fef6014
commit a3e52a2d5d
12 changed files with 144 additions and 77 deletions

20
TestManage/TestObj.py Normal file
View File

@ -0,0 +1,20 @@
from TestManage.scripts import delete_rid_cascade_scripts, delete_cid_cascade_scripts
class TestObj:
def __init__(self):
self.rid = None
self.uid = None
def delete_cid_cascade(self):
"""
级联删除与uid有关的所有数据
"""
delete_cid_cascade_scripts(self.uid)
def delete_rid_cascade(self):
"""
级联删除与评价ID有关的所有数据
"""
delete_rid_cascade_scripts(self.rid)

0
TestManage/__init__.py Normal file
View File

0
TestManage/db.py Normal file
View File

38
TestManage/routes.py Normal file
View File

@ -0,0 +1,38 @@
from flask import Blueprint, request
from TestManage.TestObj import TestObj
from common.scripts import api_secret
test_route = Blueprint('test', __name__)
@test_route.route('/delete_rid_cascade', methods=['POST'])
@api_secret
def delete_rid_cascade_route():
"""
级联删除与评价ID有关的所有数据
Parameters:
-
Returns:
-
"""
test_obj = TestObj()
test_obj.rid = request.json['rid']
test_obj.delete_rid_cascade()
return {"info": "删除成功"}, 200
@test_route.route('/delete_cid_cascade', methods=['POST'])
@api_secret
def delete_uid_cascade_route():
"""
级联删除与uid有关的所有数据
Parameters:
-
Returns:
-
"""
test_obj = TestObj()
test_obj.uid = request.json['cid']
test_obj.delete_cid_cascade()
return {"info": "删除成功"}, 200

47
TestManage/scripts.py Normal file
View File

@ -0,0 +1,47 @@
from common.db import delete_data, find_data
def delete_rid_cascade_scripts(rid):
"""
级联删除与评价ID有关的所有数据
1.删除评价报告
2.删除评价结果
3.删除综合评价填报
4.删除评价记录
5.删除风险数据
Parameters:
rid: 评价ID
Returns:
res: True 执行结果
"""
delete_data('tfse', '评价', '报告数据', {"评价ID": rid})
delete_data('tfse', '评价', '评价结果', {"评价ID": rid})
delete_data('tfse', '评价', '综合评价填报', {"评价ID": rid})
delete_data('tfse', '评价', '评价记录', {"评价ID": rid})
delete_data('tfse', '评价', '风险数据', {"评价ID": rid})
return True
def delete_cid_cascade_scripts(cid):
"""
级联删除uid有关的所有数据
Parameters:
cid: 企业ID
Returns:
res: True 执行结果
"""
delete_data('tfse', '用户', '用户信息', {"企业ID": cid})
delete_data('tfse', '企业', '指标明细', {"企业ID": cid})
delete_data('tfse', '企业', '综合评价分析', {"企业ID": cid})
delete_data('tfse', '企业', '公司基本信息', {"企业ID": cid})
delete_data('tfse', '企业', '财务要素分析', {"企业ID": cid})
delete_data('tfse', '企业', '财务要素分析', {"企业ID": cid})
rids = find_data('tfse', '评价', '评价记录', {"企业ID": cid})
if rids:
for rid in rids:
delete_rid_cascade_scripts(rid['评价ID'])
return True

4
app.py
View File

@ -1,14 +1,14 @@
from flask import Flask
from flask_cors import *
from rating.routes import rating_route
from TestManage.routes import test_route
app = Flask(__name__)
CORS(app, supports_credentials=True)
app.config['JSON_SORT_KEYS'] = False
app.register_blueprint(rating_route, url_prefix='/admin/rating')
app.register_blueprint(test_route, url_prefix='/admin/test')
if __name__ == '__main__':
app.run()

37
common/db.py Normal file
View File

@ -0,0 +1,37 @@
import pymongo
clients = {
"tfse": pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
}
def find_data(param1, param2, param3, param4):
"""
根据查询条件查询符合条件的所有数据
Parameters:
param1: str 服务器
param2: str 数据库
param3: str 数据集
param4: obj 查询条件
Returns:
res: list 符合条件的数据
"""
collection = clients[param1][param2][param3]
res = list(collection.find(param4, {'_id': False}))
return res
def delete_data(param1, param2, param3, param4):
"""
根据查询条件删除一条文档
Parameters:
param1: str 服务器
param2: str 数据库
param3: str 数据集
param4: obj 查询条件
Returns:
res: True 执行完成
"""
collection = clients[param1][param2][param3]
collection.delete_one(param4)
return True

View File

@ -1,17 +1,6 @@
from rating.scripts import delete_rid_cascade_scripts
class Rating:
def __init__(self):
self.rid = None
def delete_rid_cascade(self):
"""
级联删除与评价ID有关的所有数据
Parameters:
-
Returns:
-
"""
delete_rid_cascade_scripts(self.rid)

View File

@ -1,18 +0,0 @@
import pymongo
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
def delete_data(param1, param2, param3):
"""
根据查询条件删除一条文档
Parameters:
param1: str 数据库
param2: str 数据集
param3: obj 查询条件
Returns:
res: True 执行完成
"""
collection = client[param1][param2]
collection.delete_one(param3)
return True

View File

@ -1,22 +1 @@
from flask import Blueprint, request
from common.scripts import api_secret
from rating.Rating import Rating
rating_route = Blueprint('rating', __name__)
@rating_route.route('/delete_rid_cascade', methods=['POST'])
@api_secret
def delete_rid_cascade_route():
"""
级联删除与评价ID有关的所有数据
Parameters:
-
Returns:
-
"""
rating = Rating()
rating.rid = request.json['rid']
rating.delete_rid_cascade()
return {"info": "删除成功"}, 200

View File

@ -1,24 +0,0 @@
from rating.db import delete_data
def delete_rid_cascade_scripts(rid):
"""
级联删除与评价ID有关的所有数据
1.删除评价报告
2.删除评价结果
3.删除综合评价填报
4.删除评价记录
5.删除风险数据
Parameters:
rid: 评价ID
Returns:
res: True 执行结果
"""
delete_data('评价', '报告数据', {"评价ID": rid})
delete_data('评价', '评价结果', {"评价ID": rid})
delete_data('评价', '综合评价填报', {"评价ID": rid})
delete_data('评价', '评价记录', {"评价ID": rid})
delete_data('评价', '风险数据', {"评价ID": rid})
return True

View File

@ -7,4 +7,3 @@ class User:
self.name = None
self.role = None
self.menus = None