From b5fa8581a9b4d6a3529cf4b85ac647c7f97a79f0 Mon Sep 17 00:00:00 2001 From: wzh425 Date: Tue, 18 Jun 2024 16:41:48 +0800 Subject: [PATCH] refactor: MessageReceiverUser GetEqualityValues (#571) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: Optimize SMS sending * fix:Receivers Variables Lost * refactor: MessageReceiverUser GetEqualityValues --- .../Domain/MessageTasks/Aggregates/MessageReceiverUser.cs | 6 ++++++ .../Provider/Auth/AuthChannelUserFinder.cs | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Services/Masa.Mc.Service/Domain/MessageTasks/Aggregates/MessageReceiverUser.cs b/src/Services/Masa.Mc.Service/Domain/MessageTasks/Aggregates/MessageReceiverUser.cs index 86ec7459..2591bbfe 100644 --- a/src/Services/Masa.Mc.Service/Domain/MessageTasks/Aggregates/MessageReceiverUser.cs +++ b/src/Services/Masa.Mc.Service/Domain/MessageTasks/Aggregates/MessageReceiverUser.cs @@ -15,6 +15,12 @@ protected override IEnumerable GetEqualityValues() { yield return UserId; yield return ChannelUserIdentity; + + foreach (var variable in Variables.OrderBy(x => x.Key)) + { + yield return variable.Key; + yield return variable.Value?.ToString() ?? string.Empty; + } } private MessageReceiverUser() { } diff --git a/src/Services/Masa.Mc.Service/Infrastructure/ChannelUserFinder/Provider/Auth/AuthChannelUserFinder.cs b/src/Services/Masa.Mc.Service/Infrastructure/ChannelUserFinder/Provider/Auth/AuthChannelUserFinder.cs index e98f073d..b3a483d6 100644 --- a/src/Services/Masa.Mc.Service/Infrastructure/ChannelUserFinder/Provider/Auth/AuthChannelUserFinder.cs +++ b/src/Services/Masa.Mc.Service/Infrastructure/ChannelUserFinder/Provider/Auth/AuthChannelUserFinder.cs @@ -35,8 +35,7 @@ public async Task> GetReceiverUsersAsync(AppCha var groupReceivers = await TransformGroupReceiversAsync(channel, variables, receivers.Where(x => x.Type == MessageTaskReceiverTypes.Group)); receiverUsers.AddRange(groupReceivers); - return receiverUsers.DistinctBy(x => new { x.UserId, x.ChannelUserIdentity }); - + return receiverUsers.Distinct(); } public async Task> TransformUserReceivers(AppChannel Channel, ExtraPropertyDictionary variables, IEnumerable receivers)