This commit is contained in:
youngq 2024-09-23 18:51:50 +08:00
parent e36fd1d1df
commit 5aaea0e252
1 changed files with 15 additions and 4 deletions

View File

@ -209,14 +209,25 @@ namespace WGShare.API.Controllers.Frontend
var orderedRecord = userRecord.OrderBy(x => x.ts).ToList(); var orderedRecord = userRecord.OrderBy(x => x.ts).ToList();
// 获取第一次进入房间的事件记录 // 获取第一次进入房间的事件记录
var firstJoinTime = orderedRecord var firstJoinTimeRecord = orderedRecord
.FirstOrDefault(x => x.EventType == EventType.broadcaster_join_channel .FirstOrDefault(x => x.EventType == EventType.broadcaster_join_channel
|| x.EventType == EventType.audience_join_channel); || x.EventType == EventType.audience_join_channel);
string firstJoinTime = "暂无记录";
if (firstJoinTimeRecord != null)
{
firstJoinTime = DateTimeUtils.FromJavaScriptTimestampToLocal(firstJoinTimeRecord.ts).ToString("yyyy-MM-dd HH:mm:ss");
}
// 获取最后一次离开房间的事件记录 // 获取最后一次离开房间的事件记录
var lastLeaveTime = orderedRecord var lastLeaveTimeRecord = orderedRecord
.LastOrDefault(x => x.EventType == EventType.broadcaster_leave_channel .LastOrDefault(x => x.EventType == EventType.broadcaster_leave_channel
|| x.EventType == EventType.audience_leave_channel); || x.EventType == EventType.audience_leave_channel);
string lastLeaveTime = "暂无记录";
if (lastLeaveTimeRecord != null)
{
lastLeaveTime = DateTimeUtils.FromJavaScriptTimestampToLocal(lastLeaveTimeRecord.ts).ToString("yyyy-MM-dd HH:mm:ss");
}
// 计算入会次数 // 计算入会次数
var joinCount = orderedRecord.Count(x => x.EventType == EventType.broadcaster_join_channel var joinCount = orderedRecord.Count(x => x.EventType == EventType.broadcaster_join_channel
@ -228,8 +239,8 @@ namespace WGShare.API.Controllers.Frontend
value.Users.Add(new UserBehavior value.Users.Add(new UserBehavior
{ {
Account = userRecord.FirstOrDefault().UserAccount, Account = userRecord.FirstOrDefault().UserAccount,
FirstJoinTime = DateTimeUtils.FromJavaScriptTimestampToLocal(firstJoinTime.ts).ToString("yyyy-MM-dd HH:mm:ss"), FirstJoinTime = firstJoinTime,
LastExitTime = DateTimeUtils.FromJavaScriptTimestampToLocal(lastLeaveTime.ts).ToString("yyyy-MM-dd HH:mm:ss"), LastExitTime = lastLeaveTime,
JoinCount = joinCount, JoinCount = joinCount,
Role = userRecord.FirstOrDefault().RoleName, Role = userRecord.FirstOrDefault().RoleName,
UserName = userRecord.FirstOrDefault().userName, UserName = userRecord.FirstOrDefault().userName,