From 8d9c5bb76260fa6ede1e795ad22fb90c95da2f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Sat, 2 Nov 2024 15:28:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bbs=E5=AE=8C=E5=96=84=E9=92=B1=E9=92=B1?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Enums/NoticeTypeEnum.cs | 5 ++++ .../Etos/BbsNoticeEventArgs.cs | 7 ++++++ .../BbsNoticeSendEventHandler.cs | 7 ++++++ .../EventHandlers/MoneyChangeEventHandler.cs | 9 ++++++- Yi.Bbs.Vue3/src/hubs/bbsNoticeHub.js | 8 +++++++ Yi.Bbs.Vue3/src/stores/user.js | 24 ++++--------------- 6 files changed, 40 insertions(+), 20 deletions(-) diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/NoticeTypeEnum.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/NoticeTypeEnum.cs index 9177846d..2178ea56 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/NoticeTypeEnum.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/NoticeTypeEnum.cs @@ -19,5 +19,10 @@ namespace Yi.Framework.Bbs.Domain.Shared.Enums /// 广播 /// Broadcast, + + /// + /// 钱钱 + /// + Money } } diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Etos/BbsNoticeEventArgs.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Etos/BbsNoticeEventArgs.cs index 2823e8b7..4b7cd979 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Etos/BbsNoticeEventArgs.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Etos/BbsNoticeEventArgs.cs @@ -16,6 +16,13 @@ namespace Yi.Framework.Bbs.Domain.Shared.Etos Message = message; } + public BbsNoticeEventArgs( NoticeTypeEnum noticeType, Guid acceptUserId, string message) + { + NoticeType = noticeType; + AcceptUserId = acceptUserId; + Message = message; + } + /// /// 发送广播 /// diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeSendEventHandler.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeSendEventHandler.cs index 6336e260..02be64d9 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeSendEventHandler.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeSendEventHandler.cs @@ -38,6 +38,13 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers case Shared.Enums.NoticeTypeEnum.Broadcast: _hubContext.Clients.All.SendAsync(NoticeTypeEnum.Broadcast.ToString(), eventData.Message); break; + + case Shared.Enums.NoticeTypeEnum.Money: + if (BbsNoticeHub.HubUserModels.TryGetValue(eventData.AcceptUserId.ToString(), out var hubUserModel2)) + { + _hubContext.Clients.Client(hubUserModel2.ConnnectionId).SendAsync(NoticeTypeEnum.Personal.ToString(), eventData.Message,entity.CreationTime); + } + break; default: break; } diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/MoneyChangeEventHandler.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/MoneyChangeEventHandler.cs index 53482f01..805178c5 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/MoneyChangeEventHandler.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/MoneyChangeEventHandler.cs @@ -1,8 +1,10 @@ using Volo.Abp; using Volo.Abp.DependencyInjection; using Volo.Abp.EventBus; +using Volo.Abp.EventBus.Local; using Yi.Framework.Bbs.Domain.Entities; using Yi.Framework.Bbs.Domain.Shared.Consts; +using Yi.Framework.Bbs.Domain.Shared.Enums; using Yi.Framework.Bbs.Domain.Shared.Etos; using Yi.Framework.SqlSugarCore.Abstractions; @@ -11,9 +13,11 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers public class MoneyChangeEventHandler : ILocalEventHandler, ITransientDependency { private ISqlSugarRepository _userInfoRepository; - public MoneyChangeEventHandler(ISqlSugarRepository userInfoRepository) + private ILocalEventBus _localEventBus; + public MoneyChangeEventHandler(ISqlSugarRepository userInfoRepository, ILocalEventBus localEventBus) { _userInfoRepository = userInfoRepository; + _localEventBus = localEventBus; } public async Task HandleEventAsync(MoneyChangeEventArgs eventData) { @@ -28,6 +32,9 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers await _userInfoRepository._Db.Updateable() .SetColumns(it => it.Money == it.Money + eventData.Number) .Where(x => x.UserId == eventData.UserId).ExecuteCommandAsync(); + + + await _localEventBus.PublishAsync(new BbsNoticeEventArgs(NoticeTypeEnum.Money, eventData.UserId,eventData.Number.ToString()), false); } } } diff --git a/Yi.Bbs.Vue3/src/hubs/bbsNoticeHub.js b/Yi.Bbs.Vue3/src/hubs/bbsNoticeHub.js index f266a69b..4b3a3ec5 100644 --- a/Yi.Bbs.Vue3/src/hubs/bbsNoticeHub.js +++ b/Yi.Bbs.Vue3/src/hubs/bbsNoticeHub.js @@ -1,5 +1,6 @@ import signalR from "@/utils/signalR"; import useNoticeStore from "@/stores/notice"; +import useUserStore from "@/stores/user"; import { dayjs } from 'element-plus' const receiveMsg=(connection)=> { @@ -11,6 +12,13 @@ const receiveMsg=(connection)=> { creationTime }); }); + + + const userStore=useUserStore(); + connection.on("Money", (message,creationTime) => { + const updateMoneyNumber=Number(message) + userStore.updateMoney(updateMoneyNumber) + }); }; export default ()=>{ diff --git a/Yi.Bbs.Vue3/src/stores/user.js b/Yi.Bbs.Vue3/src/stores/user.js index f286f974..ca51ba69 100644 --- a/Yi.Bbs.Vue3/src/stores/user.js +++ b/Yi.Bbs.Vue3/src/stores/user.js @@ -122,23 +122,6 @@ const useUserStore = defineStore("user", { }); }); }, - //找回密码 - retrievePassword(userInfo) - { - const password = userInfo.password.trim(); - const phone = userInfo.phone; - const uuid = userInfo.uuid; - const code = userInfo.code; - return new Promise((resolve, reject) => { - retrievePassword(password, phone, code, uuid) - .then((response) => { - resolve(response); - }) - .catch((error) => { - reject(error); - }); - }); - }, // 重置用户信息 resetInfo() { this.roles = []; @@ -153,9 +136,12 @@ const useUserStore = defineStore("user", { this.codeImageURL = "data:image/jpg;base64," + data.img; this.codeUUid = data.uuid; }, - updateToken(token) - { + updateToken(token) { this.token = token; + }, + //更新钱钱 + updateMoney(updateMoneyNumber){ + this.money=this.money+updateMoneyNumber } }, persist: {