From 695989969db07ecc5fd0a66c2c8e1dc375e0ab7f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Wed, 22 May 2024 22:16:44 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dbbs=E7=82=B9=E8=B5=9E?=
=?UTF-8?q?=E6=95=B0=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Enums/NoticeTypeEnum.cs | 23 +++++++++
.../Etos/BbsNoticeEventArgs.cs | 34 +++++++++++++
.../Entities/BbsNoticeAggregateRoot.cs | 50 +++++++++++++------
.../EventHandlers/AgreeChangedEventHandler.cs | 2 +-
.../BbsNoticeCreatedEventHandler.cs | 16 ++++++
5 files changed, 110 insertions(+), 15 deletions(-)
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/NoticeTypeEnum.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Etos/BbsNoticeEventArgs.cs
create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeCreatedEventHandler.cs
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
new file mode 100644
index 00000000..9177846d
--- /dev/null
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/NoticeTypeEnum.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yi.Framework.Bbs.Domain.Shared.Enums
+{
+ ///
+ /// 消息类型
+ ///
+ public enum NoticeTypeEnum
+ {
+ ///
+ /// 个人
+ ///
+ Personal,
+ ///
+ /// 广播
+ ///
+ Broadcast,
+ }
+}
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
new file mode 100644
index 00000000..2823e8b7
--- /dev/null
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Etos/BbsNoticeEventArgs.cs
@@ -0,0 +1,34 @@
+using Yi.Framework.Bbs.Domain.Shared.Enums;
+
+namespace Yi.Framework.Bbs.Domain.Shared.Etos
+{
+ public class BbsNoticeEventArgs
+ {
+ ///
+ /// 发送个人消息
+ ///
+ ///
+ ///
+ public BbsNoticeEventArgs(Guid acceptUserId, string message)
+ {
+ NoticeType = NoticeTypeEnum.Personal;
+ AcceptUserId = acceptUserId;
+ Message = message;
+ }
+
+ ///
+ /// 发送广播
+ ///
+ ///
+ public BbsNoticeEventArgs(string message)
+ {
+ NoticeType = NoticeTypeEnum.Broadcast;
+ Message = message;
+ }
+ public NoticeTypeEnum NoticeType { get; private set; }
+
+ public string Message { get; private set; }
+
+ public Guid? AcceptUserId { get; private set; }
+ }
+}
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/BbsNoticeAggregateRoot.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/BbsNoticeAggregateRoot.cs
index 5ed3dd53..a1d276cf 100644
--- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/BbsNoticeAggregateRoot.cs
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/BbsNoticeAggregateRoot.cs
@@ -1,32 +1,54 @@
-namespace Yi.Framework.Bbs.Domain.Entities
+using SqlSugar;
+using Volo.Abp.Auditing;
+using Volo.Abp.Domain.Entities;
+using Yi.Framework.Bbs.Domain.Shared.Enums;
+
+namespace Yi.Framework.Bbs.Domain.Entities
{
- public class BbsNoticeAggregateRoot
+ [SugarTable("BbsNotice")]
+ public class BbsNoticeAggregateRoot : AggregateRoot, IHasCreationTime
{
- public Guid AcceptUserId { get; set; }
+ public BbsNoticeAggregateRoot(NoticeTypeEnum noticeType, string message, Guid? acceptUserId = null)
+ {
+ this.NoticeType = noticeType;
+ this.Message = message;
+ this.AcceptUserId = acceptUserId;
+
+ }
+ ///
+ /// 设置已读
+ ///
+ public void SetRead()
+ {
+ IsRead = true;
+ this.ReadTime = DateTime.Now;
+ }
+
+
+ public Guid? AcceptUserId { get; }
///
- /// 消息
+ /// 消息,支持html
///
public string Message { get; set; }
- public MessageTypeEnum MessageType { get; set; }
+ ///
+ /// 消息类型
+ ///
+ public NoticeTypeEnum NoticeType { get; }
///
/// 是否已读
///
- public bool IsRead { get; set; }
+ public bool IsRead { get; private set; }
///
/// 已读时间
///
- public DateTime? ReadTime { get; set; }
+ public DateTime? ReadTime { get; private set; }
+
+ public DateTime CreationTime { get; }
}
- ///
- /// 消息类型
- ///
- public enum MessageTypeEnum
- {
-
- }
+
}
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/AgreeChangedEventHandler.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/AgreeChangedEventHandler.cs
index aaeae641..3a56a6ef 100644
--- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/AgreeChangedEventHandler.cs
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/AgreeChangedEventHandler.cs
@@ -28,7 +28,7 @@ namespace Yi.Framework.Bbs.Domain.EventHandlers
//给创建者发布数量+1
await _userRepository._Db.Updateable()
- .SetColumns(it => it.DiscussNumber == it.DiscussNumber + 1)
+ .SetColumns(it => it.AgreeNumber == it.AgreeNumber + 1)
.Where(it => it.UserId == userId)
.ExecuteCommandAsync();
}
diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeCreatedEventHandler.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeCreatedEventHandler.cs
new file mode 100644
index 00000000..a8ce92e5
--- /dev/null
+++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/EventHandlers/BbsNoticeCreatedEventHandler.cs
@@ -0,0 +1,16 @@
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Domain.Entities.Events;
+using Volo.Abp.EventBus;
+using Yi.Framework.Bbs.Domain.Entities;
+
+namespace Yi.Framework.Bbs.Domain.EventHandlers
+{
+ public class BbsNoticeCreatedEventHandler : ILocalEventHandler>,
+ ITransientDependency
+ {
+ public Task HandleEventAsync(EntityCreatedEventData eventData)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}