def process_request(self, request): path = request_api.get_path(request) if AuthMiddleware.__not_check_login(path): return # 如果用户没登录,就先重定向到登录页 if request_api.is_login(request) is False: # 如果是GET请求,则重定向 if request.method == 'GET': return redirect('/login/') else: return HttpResponse(json.dumps(dict(Result.error('请先登录!')))) # 检查用户是否拥有执行当前action的权限 action = request_api.get_action(request) if AuthMiddleware.__not_check_auth(path, action): return # 如过action为空,表示不需要检查权限 if action is None: return if is_action_allowed(request, action) is False: return HttpResponse(json.dumps(dict(Result.error('权限不足,请联系管理员添加权限!'))))
def login(self, request): param = request_api.get_param(request) account = param.get('account', '') password = param.get('password', '') user = validate_and_get_user(account, password) # 如果校验通过 if user is not None: request_api.set_user(request, user) return Result.success('登录成功!') else: return Result.error('账号不存在或密码错误!')
def del_batch_meter(self, request): param = request_api.get_param(request) app_meter_api.del_batch_meter(param.get('meter_ids')) return Result.success()
def query_meter_state(self, request): param = request_api.get_param(request) user = request_api.get_user(request) state = app_meter_api.find_meter_state_by_id(param['state_id'], user) return Result.success(data=state)
def add_meter(self, request): param = request_api.get_param(request) app_meter_api.add_meter(param) return Result.success()
def update_configure(self, request): conf_info = request_api.get_param(request) app_setting_api.update_system_setting(conf_info) return Result.success()
def update_data_field(self, request): field_info = request_api.get_param(request) app_data_field_api.update_data_field(field_info) return Result.success()
def update_recharge_state(self, request): meter_info = request_api.get_param(request) app_meter_api.update_recharge_state(meter_info, request_api.get_user(request)) return Result.success()
def edit_dtu_user(self, request): dtu_user_info = request_api.get_param(request) app_user_api.edit_dtu_user(dtu_user_info) return Result.success()
def update_dtu_region(self, request): param = request_api.get_param(request) app_region_api.update_dtu_region(param) return Result.success()
def check_email_unique(self, request): param = request_api.get_param(request) email = param.get('email') is_unique = app_user_api.check_email_unique(email) return Result.success(data=is_unique)
def query_dtu_by_user_id(self, request): param = request_api.get_param(request) dtus = app_user_api.find_dtu_by_user_id(param.get('user_id')) return Result.success(data=dtus, count=len(dtus))
def edit_role_auth(self, request): param = request_api.get_param(request) app_auth_api.edit_role_auth(param.get('role_name'), param.get('auth_ids')) return Result.success()
def query_man_region(self, request): param = request_api.get_param(request) regions = app_region_api.find_regions_by_man_id(int(param.get('id'))) return Result.success(data=regions, count=len(regions))
def edit_manufacturer(self, request): manufacturer_info = request_api.get_param(request) app_user_api.edit_manufacturer(manufacturer_info) return Result.success()
def update_control_register(self, request): register_info = request_api.get_param(request) app_register_api.update_control_register(register_info) return Result.success()
def create_admin(self, request): admin_info = request_api.get_param(request) app_user_api.create_admin(admin_info) return Result.success()
def add_dtu(self, request): param = request_api.get_param(request) app_dtu_api.add_dtu(param) return Result.success()
def del_batch_manufacturer(self, request): param = request_api.get_param(request) manufacturer_ids = param.get('manufacturer_ids') app_user_api.del_batch_manufacturer(manufacturer_ids) return Result.success()
def del_batch_dtu_user(self, request): param = request_api.get_param(request) dtu_user_ids = param.get('dtu_user_ids') app_user_api.del_batch_dtu_user(dtu_user_ids) return Result.success()
def del_batch_admin(self, request): param = request_api.get_param(request) admin_ids = param.get('admin_ids') app_user_api.del_batch_admin(admin_ids) return Result.success()
def switch_manufacturer_state(self, request): param = request_api.get_param(request) manufacturer_id = param.get('manufacturer_id') app_user_api.switch_manufacturer_state_by_id(manufacturer_id) return Result.success()
def switch_dtu_user_state(self, request): param = request_api.get_param(request) dtu_user_id = param.get('dtu_user_id') app_user_api.switch_dtu_user_state_by_id(dtu_user_id) return Result.success()
def check_phone_unique(self, request): param = request_api.get_param(request) phone = param.get('phone') is_unique = app_user_api.check_phone_unique(phone) return Result.success(data=is_unique)
def query_dtu_user(self, request): param = request_api.get_param(request) page = request_api.get_page(request) dtu_users, num = app_user_api.find_dtu_users_by_query_terms( param, page) return Result.success(data=dtu_users, count=num)
def del_batch_dtu_region(self, request): param = request_api.get_param(request) dtu_region_ids = param.get('dtu_region_ids') app_region_api.del_batch_region(dtu_region_ids) return Result.success()
def switch_admin_state(self, request): param = request_api.get_param(request) admin_id = param.get('admin_id') app_user_api.switch_admin_state_by_id(admin_id) return Result.success()
def query_dtu_region(self, request): param = request_api.get_param(request) page = request_api.get_page(request) regions, num = app_region_api.find_regions_by_query_terms(param, page) return Result.success(data=regions, count=num)
def update_dtu(self, request): param = request_api.get_param(request) param['id'] = int(param['id']) app_dtu_api.update_dtu_region(param) return Result.success()
def export_manufacturer(self, request): param = request_api.get_param(request) name = app_file_api.generate_excel_file_name() filename = os.path.join(TMP_FILE_DIRECTORY_PATH, name) app_user_api.manufacturer_export(param['man_ids'], filename) return Result.success(data=name)