Explorar el Código

消息获取未读条数update

leiy hace 1 año
padre
commit
abd41edd88

+ 1 - 5
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -236,12 +236,9 @@ namespace OASystem.API.Controllers
 
             #endregion
 
-
-            string msgSql = $"Select COUNT(*) As UnreadCount From  Sys_MessageReadAuth Where IsRead = 0 And ReadableUId = {dto.UserId}";
-
             try
             {
-                var data = _sqlSugar.SqlQueryable<MessageUnreadTotalCountView>(msgSql).First();
+                var data = await _messageRep.GetUnReadCount(dto.UserId);
                 if (data != null)
                 {
                     return Ok(JsonView(true, "操作成功!", data));
@@ -251,7 +248,6 @@ namespace OASystem.API.Controllers
             }
             catch (Exception ex)
             {
-
                 return Ok(JsonView(false, ex.Message));
             }
 

+ 1 - 1
OASystem/OASystem.Domain/ViewModels/System/MessageView.cs

@@ -13,7 +13,7 @@ namespace OASystem.Domain.ViewModels.System
 
     public class MessageUnreadTotalCountView
     {
-        public int UnreadCount { get; set; }
+        public int UnreadCount { get; set; } = 0;
     }
 
     /// <summary>

+ 3 - 17
OASystem/OASystem.Infrastructure/Repositories/System/MessageRepository.cs

@@ -271,24 +271,10 @@ namespace OASystem.Infrastructure.Repositories.System
         public async Task<int> GetUnReadCount(int userId)
         {
             int _unReadCount = 0;
+            string msgSqlWhere = $"Select COUNT(*) As UnreadCount From  Sys_MessageReadAuth  smra Left Join Sys_Message sm On sm.Id = smra.MsgId Where IsRead = 0 And smra.IsDel = 0 And sm.IsDel = 0 And ReadableUId = {userId}";
+            var _readableMsg = _sqlSugar.SqlQueryable<MessageUnreadTotalCountView>(msgSqlWhere).First();
 
-
-            string msgSqlWhere = string.Format(@"Select sm.Id,sm.Type,sm.Title,sm.Content,sd.DepName issuerDep,su.CnName issuerUser, 
-                                                            sm.ReleaseTime,smra.Id AuthId,smra.ReadableUId,smra.IsRead,smra.ReadTime 
-                                                     From Sys_Message sm 
-                                                     Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
-                                                     Inner Join Sys_Users su On sm.IssuerId = su.Id
-                                                     Inner Join Sys_Department sd On su.DepId = sd.Id
-                                                     Inner Join Sys_Users suAuth On smra.ReadableUId = suAuth.Id
-                                                     Where sm.IsDel = 0
-                                                     And smra.IsDel = 0 
-                                                     And smra.ReadableUId = {0}
-                                                     Order By ReleaseTime Desc ", userId);
-            var _readableMsgList = await _sqlSugar.SqlQueryable<ReadbleMessageView1>(msgSqlWhere).ToListAsync();
-            if (_readableMsgList.Count > 0)
-            {
-                _unReadCount = _readableMsgList.Where(it => it.IsRead == 0).Count();
-            }
+            _unReadCount = _readableMsg.UnreadCount;
 
             return _unReadCount;
         }