Exemple #1
0
    def obtain_menu(self, params: MenusRequestParam):
        """
        获取菜单
        :param params:
        :return:
        """
        query_dict: dict = params.obtain_dict()
        if params.id:
            query_dict['id'] = params.id
        menu = Menu.objects.filter(**query_dict).first()
        if not menu:
            raise ParamError(CODE_10012)

        menu_vo = MenuVO(menu=menu)
        if menu_vo.parent_id:
            pm = Menu.objects.filter(id=menu_vo.parent_id)
            menu_vo.parent_menu = utils.obj_to_dict(
                pm, lambda obj: MenuVO(menu=obj))

        return utils.obj_to_dict(menu, lambda obj: MenuVO(menu=obj))
Exemple #2
0
def ajax_update_user(request: HttpRequest):
    """更新用户"""
    resp = Resp()
    try:
        result = BdUserService().update_user(params=UserRequestParam(request))
        resp.success(result)
    except BaseError as e:
        logger.error('update user fail: %s', e)
        resp.fail_error(e)
    except Exception as e:
        logger.error('update user error: %s', e)
        resp.fail(CODE_99999)
    return JsonResponse(utils.obj_to_dict(resp), encoder=CustomerEncoder)
Exemple #3
0
def ajax_obtain_page_users(request: HttpRequest):
    """获取用户分页列表数据"""
    resp = Resp()
    try:
        result = BdUserService().obtain_page_users(params=UsersRequestParam(request))
        resp.success(data=result)
    except BaseError as e:
        logger.error('obtain page users fail: %s', e)
        resp.fail_error(e)
    except Exception as e:
        logger.error('obtain page users error: %s', e)
        resp.fail(CODE_99999)
    return JsonResponse(utils.obj_to_dict(resp), encoder=CustomerEncoder)
Exemple #4
0
def ajax_add_menu(request: HttpRequest):
    """添加菜单"""
    resp = Resp()
    try:
        result = BdMenuService().add_menu(params=MenusRequestParam(request))
        resp.success(data=result)
    except BaseError as e:
        logger.error('add menu fail: %s', e)
        resp.fail_error(e)
    except Exception as e:
        logger.error('add menu error: %s', e)
        resp.fail(CODE_99999)
    return JsonResponse(utils.obj_to_dict(resp), encoder=CustomerEncoder)
Exemple #5
0
def ajax_obtain_all_menus(request: HttpRequest):
    """获取所有菜单"""
    resp = Resp()
    try:
        result = BdMenuService().obtain_all_menus()
        resp.success(data=result)
    except BaseError as e:
        logger.error('obtain all menus fail: %s', e)
        resp.fail_error(e)
    except Exception as e:
        logger.error('obtain all menus error: %s', e)
        resp.fail(CODE_99999)
    return JsonResponse(utils.obj_to_dict(resp), encoder=CustomerEncoder)
Exemple #6
0
def ajax_obtain_role(request: HttpRequest):
    """获取单个角色"""
    resp = Resp()
    try:
        result = BdRoleService().obtain_role(params=RoleRequestParam(request))
        resp.success(data=result)
    except BaseError as e:
        logger.error('obtain role fail: %s', e)
        resp.fail_error(e)
    except Exception as e:
        logger.error('obtain role error: %s', e)
        resp.fail(CODE_99999)
    return JsonResponse(utils.obj_to_dict(resp), encoder=CustomerEncoder)
Exemple #7
0
 def obtain_user(self, params: UserRequestParam):
     """
     获取单个用户
     :param params:
     :return:
     """
     query_dict: dict = params.obtain_dict()
     if params.id:
         query_dict['id'] = params.id
     user = User.objects.filter(**query_dict).first()
     if not user:
         raise ParamError(CODE_10010)
     user_vo = UserVO(user=user)
     roles = Role.objects.filter(del_status=False, userrole__user=user)
     user_vo.roles = utils.objs_to_dicts(roles,
                                         lambda obj: RoleVO(role=obj))
     return utils.obj_to_dict(user_vo)
Exemple #8
0
 def obtain_role(self, params: RoleRequestParam):
     """
     获取单个角色
     :param params:
     :return:
     """
     query_dict: dict = params.obtain_dict()
     if params.id:
         query_dict['id'] = params.id
     role = Role.objects.filter(**query_dict).first()
     if not role:
         raise ParamError(CODE_10011)
     role_vo = RoleVO(role=role)
     menus = Menu.objects.filter(del_status=False, rolemenu__role=role)
     role_vo.menus = utils.objs_to_dicts(menus,
                                         lambda obj: MenuVO(menu=obj))
     return utils.obj_to_dict(role_vo)
Exemple #9
0
    def add_user(self, params: UserRequestParam):
        """
        添加用户
        :param params:
        :return:
        """
        params.validate()
        self.__validate_unique(params)

        now = timezone.now()
        create_dict: dict = params.obtain_dict()
        create_dict['create_time'] = now
        create_dict['update_time'] = now
        user = User.objects.create(**create_dict)
        user.save()
        # 添加角色关联关系
        for role_id in params.roles:
            UserRole.objects.create(user=user,
                                    role_id=role_id,
                                    create_time=now)

        return utils.obj_to_dict(user, lambda obj: UserVO(user=obj))