Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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', [])
Esempio n. 4
0
    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)
Esempio n. 5
0
    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()
Esempio n. 6
0
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)
    })
Esempio n. 7
0
    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)
Esempio n. 8
0
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)
Esempio n. 9
0
    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
Esempio n. 10
0
    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
Esempio n. 11
0
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),
        ])
Esempio n. 12
0
    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)
Esempio n. 13
0
def meter_view(request):
    return render(request, 'meter/meter-list.html',
                  {'user': request_api.get_user(request)})
Esempio n. 14
0
def dtu_add(request):

    return render(request, 'dtu/dtu-add.html',
                  {'user': request_api.get_user(request)})
Esempio n. 15
0
def dtu_view(request):

    return render(request, 'dtu/dtu-list.html',
                  {'user': request_api.get_user(request)})
Esempio n. 16
0
 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)
Esempio n. 17
0
    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)
Esempio n. 18
0
    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()
Esempio n. 19
0
    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()
Esempio n. 20
0
    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()
Esempio n. 21
0
 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()