123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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;
- }
- /// <summary>
- /// 平台运营数据
- /// </summary>
- /// <returns></returns>
- public async Task<PlatformOperationDataResult> 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<PlatformOperationDataResult>(sql);
- return result;
- }
- /// <summary>
- /// 用户总数增长趋势
- /// </summary>
- /// <returns></returns>
- public async Task<UserIncreaseResult> GetUserIncreaseResult()
- {
- var result = new UserIncreaseResult();
- return result;
- }
- }
- }
|