def admin_statistic_view(request): """ 管理员统计数据 :param request: :return: """ now_time = datetime.datetime.now() user = request_api.get_user(request) if user['role'] == RoleType.ADMIN: user['role_label'] = '管理员' elif user['role'] == RoleType.DTU_USER: user['role_label'] = 'DTU用户' else: user['role_label'] = '供气商' context = { 'user': request_api.get_user(request), 'now_time': now_time.strftime(DATETIME_FORMAT_STR), 'admin_total_num': app_statistic_api.get_total_admin_num(), 'man_total_num': app_statistic_api.get_total_manufacturer_num(), 'dtu_user_num': app_statistic_api.get_total_dtu_user_num(), 'system_log_num': app_statistic_api.get_total_system_log_num(), 'alarm_log_num': app_statistic_api.get_total_alarm_log_num(), 'opr_log_num': app_statistic_api.get_total_opr_log_num(), } return render(request, 'statistic/admin_statistic.html', context)
def dtu_user_statistic_view(request): """ DTU用户统计数据 :param request: :return: """ now_time = datetime.datetime.now() user = request_api.get_user(request) if user['role'] == RoleType.ADMIN: user['role_label'] = '管理员' elif user['role'] == RoleType.DTU_USER: user['role_label'] = 'DTU用户' else: user['role_label'] = '供气商' context = { 'user': request_api.get_user(request), 'now_time': now_time.strftime(DATETIME_FORMAT_STR), 'valve_alarm_num': app_statistic_api.get_valve_alarm_num_by_dtu_user_id(user['id']), 'exceed_alarm_num': app_statistic_api.get_exceed_alarm_num_by_dtu_user_id(user['id']), 'sub_valve_alarm_num': app_statistic_api.get_sub_valve_alarm_num_by_man_id(user['id']), 'meter_num': app_statistic_api.get_meter_num_by_dtu_user_id(user['id']), 'sensor_alarm_num': app_statistic_api.get_sensor_alarm_num_by_dtu_user_id(user['id']), } return render(request, 'statistic/dtu_user_statistic.html', context)
def get_user_auths(request): user = request_api.get_user(request) # 角色权限过期,就重新加载权限 if __check_role_version_expire(user): user_obj = conf_user_api.get_user_by_id(user['id']) request_api.set_user(request, user_obj) user = request_api.get_user(request) return user.get('actions', [])
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 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 meter_view(request): port = conf_configure_api.get_configure_by_name( conf_configure_api.get_websocket_port_name()) return render(request, 'meter/meter-list.html', { 'user': request_api.get_user(request), 'websocket_port': int(port) })
def query_meter(self, request): param = request_api.get_param(request) page = request_api.get_page(request) meters, num = app_meter_api.find_meter_by_query_terms( param, request_api.get_user(request), page) return Result.success(data=meters, count=num)
def index_view(request): """ 主页视图 :param request: :return: """ user = request_api.get_user(request) nav_bars = auth_api.structure_nav_bars_by_role(user['role']) port = conf_configure_api.get_configure_by_name(conf_configure_api.get_websocket_port_name()) context = {'nav_bars': nav_bars, 'user': user, 'websocket_port': int(port)} return render(request, 'index.html', context)
def process_response(self, request, response): action_type = request_api.get_action_type(request) if action_type is not None: user = request_api.get_user(request) log_dict = { 'action_type': action_type, 'opr_user_id': user['id'], 'opr_time': datetime.datetime.now(), 'state': SystemLog.SUCCESS_STATE } app_log_api.add_system_log(log_dict) return response
def process_exception(self, request, exception): action_type = request_api.get_action_type(request) if action_type is not None: user = request_api.get_user(request) log_dict = { 'action_type': action_type, 'opr_user_id': user['id'], 'opr_time': datetime.datetime.now(), 'state': SystemLog.ERROR_STATE, 'msg': str(exception) } request_api.set_param(request, 'action_type', None) app_log_api.add_system_log(log_dict) return None
def link_view(request): if request_api.is_login(request): # 获取当前登录的用户 user = request_api.get_user(request) conn, pubsub = __register_connect(user['id']) uwsgi.websocket_handshake() # 发送所有用户未阅读的警报 alarm_dicts = __get_unread_alarm_dicts(user) for alarm_dict in alarm_dicts: uwsgi.websocket_send(json.dumps(alarm_dict).encode('utf-8')) flag = ReturnFlag() # 创建协程 gevent.joinall([ gevent.spawn(__check_live, conn=conn, flag=flag), gevent.spawn(__notice_user, redis_pubsub=pubsub, flag=flag), ])
def query_dtu_user_of_select_box(self, request): user = request_api.get_user(request) dtu_users = app_user_api.find_dtu_users_of_select_box(user) return Result.success(data=dtu_users)
def meter_view(request): return render(request, 'meter/meter-list.html', {'user': request_api.get_user(request)})
def dtu_add(request): return render(request, 'dtu/dtu-add.html', {'user': request_api.get_user(request)})
def dtu_view(request): return render(request, 'dtu/dtu-list.html', {'user': request_api.get_user(request)})
def query_dtu_of_select_box(self, request): user = request_api.get_user(request) dtus = app_dtu_api.query_dtu_of_select_box(user) return Result.success(data=dtus)
def query_dtu_region_of_select_box(self, request): user = request_api.get_user(request) regions = app_region_api.query_dtu_region_of_select_box(user) return Result.success(data=regions)
def update_flow_ratio(self, request): meter_info = request_api.get_param(request) app_meter_api.update_flow_ratio(meter_info, request_api.get_user(request)) return Result.success()
def recharge_meter(self, request): param = request_api.get_param(request) app_meter_api.recharge_meter(param['meter_ids'], param['money'], request_api.get_user(request)) return Result.success()
def reset_meter(self, request): meter_info = request_api.get_param(request) app_meter_api.reset_meter(meter_info, request_api.get_user(request)) return Result.success()
def query_meter_data(self, request): meter_info = request_api.get_param(request) app_meter_api.query_meter_data(meter_info, request_api.get_user(request)) return Result.success()