using System; using System.Threading.Tasks; using Dapper; using Datory; using GxPress.Common.Tools; using GxPress.Repository.Interface; using GxPress.Result.DataCenter; using GxPress.Service.Interface.PlatformData; namespace GxPress.Service.Implement.PlatformData { public class PlatformDataService : IPlatformDataService { private readonly IUserRepository userRepository; public PlatformDataService(IUserRepository userRepository) { this.userRepository = userRepository; } /// /// 平台运营数据 /// /// public async Task GetPlatformDataAsync() { var newUserTime = DateTime.Now.ToString("yyyy-MM-dd"); var onlineUserTime = DateTime.Now.AddMinutes(-10).ToString("yyyy-MM-dd HH:mm:ss"); var activityUserTime = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd HH:mm:ss"); var sql = $@"SELECT (SELECT COUNT(1) FROM tede_user) AS SumUserCount, (SELECT COUNT(1) FROM tede_user WHERE CreatedDate > '{newUserTime}') AS NewUserCount, (SELECT COUNT(1) FROM tede_user WHERE LoginTime > '{onlineUserTime}') AS OnlineUserCount, (SELECT COUNT(1) FROM tede_user WHERE LoginTime > '{activityUserTime}') AS ActivityUserCount"; var connectionString = ConfigHelper.GetValue("Database:ConnectionString"); var database = new Database(DatabaseType.MySql, connectionString); var connection = database.GetConnection(); var result = await connection.QueryFirstAsync(sql); return result; } /// /// 用户总数增长趋势 /// /// public async Task GetUserIncreaseResult() { var result = new UserIncreaseResult(); return result; } } }