lihao 4 years ago
parent
commit
7381b350a4

+ 17 - 24
gx_api/GxPress/Service/GxPress.Service.Implement/OftenContact/OftenContactService.Get.cs

@@ -22,44 +22,37 @@ namespace GxPress.Service.Implement.OftenContact
             //获取文件夹数据
             var result = new List<OftenContactInfo>();
             var data = await _repository.GetContactInfosAsync(request);
-
-            for (int i = 0; i < data.Count; i++)
+            foreach (var item in data)
             {
-                if (data[i].ChatType == 1)
+                if (item.ChatType == 1)
                 {
-                    var user = await _userRepository.GetAsync(int.Parse(data[i].ContactUserId));
+                    var user = await _userRepository.GetAsync(int.Parse(item.ContactUserId));
                     if (user == null)
-                    {
-                        data.Remove(data[i]);
                         continue;
-                    }
-                    data[i].Name = user.Name;
-                    data[i].AvatarUrl = StringUtils.AddDomainMin(user.AvatarUrl);
-                    data[i].ImId = user.ImId;
-                    data[i].ToUserId = user.Id;
+                    item.Name = user.Name;
+                    item.AvatarUrl = StringUtils.AddDomainMin(user.AvatarUrl);
+                    item.ImId = user.ImId;
+                    item.ToUserId = user.Id;
                 }
-
-                else if (data[i].ChatType == 2)
+                else if (item.ChatType == 2)
                 {
                     var groupChat = await _groupChatRepository.GetAsync(Q.Where(nameof(Entity.GroupChat.GroupChatImId),
-                        data[i].ContactUserId));
+                        item.ContactUserId));
                     if (groupChat == null)
-                    {
-                        data.Remove(data[i]);
                         continue;
-                    }
-                    data[i].Name = groupChat.Name;
-                    data[i].AvatarUrl = StringUtils.AddDomainMin(groupChat.AvatarUrl);
-                    data[i].ImId = groupChat.GroupChatImId;
+                    item.Name = groupChat.Name;
+                    item.AvatarUrl = StringUtils.AddDomainMin(groupChat.AvatarUrl);
+                    item.ImId = groupChat.GroupChatImId;
                     var groupChatUserIsDisturbRequest = new GroupChatUserIsDisturbRequest();
                     groupChatUserIsDisturbRequest.GroupChatId = groupChat.Id;
-                    groupChatUserIsDisturbRequest.UserId = data[i].UserId;
-                    data[i].IsDisturb = await groupChatUserRepository.IsDisturbAsync(groupChatUserIsDisturbRequest);
+                    groupChatUserIsDisturbRequest.UserId = item.UserId;
+                    item.IsDisturb = await groupChatUserRepository.IsDisturbAsync(groupChatUserIsDisturbRequest);
                 }
                 else
-                    data.Remove(data[i]);
+                if (item.AttributeValue != GxPress.EnumConst.AttributeValueConst.Folder.GetHashCode())
+                    continue;
+                result.Add(item);
             }
-            result = data.ToList();
             return result;
         }
         /// <summary>