OL.FrameCore.Application/Home/HomeService.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using OL.FrameCore.Application.Home.Dto;
using OL.FrameCore.Domain.Entity;
using OL.FrameCore.Infrastructure.UnitOfWork;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace OL.FrameCore.Application.Home
{
    public class HomeService: IHomeService
    {
        IUnitOfWork _unitOfwork;
        public HomeService(IUnitOfWork unitOfwork)
        {
            _unitOfwork = unitOfwork;
        }

        /// <summary>
        /// 获取当前数据
        /// </summary>
        /// <returns></returns>
        public GetCurrentDataResponse GetCurrentData()
        {
            var repositoryArticle = _unitOfwork.GetRepository<AppArticle>();
            var repositoryUser = _unitOfwork.GetRepository<SysUser>();
            var data = new GetCurrentDataResponse
            {
                NewNum = repositoryArticle.TableNoTracking.Where(p => p.IsDelete == false && p.Type == 0).Count(),//新闻数
                NoticeNum = repositoryArticle.TableNoTracking.Where(p => p.IsDelete == false && p.Type == 1).Count(),//公告数
                UserNum = repositoryUser.TableNoTracking.Where(p => p.IsDelete == false).Count()//用户数
            };
            return data;
        }

        /// <summary>
        /// 获取登录统计
        /// </summary>
        /// <returns></returns>
        public IList<GetLoginStatisticsModel> GetLoginStatistics()
        {
            //构建每天登录数据sql,用UNION并成列表
            string sql = "";
            DateTime begin = DateTime.Now.Date.AddDays(-10);
            while (begin <= DateTime.Now.Date)
            {
                if (begin != DateTime.Now.Date.AddDays(-10))
                    sql += " UNION\n";
                sql += $" select '{begin.ToString("MM-dd")}' [Date],count(1) LoginNum from Sys_UserLoginLog where LoginTime>='{begin.ToString("yyyy-MM-dd")}' and LoginTime<'{begin.AddDays(1).ToString("yyyy-MM-dd")}'";
                begin = begin.AddDays(1);
            }
            var list = _unitOfwork.SqlQuery<GetLoginStatisticsModel>(sql);
            return list;
        }

        /// <summary>
        /// 获取用户分布
        /// </summary>
        /// <returns></returns>
        public GetUserDistributionResponse GetUserDistribution()
后面还有 33 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。