From 961e3445ce919132aa4341562901dc3f771a303a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Thu, 4 Jan 2024 20:54:01 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=9C=A8=E7=BA=BF?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8F=8A=E6=B3=A8=E5=86=8C=E4=BA=BA=E6=95=B0?=
=?UTF-8?q?=E7=9A=84=E5=88=86=E6=9E=90=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dtos/BbsUser/BbsUserAnalyseGetOutput.cs | 22 ++++++++++++++
.../Analyses/BbsUserAnalyseService.cs | 29 ++++++++++++++-----
.../IServices/IOnlineService.cs | 6 +++-
.../Services/OnlineService.cs | 6 ++--
.../Model/OnlineUserModel.cs | 2 +-
.../SignalRHubs/OnlineUserHub.cs | 2 +-
6 files changed, 54 insertions(+), 13 deletions(-)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/BbsUser/BbsUserAnalyseGetOutput.cs
rename Yi.Abp.Net8/module/rbac/{Yi.Framework.Rbac.Domain/SignalRHubs => Yi.Framework.Rbac.Domain.Shared}/Model/OnlineUserModel.cs (94%)
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/BbsUser/BbsUserAnalyseGetOutput.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/BbsUser/BbsUserAnalyseGetOutput.cs
new file mode 100644
index 00000000..bba3a652
--- /dev/null
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/BbsUser/BbsUserAnalyseGetOutput.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser
+{
+ public class BbsUserAnalyseGetOutput
+ {
+ ///
+ /// 注册人数
+ ///
+ public long RegisterNumber { get; set; }
+
+
+ ///
+ /// 在线人数
+ ///
+ public long OnlineNumber { get; set; }
+ }
+}
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs
index 5c67f099..de463a0f 100644
--- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application/Services/Analyses/BbsUserAnalyseService.cs
@@ -1,25 +1,24 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Mapster;
+using Mapster;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Yi.Framework.Bbs.Application.Contracts.Dtos.BbsUser;
using Yi.Framework.Bbs.Domain.Managers;
+using Yi.Framework.Rbac.Application.Contracts.IServices;
using Yi.Framework.Rbac.Domain.Shared.Consts;
+using Yi.Framework.Rbac.Domain.Shared.Model;
namespace Yi.Framework.Bbs.Application.Services.Analyses
{
public class BbsUserAnalyseService : ApplicationService, IApplicationService
{
private BbsUserManager _bbsUserManager;
- public BbsUserAnalyseService(BbsUserManager bbsUserManager)
+ private IOnlineService _onlineService;
+ public BbsUserAnalyseService(BbsUserManager bbsUserManager, IOnlineService onlineService)
{
_bbsUserManager = bbsUserManager;
+ _onlineService= onlineService;
}
///
@@ -54,5 +53,21 @@ namespace Yi.Framework.Bbs.Application.Services.Analyses
return output.Adapt>();
}
+ ///
+ /// 用户分析
+ ///
+ ///
+ [HttpGet("analyse/bbs-user")]
+ public async Task GetUserAnalyseAsync()
+ {
+
+ var registerUser = await _bbsUserManager._userRepository._DbQueryable.CountAsync();
+
+ var userOnline =( await _onlineService.GetListAsync(new OnlineUserModel { })).TotalCount;
+ var output = new BbsUserAnalyseGetOutput() { OnlineNumber = userOnline, RegisterNumber = registerUser };
+
+ return output;
+ }
+
}
}
diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IOnlineService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IOnlineService.cs
index 3a0a0202..6023aa96 100644
--- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IOnlineService.cs
+++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IOnlineService.cs
@@ -1,6 +1,10 @@
-namespace Yi.Framework.Rbac.Application.Contracts.IServices
+using Volo.Abp.Application.Dtos;
+using Yi.Framework.Rbac.Domain.Shared.Model;
+
+namespace Yi.Framework.Rbac.Application.Contracts.IServices
{
public interface IOnlineService
{
+ Task< PagedResultDto> GetListAsync(OnlineUserModel online);
}
}
diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/OnlineService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/OnlineService.cs
index 3432470a..24208774 100644
--- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/OnlineService.cs
+++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/OnlineService.cs
@@ -4,8 +4,8 @@ using Microsoft.Extensions.Logging;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Yi.Framework.Rbac.Application.Contracts.IServices;
+using Yi.Framework.Rbac.Domain.Shared.Model;
using Yi.Framework.Rbac.Domain.SignalRHubs;
-using Yi.Framework.Rbac.Domain.SignalRHubs.Model;
namespace Yi.Framework.Rbac.Application.Services
{
@@ -24,7 +24,7 @@ namespace Yi.Framework.Rbac.Application.Services
///
///
///
- public PagedResultDto GetListAsync([FromQuery] OnlineUserModel online)
+ public Task> GetListAsync([FromQuery] OnlineUserModel online)
{
var data = OnlineUserHub.clientUsers;
IEnumerable dataWhere = data.AsEnumerable();
@@ -37,7 +37,7 @@ namespace Yi.Framework.Rbac.Application.Services
{
dataWhere = dataWhere.Where((u) => u.UserName!.Contains(online.UserName));
}
- return new PagedResultDto() { TotalCount = data.Count, Items = dataWhere.ToList() };
+ return Task.FromResult(new PagedResultDto() { TotalCount = data.Count, Items = dataWhere.ToList() }) ;
}
diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/Model/OnlineUserModel.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Model/OnlineUserModel.cs
similarity index 94%
rename from Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/Model/OnlineUserModel.cs
rename to Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Model/OnlineUserModel.cs
index 97158463..bd9958fd 100644
--- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/Model/OnlineUserModel.cs
+++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/Model/OnlineUserModel.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace Yi.Framework.Rbac.Domain.SignalRHubs.Model
+namespace Yi.Framework.Rbac.Domain.Shared.Model
{
public class OnlineUserModel
{
diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/OnlineUserHub.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/OnlineUserHub.cs
index 623b79a3..04771480 100644
--- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/OnlineUserHub.cs
+++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/SignalRHubs/OnlineUserHub.cs
@@ -4,7 +4,7 @@ using Microsoft.AspNetCore.SignalR;
using Microsoft.Extensions.Logging;
using Volo.Abp.AspNetCore.SignalR;
using Yi.Framework.Rbac.Domain.Entities;
-using Yi.Framework.Rbac.Domain.SignalRHubs.Model;
+using Yi.Framework.Rbac.Domain.Shared.Model;
namespace Yi.Framework.Rbac.Domain.SignalRHubs
{