예제 #1
0
        public TableQueryModel <ApplicationDto> QueryApplicationList(QueryModel queryModel)
        {
            TableQueryModel <ApplicationDto> tableQueryModel = new TableQueryModel <ApplicationDto>();

            try
            {
                if (!queryModel.parentId.HasValue || queryModel.parentId == 0)
                {
                    return(tableQueryModel.Failed("请选择域名!"));
                }
                var query = DataBaseCache.Applications.Where(p => p.DomainId == queryModel.parentId && p.State != (int)RoleStatus.Deleted).AsQueryable();
                if (!String.IsNullOrWhiteSpace(queryModel.keyword))
                {
                    query = query.Where(p => p.AppName.Contains(queryModel.keyword)).AsQueryable();
                }
                tableQueryModel.count = query.Count();
                if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
                {
                    query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
                }
                query = query.Skip((queryModel.page - 1) * queryModel.limit);
                query = query.Take(queryModel.limit);
                tableQueryModel.code = 0;
                tableQueryModel.data = query.Select(p => mapper.Map <ApplicationDto>(p)).ToList();
            }
            catch (Exception ex)
            {
                tableQueryModel.code = 1;
                tableQueryModel.msg  = ex.Message;
            }
            return(tableQueryModel);
        }
예제 #2
0
        public TableQueryModel <DomainDto> QueryDomainList(QueryModel queryModel)
        {
            TableQueryModel <DomainDto> tableQueryModel = new TableQueryModel <DomainDto>();

            try
            {
                var query = DataBaseCache.Domains.Where(p => p.State != (int)RoleStatus.Deleted).AsQueryable();


                if (!String.IsNullOrWhiteSpace(queryModel.keyword))
                {
                    query = query.Where(p => p.DomainName.Contains(queryModel.keyword) || (p.Description != null && p.Description.Contains(queryModel.keyword))).AsQueryable();
                }
                tableQueryModel.count = query.Count();
                if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
                {
                    query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
                }
                query = query.Skip((queryModel.page - 1) * queryModel.limit);
                query = query.Take(queryModel.limit);

                tableQueryModel.code = 0;
                tableQueryModel.data = query.Select(p => mapper.Map <DomainDto>(p)).ToList();
            }
            catch (Exception ex)
            {
                tableQueryModel.code = 1;
                tableQueryModel.msg  = ex.Message;
            }
            return(tableQueryModel);
        }
        public TableQueryModel <ApplicationDto> GetApplicationList(QueryModel queryModel)
        {
            TableQueryModel <ApplicationDto> result = new TableQueryModel <ApplicationDto>();


            var query = dbContext.TbApplication.Include(p => p.CreateByNavigation).Include(p => p.UpdateByNavigation).Where(predicate => predicate.Status != (int)DomainState.Deleted).AsQueryable();

            if (!String.IsNullOrWhiteSpace(queryModel.keyword))
            {
                query = query.Where(p =>
                                    p.App.Contains(queryModel.keyword) &&
                                    p.Remark.Contains(queryModel.keyword)
                                    ).AsQueryable();
            }
            result.count = query.Count();
            query        = query.Skip((queryModel.page - 1) * queryModel.limit);
            if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
            {
                query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
            }
            query       = query.Take(queryModel.limit);
            result.code = 0;
            result.data = query.Select(p => mapper.Map <ApplicationDto>(p)).ToList();
            return(result);
        }
        public TableQueryModel <MenuDto> GetMenuList(QueryModel queryModel)
        {
            TableQueryModel <MenuDto> tableQueryModel = new TableQueryModel <MenuDto>();

            try
            {
                List <MenuDto> menus = new List <MenuDto>();
                var            query = dbContext.TbMenu.Where(p => p.Status != (int)MenuStatus.Deleted);
                if (!String.IsNullOrWhiteSpace(queryModel.keyword))
                {
                    query = query.Where(p => p.Name.Contains(queryModel.keyword)).AsQueryable();
                }
                tableQueryModel.count = query.Count();
                query = query.Skip((queryModel.page - 1) * queryModel.limit);
                if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
                {
                    query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
                }
                query = query.Take(queryModel.limit);
                var list = query.ToList();
                list.ForEach(p => menus.Add(mapper.Map <MenuDto>(p)));

                tableQueryModel.code = 0;
                tableQueryModel.data = menus;
            }
            catch (Exception ex)
            {
                tableQueryModel.code = 1;
                tableQueryModel.msg  = ex.Message;
            }
            return(tableQueryModel);
        }
        public TableQueryModel <DomainDto> GetDomainList(QueryModel queryModel)
        {
            TableQueryModel <DomainDto> result = new TableQueryModel <DomainDto>();
            // var domainList = dbContext.TbDomain.Include(p => p.CreateByNavigation).Include(p => p.UpdateByNavigation).Where(predicate => predicate.Status != (int)DomainState.Deleted).Select(p => mapper.Map<DomainDto>(p)).AsQueryable();
            // if (domainList == null || domainList.Count == 0)
            // {
            //     domainList = dbContext.TbDomain.Include(p => p.CreateByNavigation).Include(p => p.UpdateByNavigation).Where(predicate => predicate.Status != (int)DomainState.Deleted).Select(p => mapper.Map<DomainDto>(p)).ToList();
            //     foreach (var item in domainList)
            //     {
            //         RedisHelper.Instance.SetHash<DomainDto>(item.Id.ToString(), item);
            //     }
            // }

            var query = dbContext.TbDomain.Include(p => p.CreateByNavigation).Include(p => p.UpdateByNavigation).Where(predicate => predicate.Status != (int)DomainState.Deleted).AsQueryable();

            if (!String.IsNullOrWhiteSpace(queryModel.keyword))
            {
                query = query.Where(p =>
                                    p.DomainName.Contains(queryModel.keyword) &&
                                    p.Remark.Contains(queryModel.keyword)
                                    ).AsQueryable();
            }
            result.count = query.Count();
            query        = query.Skip((queryModel.page - 1) * queryModel.limit);
            if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
            {
                query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
            }
            query       = query.Take(queryModel.limit);
            result.code = 0;
            result.data = query.Select(p => mapper.Map <DomainDto>(p)).ToList();
            return(result);
        }
예제 #6
0
        public ActionResult GetTable(TableQueryModel model)
        {
            var result = _unitOfWork.GetRepository <Table>().GetEntities();

            if (!string.IsNullOrEmpty(model.TableName))
            {
                result = result.Where(i => i.TableName.Contains(model.TableName));
            }
            var w1 = result.OrderByDescending(x => x.Id).Skip((model.page - 1) * model.limit).Take(model.limit);

            return(Json(new
            {
                code = 0,
                msg = "ok",
                count = result.Count(),
                data = w1.ToList()
            }));
        }
예제 #7
0
        public TableQueryModel <ConfigDto> Config(QueryModel queryModel)
        {
            TableQueryModel <ConfigDto> result = new TableQueryModel <ConfigDto>();

            result.data = GloableCache.ZLMediaServerConfig.Select(p => new ConfigDto()
            {
                ConfigKey = p.Key, ConfigValue = p.Value
            }).ToList();
            foreach (var item in result.data)
            {
                if (item.ConfigKey == "http.notFound")
                {
                    item.ConfigValue = "<xmp>" + item.ConfigValue + "</xmp>";
                    break;
                }
            }
            result.code  = 0;
            result.msg   = "ok";
            result.count = result.data.Count;
            return(result);
        }
        public TableQueryModel <UserDto> GetUserList(QueryModel queryModel)
        {
            TableQueryModel <UserDto> tableQueryModel = new TableQueryModel <UserDto>();

            try
            {
                List <UserDto> menus = new List <UserDto>();
                var            query = DataBaseCache.Users.Where(p => p.State != (int)BaseStatus.Deleted).AsQueryable();
                if (!String.IsNullOrWhiteSpace(queryModel.keyword))
                {
                    query = query.Where(p => (p.Name != null && p.Name.Contains(queryModel.keyword)) ||
                                        (p.Address != null && p.Address.Contains(queryModel.keyword)) ||
                                        (p.Tel != null && p.Tel.Contains(queryModel.keyword)) ||
                                        (p.LoginName != null && p.LoginName.Contains(queryModel.keyword))
                                        ).AsQueryable();
                }


                tableQueryModel.count = query.Count();
                query = query.Skip((queryModel.page - 1) * queryModel.limit);
                if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
                {
                    query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
                }
                query = query.Take(queryModel.limit);

                var list = query.ToList();
                list.ForEach(p => { var dto = mapper.Map <UserDto>(p); menus.Add(mapper.Map <UserDto>(dto)); });

                tableQueryModel.code = 0;
                tableQueryModel.data = menus;
            }
            catch (Exception ex)
            {
                tableQueryModel.code = 1;
                tableQueryModel.msg  = ex.Message;
            }
            return(tableQueryModel);
        }
        public TableQueryModel <StreamProxyDto> StreamProxy(QueryModel queryModel)
        {
            TableQueryModel <StreamProxyDto> tableQueryModel = new TableQueryModel <StreamProxyDto>();

            try
            {
                var query = DataBaseCache.StreamProxies.Where(p => p.State != (int)RoleStatus.Deleted).AsQueryable();
                if (queryModel.DomainId.HasValue && queryModel.DomainId != 0)
                {
                    query = query.Where(p => p.DomainId == queryModel.DomainId);
                }
                if (queryModel.ApplicationId.HasValue && queryModel.ApplicationId != 0)
                {
                    query = query.Where(p => p.ApplicationId == queryModel.ApplicationId);
                }
                if (!String.IsNullOrWhiteSpace(queryModel.keyword))
                {
                    query = query.Where(p => p.StreamName.Contains(queryModel.keyword) ||
                                        p.StreamId.Contains(queryModel.keyword) ||
                                        (p.Description != null && p.Description.Contains(queryModel.keyword)) ||
                                        (p.PullStreamUrl != null && p.PullStreamUrl.Contains(queryModel.keyword))
                                        ).AsQueryable();
                }
                tableQueryModel.count = query.Count();
                if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
                {
                    query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
                }
                query = query.Skip((queryModel.page - 1) * queryModel.limit);
                query = query.Take(queryModel.limit);

                tableQueryModel.code = 0;
                tableQueryModel.data = query.Select(p => mapper.Map <StreamProxyDto>(p)).ToList();

                foreach (var item in tableQueryModel.data)
                {
                    var domain      = DataBaseCache.Domains.Where(c => c.Id == item.DomainId).First();
                    var application = DataBaseCache.Applications.Where(c => c.Id == item.ApplicationId).First();

                    item.DomainName      = domain.DomainName;
                    item.ApplicationName = application.AppName;

                    var vHost = domain.DomainName;
                    if (GloableCache.ZLMediaServerConfig.ContainsKey("general.enableVhost") && GloableCache.ZLMediaServerConfig["general.enableVhost"] != "1")
                    {
                        vHost = "__defaultVhost__";
                    }

                    var streamMiedas = GloableCache.MediaStreams.Where(p => p.vhost == vHost && p.app == application.AppName && p.stream == item.StreamId).ToList();

                    item.WatchCount      = streamMiedas == null || streamMiedas.Count == 0 ? 0 : streamMiedas.Sum(q => q.readerCount);
                    item.WatchTotalCount = streamMiedas == null || streamMiedas.Count == 0 ? 0 : streamMiedas.Sum(q => q.totalReaderCount);
                    if ((streamMiedas == null || streamMiedas.Count == 0) && item.State == (int)BaseStatus.Forbid)
                    {
                        item.ShowStatus = "<font color=\"e1473c\">已停用</font>";
                    }
                    else if ((streamMiedas == null || streamMiedas.Count == 0) && item.State == (int)BaseStatus.Normal)
                    {
                        item.isNeedRePullStreamProxy = true;
                        item.ShowStatus = "<font color=\"e1473c\">拉流失败</font>";
                    }
                    else if (!(streamMiedas == null || streamMiedas.Count == 0) && item.State == (int)BaseStatus.Normal)
                    {
                        item.ShowStatus = "<font color=\"a9e879\">正常</font>";
                    }
                    else if (!(streamMiedas == null || streamMiedas.Count == 0) && item.State == (int)BaseStatus.Forbid)
                    {
                        item.ShowStatus = "<font color=\"e1473c\">已停用,正在拉流</font>";
                    }
                    item.ShowStreamMediaJson = (streamMiedas == null || streamMiedas.Count == 0) ? "" : Tools.FormatJsonString(Newtonsoft.Json.JsonConvert.SerializeObject(streamMiedas));
                }
            }
            catch (Exception ex)
            {
                tableQueryModel.code = 1;
                tableQueryModel.msg  = ex.Message;
            }
            return(tableQueryModel);
        }
예제 #10
0
        public TableQueryModel <MenuDto> GetMenuList(QueryModel queryModel)
        {
            TableQueryModel <MenuDto> tableQueryModel = new TableQueryModel <MenuDto>();

            try
            {
                List <MenuDto> menus = new List <MenuDto>();
                var            query = DataBaseCache.Menus.Where(p => p.State != (int)MenuStatus.Deleted).AsQueryable();
                // if (queryModel.Flag == false)
                // {
                //     // queryModel.Flag==false 前台根据需要查询对应表格.
                //     // queryModel.Flag==true 其他业务逻辑要查询所有表格
                //     if (queryModel.parentId != 0)
                //     {
                //         query = query.Where(p => p.ParentId == queryModel.parentId);
                //     }
                //     else
                //     {
                //         query = query.Where(p => p.ParentId == null);
                //     }
                // }

                if (!String.IsNullOrWhiteSpace(queryModel.keyword))
                {
                    query = query.Where(p => p.Name.Contains(queryModel.keyword)).AsQueryable();
                }

                if (!String.IsNullOrWhiteSpace(queryModel.field) && !String.IsNullOrWhiteSpace(queryModel.order))
                {
                    query = query.SortBy(queryModel.field + " " + queryModel.order.ToUpper());
                }
                else
                {
                    query = query.SortBy("CreateTs ASC");
                }
                tableQueryModel.count = query.Count();
                query = query.Skip((queryModel.page - 1) * queryModel.limit);
                query = query.Take(queryModel.limit);
                var list = query.ToList();
                list.ForEach(p => menus.Add(mapper.Map <MenuDto>(p)));

                tableQueryModel.code = 0;
                // tableQueryModel.data = menus.ToTree<MenuDto>(
                //     (r, c) => { return c.ParentId == 0 || !c.ParentId.HasValue; },
                //     (r, c) =>
                //     {
                //         return r.Id == c.ParentId;
                //     },
                //     (r, datalist) =>
                //     {
                //         r.Children.AddRange(datalist);
                //     }
                //     );

                tableQueryModel.data = menus;
            }
            catch (Exception ex)
            {
                tableQueryModel.code = 1;
                tableQueryModel.msg  = ex.Message;
            }
            return(tableQueryModel);
        }