/// <summary>
        /// 获取统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>统计数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetStatisticDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        statisticDatas            = blogService.GetStatisticDatas(tenantTypeId);

            if (statisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "文章",
                                                                           "文章总数", statisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个文章",
                    Url = SiteUrls.Instance().BlogControlPanelManage()
                });
            }
            if (statisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "文章",
                                                                           "文章24小时新增数", statisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个文章",
                    Url = SiteUrls.Instance().BlogControlPanelManage()
                });
            }
            return(applicationStatisticDatas);
        }
Пример #2
0
        /// <summary>
        /// 获取资讯应用统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns>资讯统计数据</returns>
        public Dictionary <string, long> GetApplicationStatisticData(string tenantTypeId = null)
        {
            StringBuilder cacheKey = new StringBuilder();

            cacheKey.AppendFormat("GetApplicationStatisticData::tenantTypeId-{0}:table-ContentItem", tenantTypeId);
            Dictionary <string, long> statisticData = cacheService.Get <Dictionary <string, long> >(cacheKey.ToString());

            if (statisticData == null)
            {
                statisticData = new Dictionary <string, long>();

                //查询总数
                Sql sql = Sql.Builder.Select("count(*)")
                          .From("spb_cms_ContentItems");
                if (!string.IsNullOrEmpty(tenantTypeId))
                {
                    sql.Where("TenantTypeId=@0", tenantTypeId);
                }
                statisticData.Add(ApplicationStatisticDataKeys.Instance().TotalCount(), CreateDAO().FirstOrDefault <long>(sql));

                //查询24小时新增数
                sql = Sql.Builder.Select("count(*)")
                      .From("spb_cms_ContentItems")
                      .Where("DateCreated > @0", DateTime.UtcNow.AddDays(-1));
                if (!string.IsNullOrEmpty(tenantTypeId))
                {
                    sql.Where("TenantTypeId=@0", tenantTypeId);
                }
                statisticData.Add(ApplicationStatisticDataKeys.Instance().Last24HCount(), CreateDAO().FirstOrDefault <long>(sql));

                cacheService.Add(cacheKey.ToString(), statisticData, CachingExpirationType.UsualSingleObject);
            }

            return(statisticData);
        }
Пример #3
0
        /// <summary>
        /// 获取日志统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns>日志统计数据</returns>
        public Dictionary <string, long> GetStatisticDatas(string tenantTypeId = null)
        {
            string cacheKey = "BlogThreadStatisticData";
            Dictionary <string, long> statisticDatas = cacheService.Get <Dictionary <string, long> >(cacheKey);

            if (statisticDatas == null)
            {
                statisticDatas = new Dictionary <string, long>();

                //查询总数
                Sql sql = Sql.Builder.Select("count(*)")
                          .From("spb_BlogThreads")
                          .Where("IsDraft=0");
                if (!string.IsNullOrEmpty(tenantTypeId))
                {
                    sql.Where("TenantTypeId=@0", tenantTypeId);
                }
                statisticDatas.Add(ApplicationStatisticDataKeys.Instance().TotalCount(), CreateDAO().FirstOrDefault <long>(sql));

                //查询24小时新增数
                sql = Sql.Builder.Select("count(*)")
                      .From("spb_BlogThreads")
                      .Where("IsDraft=0")
                      .Where("DateCreated > @0", DateTime.UtcNow.AddDays(-1));
                if (!string.IsNullOrEmpty(tenantTypeId))
                {
                    sql.Where("TenantTypeId=@0", tenantTypeId);
                }
                statisticDatas.Add(ApplicationStatisticDataKeys.Instance().Last24HCount(), CreateDAO().FirstOrDefault <long>(sql));

                cacheService.Add(cacheKey, statisticDatas, CachingExpirationType.UsualSingleObject);
            }

            return(statisticDatas);
        }
Пример #4
0
        /// <summary>
        /// 获取群组统计数据
        /// </summary>
        /// <returns></returns>
        public Dictionary <string, long> GetStatisticDatas(string tenantTypeId = null)
        {
            var    dao      = CreateDAO();
            string cacheKey = "GroupStatisticData";
            Dictionary <string, long> statisticDatas = cacheService.Get <Dictionary <string, long> >(cacheKey);

            if (statisticDatas == null)
            {
                statisticDatas = new Dictionary <string, long>();
                Sql sql = Sql.Builder;
                sql.Select("count(*)")
                .From("spb_Groups");
                statisticDatas.Add(ApplicationStatisticDataKeys.Instance().TotalCount(), dao.FirstOrDefault <long>(sql));

                sql = Sql.Builder;
                sql.Select("count(*)")
                .From("spb_Groups")
                .Where("DateCreated > @0", DateTime.UtcNow.AddDays(-1));

                statisticDatas.Add(ApplicationStatisticDataKeys.Instance().Last24HCount(), dao.FirstOrDefault <long>(sql));
                cacheService.Add(cacheKey, statisticDatas, CachingExpirationType.UsualSingleObject);
            }

            return(statisticDatas);
        }
        /// <summary>
        /// 获取管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>管理数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            List <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>       manageableDatas           = blogService.GetManageableDatas(tenantTypeId);

            if (manageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "文章",
                                                                           "文章待审核数", manageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个文章待审核",
                    Url = SiteUrls.Instance().BlogControlPanelManage(auditStatus: AuditStatus.Pending)
                });
            }
            if (manageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "文章",
                                                                           "文章需再审核数", manageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个文章需再审核",
                    Url = SiteUrls.Instance().BlogControlPanelManage(auditStatus: AuditStatus.Again)
                });
            }
            return(applicationStatisticDatas);
        }
Пример #6
0
        /// <summary>
        /// 获取统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns></returns>
        public IEnumerable <ApplicationStatisticData> GetStatisticDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        barThreadStatisticDatas   = barThreadService.GetStatisticDatas(tenantTypeId);

            if (barThreadStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "帖子",
                                                                           "帖子总数", barThreadStatisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个帖子",
                    Url = SiteUrls.Instance().ManageThreads(tenantTypeId: tenantTypeId)
                });
            }
            if (barThreadStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "帖子",
                                                                           "帖子24小时新增数", barThreadStatisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个帖子",
                    Url = SiteUrls.Instance().ManageThreads(tenantTypeId: tenantTypeId)
                });
            }
            return(applicationStatisticDatas);
        }
Пример #7
0
        /// <summary>
        /// 获取管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns></returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        microBlogManageableDatas  = MicroblogService.GetManageableDatas(tenantTypeId);

            if (microBlogManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().MicroblogPendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().MicroblogPendingCount(), "微博",
                                                                           "微博待审核数", microBlogManageableDatas[ApplicationStatisticDataKeys.Instance().MicroblogPendingCount()])
                {
                    DescriptionPattern = "{0}个微博待审核",
                    Url = SiteUrls.Instance().ManageMicroblogs(AuditStatus.Pending, tenantTypeId: tenantTypeId)
                });
            }
            if (microBlogManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().MicroblogAgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().MicroblogAgainCount(), "微博",
                                                                           "微博需再审核数", microBlogManageableDatas[ApplicationStatisticDataKeys.Instance().MicroblogAgainCount()])
                {
                    DescriptionPattern = "{0}个微博需再审核",
                    Url = SiteUrls.Instance().ManageMicroblogs(AuditStatus.Again, tenantTypeId: tenantTypeId)
                });
            }
            return(applicationStatisticDatas);
        }
Пример #8
0
        /// <summary>
        /// 获取统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns></returns>
        public IEnumerable <ApplicationStatisticData> GetStatisticDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        microBlogStatisticDatas   = MicroblogService.GetStatisticDatas(tenantTypeId);

            if (microBlogStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "微博",
                                                                           "微博总数", microBlogStatisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个微博",
                    Url = SiteUrls.Instance().ManageMicroblogs(tenantTypeId: tenantTypeId)
                });
            }
            if (microBlogStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "微博",
                                                                           "微博24小时新增数", microBlogStatisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个微博",
                    Url = SiteUrls.Instance().ManageMicroblogs(tenantTypeId: tenantTypeId)
                });
            }
            return(applicationStatisticDatas);
        }
Пример #9
0
        /// <summary>
        /// 获取商品统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型</param>
        /// <returns>返回应用统计数据</returns>
        public Dictionary <string, long> GetPointGiftApplicationStatisticData(string tenantTypeId)
        {
            string cacheKey = string.Format("GetPointGiftApplicationStatisticData-{0}", tenantTypeId);
            Dictionary <string, long> statisticData = cacheService.Get <Dictionary <string, long> >(cacheKey);

            if (statisticData != null)
            {
                return(statisticData);
            }

            statisticData = new Dictionary <string, long>();

            Sql sql = Sql.Builder
                      .Select("count(*)")
                      .From("spb_PointGifts");

            var dao = CreateDAO();

            dao.OpenSharedConnection();
            statisticData.Add(ApplicationStatisticDataKeys.Instance().TotalCount(), dao.FirstOrDefault <long>(sql));
            sql.Where("DateCreated > @0", DateTime.UtcNow.AddDays(-1));
            statisticData.Add(ApplicationStatisticDataKeys.Instance().Last24HCount(), dao.FirstOrDefault <long>(sql));
            dao.CloseSharedConnection();

            cacheService.Set(cacheKey, statisticData, CachingExpirationType.SingleObject);

            return(statisticData);
        }
Пример #10
0
        /// <summary>
        /// 获取日志管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns>日志管理数据</returns>
        public Dictionary <string, long> GetManageableDatas(string tenantTypeId = null)
        {
            Dictionary <string, long> manageableDatas = new Dictionary <string, long>();

            //查询待审核数
            Sql sql = Sql.Builder.Select("count(*)")
                      .From("spb_BlogThreads")
                      .Where("IsDraft=0")
                      .Where("AuditStatus=@0", AuditStatus.Pending);

            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                sql.Where("TenantTypeId=@0", tenantTypeId);
            }
            manageableDatas.Add(ApplicationStatisticDataKeys.Instance().PendingCount(), CreateDAO().FirstOrDefault <long>(sql));

            //查询需再审核数
            sql = Sql.Builder.Select("count(*)")
                  .From("spb_BlogThreads")
                  .Where("IsDraft=0")
                  .Where("AuditStatus=@0", AuditStatus.Again);
            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                sql.Where("TenantTypeId=@0", tenantTypeId);
            }
            manageableDatas.Add(ApplicationStatisticDataKeys.Instance().AgainCount(), CreateDAO().FirstOrDefault <long>(sql));

            return(manageableDatas);
        }
Пример #11
0
        /// <summary>
        /// 获取管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns></returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        barSectionManageableDatas = topicService.GetManageableDatas(tenantTypeId);

            if (barSectionManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TopicPendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TopicPendingCount(), "专题",
                                                                           "专题待审核数", barSectionManageableDatas[ApplicationStatisticDataKeys.Instance().TopicPendingCount()])
                {
                    DescriptionPattern = "{0}个专题待审核",
                    Url = SiteUrls.Instance().ManageTopics(auditStatus: AuditStatus.Pending)
                });
            }
            if (barSectionManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TopicAgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TopicAgainCount(), "专题",
                                                                           "专题需再审核数", barSectionManageableDatas[ApplicationStatisticDataKeys.Instance().TopicAgainCount()])
                {
                    DescriptionPattern = "{0}个专题需再审核",
                    Url = SiteUrls.Instance().ManageTopics(auditStatus: AuditStatus.Again)
                });
            }
            return(applicationStatisticDatas);
        }
Пример #12
0
        /// <summary>
        /// 获取回答应用统计数据
        /// </summary>
        /// <returns>回答统计数据</returns>
        public Dictionary <string, long> GetApplicationStatisticData()
        {
            StringBuilder cacheKey = new StringBuilder();

            cacheKey.Append("GetApplicationStatisticData::table-AskAnswer");
            ICacheService             cacheService  = DIContainer.Resolve <ICacheService>();
            Dictionary <string, long> statisticData = cacheService.Get <Dictionary <string, long> >(cacheKey.ToString());

            if (statisticData == null)
            {
                statisticData = new Dictionary <string, long>();

                //查询总数
                Sql sql = Sql.Builder.Select("count(*)")
                          .From("spb_AskAnswers");
                statisticData.Add(ApplicationStatisticDataKeys.Instance().TotalCount(), CreateDAO().FirstOrDefault <long>(sql));

                //查询24小时新增数
                sql = Sql.Builder.Select("count(*)")
                      .From("spb_AskAnswers")
                      .Where("DateCreated > @0", DateTime.UtcNow.AddDays(-1));
                statisticData.Add(ApplicationStatisticDataKeys.Instance().Last24HCount(), CreateDAO().FirstOrDefault <long>(sql));

                cacheService.Add(cacheKey.ToString(), statisticData, CachingExpirationType.UsualSingleObject);
            }

            return(statisticData);
        }
Пример #13
0
        /// <summary>
        /// 获取统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型id</param>
        /// <returns></returns>
        public Dictionary <string, long> GetManageableDatas(string tenantTypeId)
        {
            var dao = CreateDAO();
            Dictionary <string, long> manageableDatas = new Dictionary <string, long>();

            dao.OpenSharedConnection();
            Sql sql = Sql.Builder;

            sql.Select("count(*)")
            .From("spb_BarPosts")
            .Where("AuditStatus=@0", AuditStatus.Pending);
            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                sql.Where("TenantTypeId=@0", tenantTypeId);
            }
            manageableDatas.Add(ApplicationStatisticDataKeys.Instance().PostPendingCount(), dao.FirstOrDefault <long>(sql));
            sql = Sql.Builder;
            sql.Select("count(*)")
            .From("spb_BarPosts")
            .Where("AuditStatus=@0", AuditStatus.Again);
            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                sql.Where("TenantTypeId=@0", tenantTypeId);
            }

            manageableDatas.Add(ApplicationStatisticDataKeys.Instance().PostAgainCount(), dao.FirstOrDefault <long>(sql));
            dao.CloseSharedConnection();
            return(manageableDatas);
        }
        /// <summary>
        /// 获取问题统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>统计数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetStatisticDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        questionStatisticDatas    = askService.GetQuestionApplicationStatisticData(tenantTypeId);
            Dictionary <string, long>        answerStatisticDatas      = askService.GetAnswerApplicationStatisticData();

            #region 问题
            if (questionStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "问题",
                                                                           "问题总数", questionStatisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个问题",

                    Url = SiteUrls.Instance().AskQuestionControlPanelManage()
                });
            }
            if (questionStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "问题",
                                                                           "问题24小时新增数", questionStatisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个问题",
                    Url = SiteUrls.Instance().AskQuestionControlPanelManage()
                });
            }
            #endregion

            #region 回答
            if (answerStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "回答",
                                                                           "回答总数", answerStatisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个回答",
                    Url = SiteUrls.Instance().AskAnswerControlPanelManage()
                });
            }
            if (answerStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "回答",
                                                                           "回答24小时新增数", answerStatisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个回答",
                    Url = SiteUrls.Instance().AskAnswerControlPanelManage()
                });
            }
            #endregion

            return(applicationStatisticDatas);
        }
Пример #15
0
        /// <summary>
        /// 获取相册统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>统计数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetStatisticDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        albumStatisticDatas       = photoService.GetAlbumApplicationStatisticData(tenantTypeId);
            Dictionary <string, long>        photoStatisticDatas       = photoService.GetPhotoApplicationStatisticData();

            #region 相册
            if (albumStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "相册",
                                                                           "相册总数", albumStatisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个相册",
                    Url = SiteUrls.Instance().AlbumControlPanelManage()
                });
            }
            if (albumStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "相册",
                                                                           "相册24小时新增数", albumStatisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个相册",
                    Url = SiteUrls.Instance().AlbumControlPanelManage()
                });
            }
            #endregion

            #region 照片
            if (photoStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "照片",
                                                                           "照片总数", photoStatisticDatas[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个照片",
                    Url = SiteUrls.Instance().PhotoControlPanelManage()
                });
            }
            if (photoStatisticDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "照片",
                                                                           "照片24小时新增数", photoStatisticDatas[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个照片",
                    Url = SiteUrls.Instance().PhotoControlPanelManage()
                });
            }
            #endregion

            return(applicationStatisticDatas);
        }
Пример #16
0
        /// <summary>
        /// 获取相册管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>管理数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            List <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>       albumManageableDatas      = photoService.GetAlbumManageableData(tenantTypeId);
            Dictionary <string, long>       photoManageableDatas      = photoService.GetPhotoManageableData();

            #region 相册
            if (albumManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "相册",
                                                                           "相册待审核数", albumManageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个相册待审核",
                    Url = SiteUrls.Instance().AlbumControlPanelManage(auditStatus: AuditStatus.Pending)
                });
            }
            if (albumManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "相册",
                                                                           "相册需再审核数", albumManageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个相册需再审核",
                    Url = SiteUrls.Instance().AlbumControlPanelManage(auditStatus: AuditStatus.Again)
                });
            }
            #endregion

            #region 照片
            if (photoManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "照片",
                                                                           "照片待审核数", photoManageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个照片待审核",
                    Url = SiteUrls.Instance().PhotoControlPanelManage(auditStatus: AuditStatus.Pending)
                });
            }
            if (photoManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "照片",
                                                                           "照片需再审核数", photoManageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个照片需再审核",
                    Url = SiteUrls.Instance().PhotoControlPanelManage(auditStatus: AuditStatus.Again)
                });
            }
            #endregion

            return(applicationStatisticDatas);
        }
        /// <summary>
        /// 获取问题管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>管理数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            List <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>       questionManageableDatas   = askService.GetQuestionManageableData(tenantTypeId);
            Dictionary <string, long>       answerManageableDatas     = askService.GetAnswerManageableData();

            #region 问题
            if (questionManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "问题",
                                                                           "问题待审核数", questionManageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个问题待审核",
                    Url = SiteUrls.Instance().AskQuestionControlPanelManage(auditStatus: AuditStatus.Pending)
                });
            }
            if (questionManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "问题",
                                                                           "问题需再审核数", questionManageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个问题需再审核",
                    Url = SiteUrls.Instance().AskQuestionControlPanelManage(auditStatus: AuditStatus.Again)
                });
            }
            #endregion

            #region 回答
            if (answerManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "回答",
                                                                           "回答待审核数", answerManageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个回答待审核",
                    Url = SiteUrls.Instance().AskAnswerControlPanelManage(auditStatus: AuditStatus.Pending)
                });
            }
            if (answerManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "回答",
                                                                           "回答需再审核数", answerManageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个回答需再审核",
                    Url = SiteUrls.Instance().AskAnswerControlPanelManage(auditStatus: AuditStatus.Again)
                });
            }
            #endregion

            return(applicationStatisticDatas);
        }
        /// <summary>
        /// 获取管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>管理数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            List <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>       manageableDatas           = wikiService.GetManageableDatas(tenantTypeId);

            if (manageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "词条",
                                                                           "词条待审核数", manageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个词条待审核",
                    Url = SiteUrls.Instance().WikiPageControlPanelManage(auditStatus: AuditStatus.Pending)
                });
            }
            if (manageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "词条",
                                                                           "词条需再审核数", manageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个词条需再审核",
                    Url = SiteUrls.Instance().WikiPageControlPanelManage(auditStatus: AuditStatus.Again)
                });
            }

            //添加词条版本统计
            Dictionary <string, long> manageableDatasForWikiVersion = wikiService.GetManageableDatasForWikiVersion(tenantTypeId);

            if (manageableDatasForWikiVersion.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "词条版本",
                                                                           "词条版本待审核数", manageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个词条版本待审核",
                    Url = SiteUrls.Instance().ManageVersion(auditStatus: AuditStatus.Pending)
                });
            }

            if (manageableDatasForWikiVersion.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "词条版本",
                                                                           "词条版本再审核数", manageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个词条版本再审核",
                    Url = SiteUrls.Instance().ManageVersion(auditStatus: AuditStatus.Again)
                });
            }

            return(applicationStatisticDatas);
        }
Пример #19
0
        /// <summary>
        /// 获取商城管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>管理数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            List <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>       recordManageableData      = pointMallService.GetRecordManageableData();

            if (recordManageableData.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "积分商城",
                                                                           "申请待审批数", recordManageableData[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个兑换申请待批准",
                    Url = SiteUrls.Instance().ManageRecords(null, null, null, ApproveStatus.Pending)
                });
            }

            return(applicationStatisticDatas);
        }
Пример #20
0
        /// <summary>
        /// 照片管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型</param>
        /// <returns>返回照片管理数据</returns>
        public Dictionary <string, long> GetPhotoManageableData(string tenantTypeId)
        {
            string cacheKey = string.Format("GetPhotoManageableData::tenantTypeId-{0}", tenantTypeId);
            Dictionary <string, long> dic = cacheService.Get <Dictionary <string, long> >(cacheKey);

            if (dic != null)
            {
                return(dic);
            }

            dic = new Dictionary <string, long>();

            Sql sql = Sql.Builder
                      .Select("count(*)")
                      .From("spb_Photos");

            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                sql.Where("TenantTypeId = @0", tenantTypeId);
            }
            sql.Where("AuditStatus = @0", AuditStatus.Pending);

            var dao = CreateDAO();

            dao.OpenSharedConnection();
            dic.Add(ApplicationStatisticDataKeys.Instance().PendingCount(), dao.FirstOrDefault <long>(sql));

            sql = Sql.Builder
                  .Select("count(*)")
                  .From("spb_Photos");

            if (!string.IsNullOrEmpty(tenantTypeId))
            {
                sql.Where("TenantTypeId = @0", tenantTypeId);
            }

            sql.Where("AuditStatus = @0", AuditStatus.Again);

            dic.Add(ApplicationStatisticDataKeys.Instance().AgainCount(), dao.FirstOrDefault <long>(sql));
            dao.CloseSharedConnection();

            cacheService.Set(cacheKey, dic, CachingExpirationType.SingleObject);

            return(dic);
        }
Пример #21
0
        /// <summary>
        /// 获取回答管理数据
        /// </summary>
        /// <remarks>
        /// 无需缓存
        /// </remarks>
        /// <returns>回答管理数据</returns>
        public Dictionary <string, long> GetManageableData()
        {
            Dictionary <string, long> manageableData = new Dictionary <string, long>();

            //查询待审核数
            Sql sql = Sql.Builder.Select("count(*)")
                      .From("spb_AskAnswers")
                      .Where("AuditStatus=@0", AuditStatus.Pending);

            manageableData.Add(ApplicationStatisticDataKeys.Instance().PendingCount(), CreateDAO().FirstOrDefault <long>(sql));

            //查询需再审核数
            sql = Sql.Builder.Select("count(*)")
                  .From("spb_AskAnswers")
                  .Where("AuditStatus=@0", AuditStatus.Again);
            manageableData.Add(ApplicationStatisticDataKeys.Instance().AgainCount(), CreateDAO().FirstOrDefault <long>(sql));

            return(manageableData);
        }
        /// <summary>
        /// 获取申请管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型</param>
        /// <returns>返回申请管理数据</returns>
        public Dictionary <string, long> GetRecordManageableData(string tenantTypeId)
        {
            Dictionary <string, long> dic = new Dictionary <string, long>();

            Sql sql = Sql.Builder
                      .Select("count(*)")
                      .From("spb_PointGiftExchangeRecords");

            sql.Where("Status = @0", ApproveStatus.Pending);

            var dao = CreateDAO();

            dao.OpenSharedConnection();
            dic.Add(ApplicationStatisticDataKeys.Instance().PendingCount(), dao.FirstOrDefault <long>(sql));

            dao.CloseSharedConnection();

            return(dic);
        }
Пример #23
0
        /// <summary>
        /// 获取群组管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns></returns>
        public Dictionary <string, long> GetManageableDatas(string tenantTypeId = null)
        {
            var dao = CreateDAO();
            Dictionary <string, long> manageableDatas = new Dictionary <string, long>();

            Sql sql = Sql.Builder;

            sql.Select("count(*)")
            .From("spb_Groups")
            .Where("AuditStatus=@0", AuditStatus.Pending);

            manageableDatas.Add(ApplicationStatisticDataKeys.Instance().GroupPendingCount(), dao.FirstOrDefault <long>(sql));
            sql = Sql.Builder;
            sql.Select("count(*)")
            .From("spb_Groups")
            .Where("AuditStatus=@0", AuditStatus.Again);

            manageableDatas.Add(ApplicationStatisticDataKeys.Instance().GroupAgainCount(), dao.FirstOrDefault <long>(sql));

            return(manageableDatas);
        }
Пример #24
0
        /// <summary>
        /// 获取商城统计数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id</param>
        /// <returns>统计数据列表</returns>
        public IEnumerable <ApplicationStatisticData> GetStatisticDatas(string tenantTypeId = null)
        {
            IList <ApplicationStatisticData> applicationStatisticDatas      = new List <ApplicationStatisticData>();
            Dictionary <string, long>        recordApplicationStatisticData = pointMallService.GetRecordApplicationStatisticData();

            if (recordApplicationStatisticData.ContainsKey("TotalCountGifts"))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData("TotalCountGifts", "积分商城",
                                                                           "总商品数", recordApplicationStatisticData["TotalCountGifts"])
                {
                    DescriptionPattern = "总商品数:{0}",
                    Url = SiteUrls.Instance().ManageRecords()
                });
            }

            if (recordApplicationStatisticData.ContainsKey(ApplicationStatisticDataKeys.Instance().Last24HCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().Last24HCount(), "积分商城",
                                                                           "24小时新增申请数", recordApplicationStatisticData[ApplicationStatisticDataKeys.Instance().Last24HCount()])
                {
                    DescriptionPattern = "24小时新增{0}个申请",
                    Url = SiteUrls.Instance().ManageRecords()
                });
            }

            if (recordApplicationStatisticData.ContainsKey(ApplicationStatisticDataKeys.Instance().TotalCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().TotalCount(), "积分商城",
                                                                           "总申请数", recordApplicationStatisticData[ApplicationStatisticDataKeys.Instance().TotalCount()])
                {
                    DescriptionPattern = "共{0}个商品申请",

                    Url = SiteUrls.Instance().ManageRecords()
                });
            }

            return(applicationStatisticDatas);
        }
        public ActionResult Home()
        {
            //获得所有应用的应用名
            IEnumerable <ApplicationBase> applications = applicationService.GetAll();
            //初始化待处理应用数组
            List <ApplicationStatisticData> allManageableDatas = new List <ApplicationStatisticData>();
            //初始化数据统计项实体数组
            List <ApplicationStatisticItem> statisticItems = new List <ApplicationStatisticItem>();

            var authorizer         = DIContainer.Resolve <Authorizer>();
            var isApplicationAdmin = !UserContext.CurrentUser.IsInRoles(RoleNames.Instance().SuperAdministrator(), RoleNames.Instance().ContentAdministrator());

            //遍历应用名
            foreach (var application in applications)
            {
                if (isApplicationAdmin)
                {
                    if (!authorizer.IsAdministrator(application.ApplicationId))
                    {
                        continue;
                    }
                }
                //获取所有待处理数据实体
                IEnumerable <ApplicationStatisticData> manageableDatas = DIContainer.ResolveNamed <IApplicationStatisticDataGetter>(application.ApplicationKey).GetManageableDatas();
                //获取所有数据统计应用数据实体
                IEnumerable <ApplicationStatisticData> applicationStatisticDatas = DIContainer.ResolveNamed <IApplicationStatisticDataGetter>(application.ApplicationKey).GetStatisticDatas();
                //将所有待处理数据实体添加到未处理应用数组
                allManageableDatas.AddRange(manageableDatas);
                //遍历所有应用简称
                foreach (string shortName in applicationStatisticDatas.Select(n => n.ShortName))
                {
                    //如果数组中已存在该应用则继续
                    var item = statisticItems.Where(n => n.ShortName == shortName).FirstOrDefault();
                    if (statisticItems.Contains(item))
                    {
                        continue;
                    }
                    //获取该简称下的应用数组
                    IEnumerable <ApplicationStatisticData> datas = applicationStatisticDatas.Where(n => n.ShortName == shortName);
                    //获取该简称下的总数应用
                    ApplicationStatisticData applicationStatisticDataTotal = datas.Where(n => n.DataKey == ApplicationStatisticDataKeys.Instance().TotalCount()).FirstOrDefault();
                    //初始化总数
                    long totalCount = 0;
                    //初始化URL
                    string itemUrl = null;
                    //如果存在总数应用
                    if (applicationStatisticDataTotal != null)
                    {
                        //为数据统计项实体总数和url赋值
                        totalCount = applicationStatisticDataTotal.Value;
                        itemUrl    = applicationStatisticDataTotal.Url;
                    }
                    //获取该简称下的24小时新增数应用
                    var applicationStatisticDataLast24H = datas.Where(n => n.DataKey == ApplicationStatisticDataKeys.Instance().Last24HCount()).FirstOrDefault();
                    //初始化24小时新增数
                    long Last24H = 0;
                    //如果存在24小时新增数应用
                    if (applicationStatisticDataLast24H != null)
                    {
                        //为总数项实体24小时新增数赋值
                        Last24H = applicationStatisticDataLast24H.Value;
                    }
                    //实例化数据统计项实体
                    ApplicationStatisticItem appItem = new ApplicationStatisticItem(shortName, totalCount, Last24H);
                    appItem.Url = itemUrl;
                    //添加到数组
                    statisticItems.Add(appItem);
                }
            }
            //获取待处理事项实体数组
            ViewData["allManageableDatas"] = allManageableDatas;

            return(View(statisticItems));
        }
Пример #26
0
        /// <summary>
        /// 获取管理数据
        /// </summary>
        /// <param name="tenantTypeId">租户类型Id(可以获取该应用下针对某种租户类型的统计计数,默认不进行筛选)</param>
        /// <returns></returns>
        public IEnumerable <ApplicationStatisticData> GetManageableDatas(string tenantTypeId = null)
        {
            tenantTypeId = tenantTypeId ?? TenantTypeIds.Instance().Bar();
            IList <ApplicationStatisticData> applicationStatisticDatas = new List <ApplicationStatisticData>();
            Dictionary <string, long>        barSectionManageableDatas = barSectionService.GetManageableDatas(tenantTypeId);
            Dictionary <string, long>        barThreadManageableDatas  = barThreadService.GetManageableDatas(tenantTypeId);
            Dictionary <string, long>        barPostManageableDatas    = barPostService.GetManageableDatas(tenantTypeId);

            if (tenantTypeId == TenantTypeIds.Instance().Bar())
            {
                if (barSectionManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().SectionPendingCount()))
                {
                    applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().SectionPendingCount(), "帖吧",
                                                                               "帖吧待审核数", barSectionManageableDatas[ApplicationStatisticDataKeys.Instance().SectionPendingCount()])
                    {
                        DescriptionPattern = "{0}个帖吧待审核",
                        Url = SiteUrls.Instance().ManageBars(auditStatus: AuditStatus.Pending)
                    });
                }
                if (barSectionManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().SectionAgainCount()))
                {
                    applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().SectionAgainCount(), "帖吧",
                                                                               "帖吧需再审核数", barSectionManageableDatas[ApplicationStatisticDataKeys.Instance().SectionAgainCount()])
                    {
                        DescriptionPattern = "{0}个帖吧需再审核",
                        Url = SiteUrls.Instance().ManageBars(auditStatus: AuditStatus.Again)
                    });
                }
            }
            if (barThreadManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PendingCount(), "帖子",
                                                                           "帖子待审核数", barThreadManageableDatas[ApplicationStatisticDataKeys.Instance().PendingCount()])
                {
                    DescriptionPattern = "{0}个帖子待审核",
                    Url = SiteUrls.Instance().ManageThreads(AuditStatus.Pending, tenantTypeId)
                });
            }
            if (barThreadManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().AgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().AgainCount(), "帖子",
                                                                           "帖子需再审核数", barThreadManageableDatas[ApplicationStatisticDataKeys.Instance().AgainCount()])
                {
                    DescriptionPattern = "{0}个帖子需再审核",
                    Url = SiteUrls.Instance().ManageThreads(AuditStatus.Again, tenantTypeId)
                });
            }

            if (barPostManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PostPendingCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PostPendingCount(), "回帖",
                                                                           "回帖待审核数", barPostManageableDatas[ApplicationStatisticDataKeys.Instance().PostPendingCount()])
                {
                    DescriptionPattern = "{0}个回帖待审核",
                    Url = SiteUrls.Instance().ManagePosts(AuditStatus.Pending, tenantTypeId)
                });
            }
            if (barPostManageableDatas.ContainsKey(ApplicationStatisticDataKeys.Instance().PostAgainCount()))
            {
                applicationStatisticDatas.Add(new ApplicationStatisticData(ApplicationStatisticDataKeys.Instance().PostAgainCount(), "回帖",
                                                                           "回帖需再审核数", barPostManageableDatas[ApplicationStatisticDataKeys.Instance().PostAgainCount()])
                {
                    DescriptionPattern = "{0}个回帖需再审核",
                    Url = SiteUrls.Instance().ManagePosts(AuditStatus.Again, tenantTypeId)
                });
            }
            return(applicationStatisticDatas);
        }
Пример #27
0
 /// <summary>
 /// 微博需再审核数
 /// </summary>
 public static string MicroblogAgainCount(this ApplicationStatisticDataKeys applicationStatisticDataKeys)
 {
     return("MicroblogAgainCount");
 }
Пример #28
0
 /// <summary>
 /// 群组需再审核数
 /// </summary>
 public static string GroupAgainCount(this ApplicationStatisticDataKeys applicationStatisticDataKeys)
 {
     return("GroupAgainCount");
 }
 /// <summary>
 /// 专题需再审核数
 /// </summary>
 public static string TopicAgainCount(this ApplicationStatisticDataKeys applicationStatisticDataKeys)
 {
     return("TopicAgainCount");
 }
Пример #30
0
        public ActionResult Home()
        {
            pageResourceManager.InsertTitlePart("后台首页");

            //获得所有应用的应用名
            IEnumerable <ApplicationBase> applications = applicationService.GetAll();
            //初始化待处理应用数组
            List <ApplicationStatisticData> allManageableDatas = new List <ApplicationStatisticData>();
            //初始化数据统计项实体数组
            List <ApplicationStatisticItem> statisticItems = new List <ApplicationStatisticItem>();

            var isApplicationAdmin = !UserContext.CurrentUser.IsInRoles(RoleNames.Instance().SuperAdministrator(), RoleNames.Instance().ContentAdministrator());

            //遍历应用名
            foreach (var application in applications)
            {
                if (isApplicationAdmin)
                {
                    if (!authorizer.IsAdministrator(application.ApplicationId))
                    {
                        continue;
                    }
                }
                //获取所有待处理数据实体
                IEnumerable <ApplicationStatisticData> manageableDatas = DIContainer.ResolveNamed <IApplicationStatisticDataGetter>(application.ApplicationKey).GetManageableDatas();
                //获取所有数据统计应用数据实体
                IEnumerable <ApplicationStatisticData> applicationStatisticDatas = DIContainer.ResolveNamed <IApplicationStatisticDataGetter>(application.ApplicationKey).GetStatisticDatas();
                //将所有待处理数据实体添加到未处理应用数组
                allManageableDatas.AddRange(manageableDatas);
                //遍历所有应用简称
                foreach (string shortName in applicationStatisticDatas.Select(n => n.ShortName))
                {
                    //如果数组中已存在该应用则继续
                    var item = statisticItems.Where(n => n.ShortName == shortName).FirstOrDefault();
                    if (statisticItems.Contains(item))
                    {
                        continue;
                    }
                    //获取该简称下的应用数组
                    IEnumerable <ApplicationStatisticData> datas = applicationStatisticDatas.Where(n => n.ShortName == shortName);
                    //获取该简称下的总数应用
                    ApplicationStatisticData applicationStatisticDataTotal = datas.Where(n => n.DataKey == ApplicationStatisticDataKeys.Instance().TotalCount()).FirstOrDefault();
                    //初始化总数
                    long totalCount = 0;
                    //初始化URL
                    string itemUrl = null;
                    //如果存在总数应用
                    if (applicationStatisticDataTotal != null)
                    {
                        //为数据统计项实体总数和url赋值
                        totalCount = applicationStatisticDataTotal.Value;
                        itemUrl    = applicationStatisticDataTotal.Url;
                    }
                    //获取该简称下的24小时新增数应用
                    var applicationStatisticDataLast24H = datas.Where(n => n.DataKey == ApplicationStatisticDataKeys.Instance().Last24HCount()).FirstOrDefault();
                    //初始化24小时新增数
                    long Last24H = 0;
                    //如果存在24小时新增数应用
                    if (applicationStatisticDataLast24H != null)
                    {
                        //为总数项实体24小时新增数赋值
                        Last24H = applicationStatisticDataLast24H.Value;
                    }
                    //实例化数据统计项实体
                    ApplicationStatisticItem appItem = new ApplicationStatisticItem(shortName, totalCount, Last24H);
                    appItem.Url = itemUrl;
                    //添加到数组
                    statisticItems.Add(appItem);
                }
            }
            //获取待处理事项实体数组
            ViewData["allManageableDatas"] = allManageableDatas;

            //增加有多少个待审核评论
            PagingDataSet <Comment> comments = new CommentService().GetComments(PubliclyAuditStatus.Pending, null, null, null, null, 20, 1);

            ViewData["commentsCount"] = comments.TotalRecords;

            //多少未读客服消息
            ViewData["customMessageCount"] = new MessageService().GetUnreadCount((long)BuildinMessageUserId.CustomerService);

            //待处理用户举报
            ViewData["impeachCount"] = new ImpeachReportService().GetsForAdmin(false, null).TotalRecords;

            //待激活的用户
            var userManageableCounts = userService.GetManageableCounts(false, false, false);

            ViewData["activatedUserCount"] = userManageableCounts[UserManageableCountType.IsActivated];

            //24小时新增用户数
            ViewData["userCount24H"] = userManageableCounts[UserManageableCountType.IsLast24];

            //总用户数
            ViewData["userCount"] = userManageableCounts[UserManageableCountType.IsAll];

            //获取系统信息

            SystemInfo systemInfo = new SystemInfo();

            ViewData["systemInfo"] = systemInfo;
            return(View(statisticItems));
        }