Exemplo n.º 1
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default=30, strip=True)
        limit_start = (int(page_size) - 1) * int(limit)
        user_list = []
        with DBContext('r') as session:
            if key and value:
                count = session.query(Users).filter(
                    Users.status != '10').filter_by(**{
                        key: value
                    }).count()
                user_info = session.query(Users).filter(
                    Users.status != '10').filter_by(**{
                        key: value
                    }).order_by(Users.user_id).offset(limit_start).limit(
                        int(limit))
            else:
                count = session.query(Users).filter(
                    Users.status != '10').count()
                user_info = session.query(Users).filter(
                    Users.status != '10').order_by(
                        Users.user_id).offset(limit_start).limit(int(limit))

            all_user = session.query(Users).filter(Users.status != '10').all()
            if int(limit) > 200:
                user_info = all_user

        for msg in user_info:
            data_dict = model_to_dict(msg)
            data_dict.pop('password')
            data_dict.pop('google_key')
            data_dict['last_login'] = str(data_dict['last_login'])
            data_dict['ctime'] = str(data_dict['ctime'])
            user_list.append(data_dict)

        redis_conn = cache_conn()
        redis_conn.delete(const.USERS_INFO)  ### 清空集合数据
        with redis_conn.pipeline(transaction=False) as p:
            for msg in all_user:
                data_dict = model_to_dict(msg)
                data_dict.pop('password')
                data_dict.pop('google_key')
                data_dict['last_login'] = str(data_dict['last_login'])
                data_dict['ctime'] = str(data_dict['ctime'])
                nickname_key = bytes(data_dict['nickname'] + '__contact',
                                     encoding='utf-8')
                p.hmset(nickname_key, {
                    "tel": data_dict["tel"],
                    "email": data_dict["email"]
                })
                p.sadd(const.USERS_INFO, json.dumps(data_dict))
            p.execute()
        self.write(dict(code=0, msg='获取用户成功', count=count, data=user_list))
Exemplo n.º 2
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        menu_list = []
        with DBContext('r') as session:
            if key and value:
                count = session.query(Menus).filter(
                    Menus.status != '10').filter_by(**{
                        key: value
                    }).count()
                menu_info = session.query(Menus).filter(
                    Menus.status != '10').filter_by(**{
                        key: value
                    }).order_by(Menus.menu_id).all()
            else:
                count = session.query(Menus).filter(
                    Menus.status != '10').count()
                menu_info = session.query(Menus).filter(
                    Menus.status != '10').order_by(Menus.menu_id).all()

        for msg in menu_info:
            data_dict = model_to_dict(msg)
            menu_list.append(data_dict)

        return self.write(dict(code=0, msg='获取成功', data=menu_list,
                               count=count))
Exemplo n.º 3
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default=2000, strip=True)
        limit_start = (int(page_size) - 1) * int(limit)
        func_list = []
        with DBContext('r') as session:
            if key and value:
                count = session.query(Functions).filter(
                    Functions.status != '10').filter_by(**{
                        key: value
                    }).count()
                func_info = session.query(Functions).filter(
                    Functions.status != '10').filter_by(**{
                        key: value
                    }).order_by(Functions.func_id).offset(limit_start).limit(
                        int(limit))
            else:
                count = session.query(Functions).filter(
                    Functions.status != '10').count()
                func_info = session.query(Functions).filter(
                    Functions.status != '10').order_by(
                        Functions.func_id).offset(limit_start).limit(
                            int(limit))
        for msg in func_info:
            data_dict = model_to_dict(msg)
            data_dict['ctime'] = str(data_dict['ctime'])
            data_dict['utime'] = str(data_dict['utime'])
            func_list.append(data_dict)

        return self.write(dict(code=0, msg='获取成功', data=func_list,
                               count=count))
Exemplo n.º 4
0
    def get(self, *args, **kwargs):
        user_list = []
        with DBContext('r') as session:
            user_info = session.query(Users).filter(Users.status == '0').all()

        for msg in user_info:
            data_dict = model_to_dict(msg)
            user_list.append(data_dict)

        _tree = [{"label": "all", "children": []}]
        if user_list:
            tmp_tree = {"department": {}, "nickname": {}}

            for t in user_list:
                department, nickname, user_id = t["department"], t['nickname'], t['user_id']

                # 因为是第一层所以没有parent
                tmp_tree["department"][department] = {"label": department, "parent": "all", "children": [],
                                                      "id": shortuuid.uuid()}

                tmp_tree["nickname"][department + "|" + nickname] = {
                    "label": nickname, "parent": department, "department": department, "id": nickname
                }

            for tmp_group in tmp_tree["nickname"].values():
                tmp_tree["department"][tmp_group["parent"]]["children"].append(tmp_group)

            for tmp_git in tmp_tree["department"].values():
                _tree[0]["children"].append(tmp_git)

            return self.write(dict(code=0, msg='获取用户Tree成功', data=_tree[0]["children"]))
        else:
            return self.write(dict(code=0, msg='获取用户Tree失败', data=_tree[0]["children"]))
Exemplo n.º 5
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default=10, strip=True)
        limit_start = (int(page_size) - 1) * int(limit)
        user_list = []
        with DBContext('r') as session:
            if key and value:
                count = session.query(Users).filter(Users.status != '10').filter_by(**{key: value}).count()
                user_info = session.query(Users).filter(Users.status != '10').filter_by(**{key: value}).order_by(
                    Users.user_id).offset(limit_start).limit(int(limit))
            else:
                count = session.query(Users).filter(Users.status != '10').count()
                user_info = session.query(Users).filter(Users.status != '10').order_by(Users.user_id).offset(
                    limit_start).limit(int(limit))

        for msg in user_info:
            data_dict = model_to_dict(msg)
            data_dict.pop('password')
            data_dict.pop('google_key')
            data_dict['last_login'] = str(data_dict['last_login'])
            data_dict['ctime'] = str(data_dict['ctime'])
            user_list.append(data_dict)

        self.write(dict(code=0, msg='获取用户成功', count=count, data=user_list))
Exemplo n.º 6
0
    def get(self, *args, **kwargs):
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default=10, strip=True)
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        start_date = self.get_argument('start_date', default=None, strip=True)
        end_date = self.get_argument('end_date', default=None, strip=True)
        limit_start = (int(page_size) - 1) * int(limit)

        if not start_date:
            start_date = datetime.date.today() - relativedelta(months=+1)
        if not end_date:
            end_date = datetime.date.today() + datetime.timedelta(days=1)

        start_time_tuple = time.strptime(str(start_date), '%Y-%m-%d')
        end_time_tuple = time.strptime(str(end_date), '%Y-%m-%d')
        log_list = []

        with DBContext('r') as session:
            if key and value:
                count = session.query(OperationRecord).filter(
                    OperationRecord.ctime > start_time_tuple,
                    OperationRecord.ctime < end_time_tuple).filter_by(
                        **{
                            key: value
                        }).count()
                log_info = session.query(OperationRecord).filter(
                    OperationRecord.ctime > start_time_tuple,
                    OperationRecord.ctime < end_time_tuple).filter_by(
                        **{
                            key: value
                        }).order_by(-OperationRecord.ctime)
            else:
                count = session.query(OperationRecord).filter(
                    OperationRecord.ctime > start_time_tuple,
                    OperationRecord.ctime < end_time_tuple).count()
                log_info = session.query(OperationRecord).filter(
                    OperationRecord.ctime > start_time_tuple,
                    OperationRecord.ctime < end_time_tuple).order_by(
                        -OperationRecord.ctime).offset(limit_start).limit(
                            int(limit))

        for msg in log_info:
            data_dict = model_to_dict(msg)
            data_dict['ctime'] = str(data_dict['ctime'])
            log_list.append(data_dict)

        return self.write(
            dict(code=0, msg='获取日志成功', count=count, data=log_list))
Exemplo n.º 7
0
    def get(self, *args, **kwargs):
        role_id = self.get_argument('role_id', default=1, strip=True)
        data_list = []

        if not role_id:
            return self.write(dict(code=-1, msg='角色不能为空'))

        with DBContext('r') as session:
            role_menu = session.query(Menus).outerjoin(
                RoleMenus, Menus.menu_id == RoleMenus.menu_id).filter(
                    RoleMenus.role_id == role_id, RoleMenus.status == '0',
                    Menus.status == '0').all()

        for msg in role_menu:
            menu_dict = {}
            data_dict = model_to_dict(msg)
            menu_dict["menu_name"] = data_dict["menu_name"]
            menu_dict["menu_id"] = data_dict["menu_id"]
            data_list.append(menu_dict)

        return self.write(dict(code=0, msg='获取成功', data=data_list))
Exemplo n.º 8
0
    def get(self, *args, **kwargs):
        role_id = self.get_argument('role_id', default=None, strip=True)
        data_list = []

        if not role_id: return self.write(dict(code=-1, msg='角色不能为空'))

        with DBContext('r') as session:
            role_func = session.query(Functions).outerjoin(
                RoleFunctions,
                Functions.func_id == RoleFunctions.func_id).filter(
                    RoleFunctions.role_id == role_id,
                    RoleFunctions.status == '0').all()

        for msg in role_func:
            menu_dict = {}
            data_dict = model_to_dict(msg)
            menu_dict["func_id"] = data_dict["func_id"]
            menu_dict["func_name"] = data_dict["func_name"]
            menu_dict["method_type"] = data_dict["method_type"]
            menu_dict["uri"] = data_dict["uri"]
            data_list.append(menu_dict)

        return self.write(dict(code=0, msg='获取成功', data=data_list))
Exemplo n.º 9
0
    def get(self, *args, **kwargs):
        role_id = self.get_argument('role_id', default=None, strip=True)
        data_list = []

        if not role_id:
            return self.write(dict(code=-1, msg='角色不能为空'))

        with DBContext('r') as session:
            comp_info = session.query(Components).outerjoin(
                RolesComponents,
                Components.comp_id == RolesComponents.comp_id).filter(
                    RolesComponents.role_id == role_id,
                    RolesComponents.status == '0',
                    Components.status == '0').all()

        for msg in comp_info:
            comp_dict = {}
            data_dict = model_to_dict(msg)
            comp_dict["comp_id"] = data_dict["comp_id"]
            comp_dict["component_name"] = data_dict["component_name"]
            data_list.append(comp_dict)

        return self.write(dict(code=0, msg='获取成功', data=data_list))