Merge branch 'refs/heads/abp' into digital-collectibles

This commit is contained in:
橙子
2024-11-02 15:48:40 +08:00
2 changed files with 18 additions and 14 deletions

View File

@@ -16,7 +16,7 @@ namespace Yi.Framework.Bbs.Application.Services.Integral
/// <summary> /// <summary>
/// 大转盘 /// 大转盘
/// Todo: 可放入领域层 /// Todo: 可放入领域层,但是太简单了,不重要
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Authorize] [Authorize]
@@ -32,13 +32,7 @@ namespace Yi.Framework.Bbs.Application.Services.Integral
int[] values = new int[10] { 0, 10, 30, 50, 60, 80, 90, 100, 200, 666 }; int[] values = new int[10] { 0, 10, 30, 50, 60, 80, 90, 100, 200, 666 };
var index = GetWheelIndex(); var index = GetWheelIndex();
var value = values[index] - 50; var value = values[index] - 50;
////不存在负数钱钱
//if (value < 0)
//{
// value = 0;
//}
//修改钱钱,如果钱钱不足,直接会丢出去,那本次抽奖将无效 //修改钱钱,如果钱钱不足,直接会丢出去,那本次抽奖将无效
await _localEventBus.PublishAsync(new MoneyChangeEventArgs { UserId = CurrentUser.Id!.Value, Number = value }, false); await _localEventBus.PublishAsync(new MoneyChangeEventArgs { UserId = CurrentUser.Id!.Value, Number = value }, false);
@@ -47,7 +41,7 @@ namespace Yi.Framework.Bbs.Application.Services.Integral
private int GetWheelIndex() private int GetWheelIndex()
{ {
int[] probabilities = { 30, 40, 30, 15, 15, 10, 4, 3, 2, 1 }; int[] probabilities = {5 , 30, 40, 30, 20, 10, 4, 3, 2, 1 };
int total = 0; int total = 0;
foreach (var prob in probabilities) foreach (var prob in probabilities)

View File

@@ -25,14 +25,17 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
} }
public async Task HandleEventAsync(BbsNoticeEventArgs eventData) public async Task HandleEventAsync(BbsNoticeEventArgs eventData)
{ {
//离线存储
var entity= await _repository.InsertReturnEntityAsync(new BbsNoticeAggregateRoot(eventData.NoticeType, eventData.Message, eventData.AcceptUserId));
switch (eventData.NoticeType) //是否需要离线存储
bool isStore = true;
var now = DateTime.Now;
switch (eventData.NoticeType)
{ {
case Shared.Enums.NoticeTypeEnum.Personal: case Shared.Enums.NoticeTypeEnum.Personal:
if (BbsNoticeHub.HubUserModels.TryGetValue(eventData.AcceptUserId.ToString(), out var hubUserModel)) if (BbsNoticeHub.HubUserModels.TryGetValue(eventData.AcceptUserId.ToString(), out var hubUserModel))
{ {
_hubContext.Clients.Client(hubUserModel.ConnnectionId).SendAsync(NoticeTypeEnum.Personal.ToString(), eventData.Message,entity.CreationTime); _hubContext.Clients.Client(hubUserModel.ConnnectionId).SendAsync(NoticeTypeEnum.Personal.ToString(), eventData.Message,now);
} }
break; break;
case Shared.Enums.NoticeTypeEnum.Broadcast: case Shared.Enums.NoticeTypeEnum.Broadcast:
@@ -42,13 +45,20 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
case Shared.Enums.NoticeTypeEnum.Money: case Shared.Enums.NoticeTypeEnum.Money:
if (BbsNoticeHub.HubUserModels.TryGetValue(eventData.AcceptUserId.ToString(), out var hubUserModel2)) if (BbsNoticeHub.HubUserModels.TryGetValue(eventData.AcceptUserId.ToString(), out var hubUserModel2))
{ {
_hubContext.Clients.Client(hubUserModel2.ConnnectionId).SendAsync(NoticeTypeEnum.Money.ToString(), eventData.Message,entity.CreationTime); _hubContext.Clients.Client(hubUserModel2.ConnnectionId).SendAsync(NoticeTypeEnum.Money.ToString(), eventData.Message,now);
} }
isStore = false;
break; break;
default: default:
break; break;
} }
if (isStore)
{ //离线存储
var entity= await _repository.InsertReturnEntityAsync(new BbsNoticeAggregateRoot(eventData.NoticeType, eventData.Message, eventData.AcceptUserId){CreationTime = now});
}
} }
} }
} }