def get_team_usable_regions(self, team_name, enterprise_id): usable_regions = region_repo.get_usable_regions(enterprise_id) region_names = [r.region_name for r in usable_regions] team_opened_regions = region_repo.get_team_opened_region(team_name) if team_opened_regions: team_opened_regions = team_opened_regions.filter( is_init=True, region_name__in=region_names) return team_opened_regions
def get_team_unopen_region(self, team_name): usable_regions = region_repo.get_usable_regions() team_opened_regions = region_repo.get_team_opened_region(team_name).filter(is_init=True) opened_regions_name = [ team_region.region_name for team_region in team_opened_regions ] unopen_regions = usable_regions.exclude( region_name__in=opened_regions_name) return [unopen_region.to_dict() for unopen_region in unopen_regions]
def get_team_usable_regions(self, team_name): usable_regions = region_repo.get_usable_regions() region_names = [r.region_name for r in usable_regions] team_opened_regions = region_repo.get_team_opened_region( team_name).filter(is_init=True, region_name__in=region_names) return team_opened_regions
def get(self, request, *args, **kwargs): """ 组件事件动态 --- parameters: - name: team_name description: 团队名 required: true type: string paramType: path - name: page description: 页数(默认第一页) required: false type: string paramType: query - name: page_size description: 每页展示个数(默认3个) required: false type: string paramType: query """ page = request.GET.get("page", 1) page_size = request.GET.get("page_size", 3) total = 0 regionsList = region_repo.get_team_opened_region(self.tenant) event_service_dynamic_list = [] for region in regionsList: try: events, event_count, has_next = event_service.get_target_events( "tenant", self.tenant.tenant_id, self.tenant, region.region_name, int(page), int(page_size)) event_service_dynamic_list = event_service_dynamic_list + events total = total + event_count except Exception as e: logger.error( "Region api return error {0}, ignore it".format(e)) event_service_dynamic_list = sorted(event_service_dynamic_list, self.__sort_events) service_ids = [] for event in event_service_dynamic_list: if event["Target"] == "service": service_ids.append(event["TargetID"]) services = service_repo.get_service_by_service_ids(service_ids) event_service_list = [] for event in event_service_dynamic_list: if event["Target"] == "service": for service in services: if service.service_id == event["TargetID"]: event["service_alias"] = service.service_alias event["service_name"] = service.service_cname event_service_list.append(event) event_paginator = JuncheePaginator(event_service_list, int(page_size)) event_page_list = event_paginator.page(page) total = event_paginator.count event_list = [event for event in event_page_list] result = general_message(200, 'success', "查询成功", list=event_list, total=total) return Response(result, status=result["code"])