def get_group_back_up_info(self, tenant, region, group_id): return backup_record_repo.get_group_backup_records(tenant.tenant_id, region, group_id).order_by("-ID")
def get(self, request, *args, **kwargs): """ 总览 团队应用信息 """ try: page = int(request.GET.get("page", 1)) page_size = int(request.GET.get("page_size", 10)) groups = group_repo.get_tenant_region_groups( self.team.tenant_id, self.response_region) total = len(groups) app_num_dict = {"total": total} start = (page - 1) * page_size end = page * page_size app_list = [] if groups: for group in groups: app_dict = dict() app_dict["group_name"] = group.group_name app_dict["group_id"] = group.ID # 分享记录和备份记录 share_record_num = share_repo.get_app_share_record_count_by_groupid( group_id=group.ID) app_dict["share_record_num"] = share_record_num backup_records = backup_record_repo.get_group_backup_records( self.team.tenant_id, self.response_region, group.ID) backup_record_num = len(backup_records) app_dict["backup_record_num"] = backup_record_num # 服务数量记录 services = group_service_relation_repo.get_services_by_group( group.ID) services_num = len(services) app_dict["services_num"] = services_num run_service_num = 0 if services: service_ids = [] for service in services: service_ids.append(service.service_id) status_list = base_service.status_multi_service( region=self.response_region, tenant_name=self.team_name, service_ids=service_ids, enterprise_id=self.team.enterprise_id) for status in status_list: if status["status"] in [ "running", "upgrade", "starting", "some_abnormal" ]: run_service_num += 1 app_dict["run_service_num"] = run_service_num app_list.append(app_dict) # 排序 app_list.sort(key=lambda x: x['run_service_num'], reverse=True) apps_list = app_list[start:end] result = general_message(200, "success", "查询成功", list=apps_list, bean=app_num_dict) return Response(result, status=200) except Exception as e: logger.exception(e) result = error_message(e.message) return Response(result, status=500)