diff --git a/rating/Rating.py b/rating/Rating.py index d6b0f77..7729d96 100644 --- a/rating/Rating.py +++ b/rating/Rating.py @@ -7,6 +7,7 @@ class Rating: self.query = None self.rid = None self.industry = None + self.cid = None def search_rating(self, skip, limit): """ @@ -75,6 +76,6 @@ class Rating: Returns: result: 生成结果 """ - result = report_create_script(self.rid) + result = report_create_script(self.rid, self.cid) return result diff --git a/rating/db.py b/rating/db.py index f026671..d88d6de 100644 --- a/rating/db.py +++ b/rating/db.py @@ -90,6 +90,21 @@ def update_evaluation_records(rid, data): return info +def update_comprehensive_records(cid, data): + """ + 更新综合评价分析数据 + Parameters: + cid: 企业ID + data: 报告fid对象 + Returns: + record: 更新结果 + """ + collection = client['企业']['综合评价分析'] + res = collection.update_one({"企业ID": cid}, {"$set": data}) + info = res.raw_result['updatedExisting'] + return info + + def delete_report_pdf(fid): """ 更新评价数据 diff --git a/rating/routes.py b/rating/routes.py index db7fbe9..9207311 100644 --- a/rating/routes.py +++ b/rating/routes.py @@ -114,6 +114,7 @@ def report_edit_save_delete(): rating = Rating() rating.rid = request.json['rid'] + rating.cid = request.json['cid'] text_model = request.json['text_model'] step_01 = edit() if step_01: diff --git a/rating/scripts.py b/rating/scripts.py index eded239..d098f8c 100644 --- a/rating/scripts.py +++ b/rating/scripts.py @@ -95,11 +95,12 @@ def report_delete_script(rid): return res -def report_create_script(rid): +def report_create_script(rid, cid): """ 根据rid查询报告数据并生成PDF报告 Parameters: rid: 评价ID + cid: 企业ID Returns: result: 生成结果 """ @@ -124,5 +125,6 @@ def report_create_script(rid): result = r.json() if result['info'] == '生成报告成功': update_evaluation_records(rid, {"报告fid": result['result']['FileID']}) - result['result']['FileID'] = '/file/get_company_report?file_id={}'.format(result['result']['FileID']) + result['result']['FileID'] = '/file/get_company_report?file_id={}'.format(result['result']['FileID']) + update_comprehensive_records(cid, {"信用分析.查看报告": result['result']['FileID']}) return result diff --git a/user/user_db.py b/user/user_db.py index 93a0163..aecad04 100644 --- a/user/user_db.py +++ b/user/user_db.py @@ -81,3 +81,43 @@ def FIND_DATA(param1, param2, param3): collection = CLIENT[param1][param2] records = list(collection.find(param3, {'_id': False})) return records + + +def FIND_DATA_PAGE(param1, param2, param3, param4, param5): + """ + 根据查询条件查询符合条件的所有数据 + Args: + param1: str 数据库 + param2: str 数据集 + param3: obj 查询条件 + param4: skip 页码 + param5: limit 每页条数 + Returns: + records: list 符合条件的数据 + """ + collection = CLIENT[param1][param2] + param4 = (param4 - 1) * param5 + count = collection.find(param3).count() + records = list(collection.find(param3, {'_id': False}).skip(param4).limit(param5)) + result = { + "total": count, + "data": records + } + return result + + +def UPDATE_INFO(param1, param2, param3, param4): + """ + 更新信息 + Parameters: + param1: str 数据库 + param2: str 数据集 + param3: obj 查询条件 + param4: obj 插入数据 + Returns: + record: 编辑结果 + """ + collection = CLIENT[param1][param2] + res = collection.update_one(param3, {"$set": param4}) + info = res.raw_result['updatedExisting'] + return info diff --git a/user/user_impl.py b/user/user_impl.py index 41b3dfd..a8fcd4e 100644 --- a/user/user_impl.py +++ b/user/user_impl.py @@ -6,7 +6,7 @@ import random import requests from werkzeug.security import generate_password_hash, check_password_hash -from user.user_db import INSERT_DATA, FIND_DATA, UPSERT_DATA, DELETE_DATA +from user.user_db import INSERT_DATA, FIND_DATA, UPSERT_DATA, DELETE_DATA, FIND_DATA_PAGE, UPDATE_INFO from user.user_utils import check_mail_fmt, check_pwd_fmt, create_token, decrypt_data @@ -212,18 +212,78 @@ def send_vcode_to_user_impl(email): return start_impl() -def list_user_impl(): +def list_user_impl(criteria, skip, limit): """ - 用户信息列表 + 查询用户列表 + Parameters: + criteria str 查询条件 + Returns: + 查询成功 list 用户列表 """ - # TODO + def uid_query(): + """ + uid查询 + """ + result = FIND_DATA_PAGE("用户", "用户信息", {"UID": criteria}, skip, limit) + return result + + def email_query(): + """ + uid查询 + """ + result = FIND_DATA_PAGE("用户", "用户信息", {"email": criteria}, skip, limit) + return result + + def name_query(): + """ + name查询 + """ + result = FIND_DATA_PAGE("用户", "用户信息", {"name": criteria}, skip, limit) + return result + + def status_query(): + """ + status查询 + """ + result = FIND_DATA_PAGE("用户", "用户信息", {"status": criteria}, skip, limit) + return result + + def role_query(): + """ + role查询 + """ + result = FIND_DATA_PAGE("用户", "用户信息", {"role": criteria}, skip, limit) + return result + + def empty_query(): + """ + 空值查询 + """ + result = FIND_DATA_PAGE("用户", "用户信息", {}, skip, limit) + return result + + if criteria: + record = uid_query() + if len(record['data']) == 0: + record = email_query() + if len(record['data']) == 0: + record = name_query() + if len(record['data']) == 0: + record = status_query() + if len(record['data']) == 0: + record = role_query() + else: + record = empty_query() + + return record -def disable_user_impl(): +def disable_user_impl(uid): """ 禁用用户 """ - # TODO + result = UPDATE_INFO("用户", "用户信息", {"UID": uid}, {"status": "disable"}) + return result def delete_user_impl(): @@ -233,7 +293,7 @@ def delete_user_impl(): # TODO -def manage_role_of_user_impl(): +def manage_role_of_user_impl(uid): """ 管理用户角色 """ diff --git a/user/user_obj.py b/user/user_obj.py index 0051351..c1741c2 100644 --- a/user/user_obj.py +++ b/user/user_obj.py @@ -1,4 +1,5 @@ -from user.user_impl import create_user_impl, login_impl, send_vcode_to_user_impl +from user.user_impl import create_user_impl, login_impl, send_vcode_to_user_impl, list_user_impl, \ + manage_role_of_user_impl, disable_user_impl class User: @@ -78,6 +79,9 @@ class UserOperation(User): self.token = None self.block = None self.vcode = None + self.criteria = None + self.skip = None + self.limit = None # 登录 def login(self): @@ -85,3 +89,14 @@ class UserOperation(User): 用户登录 """ return login_impl(self.email, self.pwd, self.vcode) + + # 查询 + def query(self): + """ + 查询用户信息 + """ + return list_user_impl(self.criteria, self.skip, self.limit) + + # 停用 + def deactivate(self): + return disable_user_impl(self.uid) diff --git a/user/user_routes.py b/user/user_routes.py index 242dc8a..b4aa309 100644 --- a/user/user_routes.py +++ b/user/user_routes.py @@ -73,17 +73,25 @@ def list_user_route(**kwargs): """ 用户信息列表接口 """ - # TODO + uo = UserOperation() + uo.criteria = request.args.get('criteria') + uo.skip = int(request.args.get('skip')) + uo.limit = int(request.args.get('limit')) + result = uo.query() + return {"info": '查询成功', "result": result}, 200 -@user_route.route('/disable_user', methods=['POST']) +@user_route.route('/disable_user', methods=['GET']) @verify_token @authority_scope(['admin']) def disable_user_route(**kwargs): """ 停用用户接口 """ - # TODO + uo = UserOperation() + uo.uid = request.args.get('uid') + uo.deactivate() + return {"info": "停用成功"}, 200 @user_route.route('/delete_user', methods=['POST'])