def get_user_by_eid(self, eid, name, page, page_size): users = user_repo.get_enterprise_users(eid) if name: users = users.filter( Q(nick_name__contains=name) | Q(real_name__contains=name)) total = users.count() return users[(page - 1) * page_size:page * page_size], total
def list_all(self, query="", page=None, page_size=None): ents = enterprise_repo.list_all(query) total = ents.count() if total == 0: return [], 0 paginator = Paginator(ents, page_size) pp = paginator.page(page) data = [] for ent in pp: data.append({ "enterprise_id": ent.enterprise_id, "enterprise_name": ent.enterprise_name, "enterprise_alias": ent.enterprise_alias, "create_time": ent.create_time, "is_active": ent.is_active, "region_num": region_repo.get_regions_by_enterprise_id( ent.enterprise_id).count(), "user_num": user_repo.get_enterprise_users(ent.enterprise_id).count(), "team_num": team_repo.get_team_by_enterprise_id(ent.enterprise_id).count() }) return data, total
def is_user_admin_in_current_enterprise(self, current_user, enterprise_id): """判断用户在该企业下是否为管理员""" if current_user.enterprise_id != enterprise_id: return False is_admin = enterprise_user_perm_repo.is_admin(enterprise_id, current_user.user_id) if is_admin: return True users = user_repo.get_enterprise_users(enterprise_id).order_by("user_id") if users: admin_user = users[0] # 如果有,判断用户最开始注册的用户和当前用户是否为同一人,如果是,添加数据返回true if admin_user.user_id == current_user.user_id: token = self.generate_key() enterprise_user_perm_repo.create_enterprise_user_perm(current_user.user_id, enterprise_id, "admin", token) return True return False
def is_user_admin_in_current_enterprise(self, current_user, enterprise_id): """判断用户在该企业下是否为管理员""" if current_user.enterprise_id != enterprise_id: return False user_perms = enterprise_user_perm_repo.get_user_enterprise_perm(current_user.user_id, enterprise_id) if not user_perms: users = user_repo.get_enterprise_users(enterprise_id).order_by("user_id") if users: admin_user = users[0] # 如果有,判断用户最开始注册的用户和当前用户是否为同一人,如果是,添加数据返回true if admin_user.user_id == current_user.user_id: enterprise_user_perm_repo.create_enterprise_user_perm(current_user.user_id, enterprise_id, "admin") return True else: return False else: return True
def post(self, request, *args, **kwargs): """ back manager get access token for console --- parameters: - name: username description: 用户名 required: true type: string paramType: path - name: password description: 密码 required: true type: string paramType: form - name: enterprise_id description: 企业ID required: true type: string paramType: form - name: enterprise_alias description: 企业别名 required: true type: string paramType: form """ try: auth = request.data.get('Authorization', '') if auth != settings.MANAGE_SECRET_KEY: return Response( generate_result("0401", "authorization error", "验证未通过")) enterprise_alias = request.data.get("enterprise_alias", None) # 校验参数 if not enterprise_alias: return Response(generate_result("1003", "params error", "参数错误")) # 查询企业信息 enterprise = enterprise_services.get_enterprise_by_enterprise_alias( enterprise_alias) logger.debug('----------type----------->{0}'.format( type(enterprise))) if not enterprise: return Response( generate_result("1005", "enterprise already exists", "当前企业在控制台不存在")) # 获取企业第一个用户(即企业管理员) users = user_repo.get_enterprise_users( enterprise.enterprise_id).order_by("user_id") if not users: return Response( generate_result("1007", "is not enterprise admin", "无企业管理员")) admin_user = users[0] token = auth_service.create_token_auth_user( admin_user.nick_name, admin_user.password) bean = { "console_access_token": token.key, "enterprise_info": enterprise.to_dict(), "user_info": admin_user.to_dict() } result = generate_result("0000", "success", "信息获取成功", bean=bean) except Exception as e: logger.exception(e) result = generate_error_result() return Response(result)
def get_enterprise_first_user(self, enterprise_id): users = user_repo.get_enterprise_users(enterprise_id).order_by( "user_id") if users: return users[0] return None