lihao 4 years ago
parent
commit
c732e8ba68

+ 2 - 0
gx_api/GxPress/Model/GxPress.Entity/Notice.cs

@@ -95,5 +95,7 @@ namespace GxPress.Entity
         /// <value></value>
         /// <value></value>
         [DataColumn]
         [DataColumn]
         public bool IsRecall { get; set; }
         public bool IsRecall { get; set; }
+
+        
     }
     }
 }
 }

+ 6 - 0
gx_api/GxPress/Model/GxPress.Entity/User.cs

@@ -250,5 +250,11 @@ namespace GxPress.Entity
         /// <value></value>
         /// <value></value>
         [DataColumn]
         [DataColumn]
         public string HistoryAvatarUrl { get; set; }
         public string HistoryAvatarUrl { get; set; }
+        /// <summary>
+        /// 是否删除
+        /// </summary>
+        /// <value></value>
+        [DataColumn]
+        public bool IsDelete { get; set; }
     }
     }
 }
 }

+ 1 - 1
gx_api/GxPress/Model/GxPress.Request/Notice/NoticeInRequest.cs

@@ -5,7 +5,7 @@ using GxPress.EnumConst;
 namespace GxPress.Request.Notice
 namespace GxPress.Request.Notice
 {
 {
     /// <summary>
     /// <summary>
-    /// 添加通知
+    /// 添加收件箱
     /// </summary>
     /// </summary>
     public class NoticeInRequest
     public class NoticeInRequest
     {
     {

+ 10 - 2
gx_api/GxPress/Repository/GxPress.Repository.Implement/NoticeRepository.cs

@@ -573,7 +573,12 @@ namespace GxPress.Repository.Implement
             foreach (var item in items)
             foreach (var item in items)
             {
             {
                 if (item.AttributeValue == 3)
                 if (item.AttributeValue == 3)
-                    item.UReadCount = await _adminVerifyRepository.CountAsync(Q.Where(nameof(Entity.AdminVerify.AdminId), request.UserId).Where(nameof(Entity.AdminVerify.DisposeType), AdminVerifyTypeConst.UDispose.GetHashCode()));
+                {
+                    var query = Q.NewQuery();
+                    query.Where(nameof(Entity.AdminVerify.AdminId), request.UserId);
+                    query.Where(nameof(Entity.AdminVerify.DisposeType), AdminVerifyTypeConst.UDispose.GetHashCode());
+                    item.UReadCount = await _adminVerifyRepository.CountAsync(query);
+                }
             }
             }
             PagedList<NoticeListPageResult> result = new PagedList<NoticeListPageResult>
             PagedList<NoticeListPageResult> result = new PagedList<NoticeListPageResult>
             {
             {
@@ -608,7 +613,10 @@ namespace GxPress.Repository.Implement
         /// <returns></returns>
         /// <returns></returns>
         public async Task<List<JobNoticeResult>> ElasticSearchNotice()
         public async Task<List<JobNoticeResult>> ElasticSearchNotice()
         {
         {
-            var sql = "select a.Id,a.UserId,a.GuId,a.CreatedDate,b.Id,b.Title,b.Content,b.CreatedDate,c.Name,c.AvatarUrl from tede_middle a inner join tede_notice b on a.MiddleId=b.Id inner join tede_user c on c.Id=b.UserId where a.FolderType=1  and a.IsUpload=0 order by a.CreatedDate desc limit 0,100";
+            var sql = @"select a.Id,a.UserId,a.GuId,a.CreatedDate,b.Id,b.Title,b.Content,b.CreatedDate,c.Name,c.AvatarUrl from tede_middle a 
+                       inner join tede_notice b on a.MiddleId=b.Id 
+                       inner join tede_user c on c.Id=b.UserId 
+                       where a.FolderType=1  and a.IsUpload=0 order by a.CreatedDate desc limit 0,100";
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var database = new Database(databaseType, _connectionString);
             var database = new Database(databaseType, _connectionString);
             var connection = database.GetConnection();
             var connection = database.GetConnection();

+ 36 - 31
gx_api/GxPress/Repository/GxPress.Repository.Implement/UserRepository.cs

@@ -73,7 +73,7 @@ namespace GxPress.Repository.Implement
         /// <returns></returns>
         /// <returns></returns>
         public async Task<IEnumerable<User>> UserListInsAsync(List<int> ids)
         public async Task<IEnumerable<User>> UserListInsAsync(List<int> ids)
         {
         {
-            return await _repository.GetAllAsync(Q.WhereIn(nameof(User.Id), ids));
+            return await _repository.GetAllAsync(Q.WhereIn(nameof(User.Id), ids).Where(nameof(User.IsDelete), false));
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -83,14 +83,14 @@ namespace GxPress.Repository.Implement
         /// <returns></returns>
         /// <returns></returns>
         public async Task<IEnumerable<UserInfoResult>> UserByNameAsync(string name)
         public async Task<IEnumerable<UserInfoResult>> UserByNameAsync(string name)
         {
         {
-            var result = await _repository.GetAllAsync(Q.WhereLike(nameof(User.Name), $"%{name}%"));
+            var result = await _repository.GetAllAsync(Q.WhereLike(nameof(User.Name), $"%{name}%").Where(nameof(User.IsDelete), false));
             foreach (var item in result)
             foreach (var item in result)
                 item.AvatarUrl = StringUtils.AddDomainMin(item.AvatarUrl);
                 item.AvatarUrl = StringUtils.AddDomainMin(item.AvatarUrl);
             return result.Select(n => _mapper.Map<UserInfoResult>(n));
             return result.Select(n => _mapper.Map<UserInfoResult>(n));
         }
         }
         public async Task<UserDetail> GetDetailAsync(int id)
         public async Task<UserDetail> GetDetailAsync(int id)
         {
         {
-            var user = await _repository.GetAsync(id);
+            var user = await GetAsync(id);
             user.QRCoder = StringUtils.AddDomain(user.QRCoder);
             user.QRCoder = StringUtils.AddDomain(user.QRCoder);
             user.AvatarUrl = StringUtils.AddDomainMin(user.AvatarUrl);
             user.AvatarUrl = StringUtils.AddDomainMin(user.AvatarUrl);
             if (!string.IsNullOrEmpty(user.HistoryAvatarUrl))
             if (!string.IsNullOrEmpty(user.HistoryAvatarUrl))
@@ -106,21 +106,21 @@ namespace GxPress.Repository.Implement
 
 
         public async Task<int> GetUserCount(string beginTime, string endTime)
         public async Task<int> GetUserCount(string beginTime, string endTime)
         {
         {
-            return await _repository.CountAsync(Q.WhereDate(nameof(User.CreatedDate), ">=", beginTime).WhereDate(nameof(User.CreatedDate), "<=", endTime));
+            return await _repository.CountAsync(Q.WhereDate(nameof(User.CreatedDate), ">=", beginTime).WhereDate(nameof(User.CreatedDate), "<=", endTime).Where(nameof(User.IsDelete), false));
         }
         }
         public async Task<User> GetAsync(int id)
         public async Task<User> GetAsync(int id)
         {
         {
-            var user = await _repository.GetAsync(id);
+            var user = await _repository.GetAsync(Q.Where(nameof(User.Id), id).Where(nameof(User.IsDelete), false));
             return user;
             return user;
         }
         }
         public async Task<UserInfoResult> GetUserInfoAsync(int id)
         public async Task<UserInfoResult> GetUserInfoAsync(int id)
         {
         {
-            var user = await _repository.GetAsync<UserInfoResult>(Q.Where(nameof(User.Id), id));
+            var user = await _repository.GetAsync<UserInfoResult>(Q.Where(nameof(User.Id), id).Where(nameof(User.IsDelete), false));
             return user;
             return user;
         }
         }
         public async Task<User> GetAsync(SqlKata.Query query)
         public async Task<User> GetAsync(SqlKata.Query query)
         {
         {
-            var user = await _repository.GetAsync(query);
+            var user = await _repository.GetAsync(query.Where(nameof(User.IsDelete), false));
             return user;
             return user;
         }
         }
         public async Task<string> GetNameAsync(int id)
         public async Task<string> GetNameAsync(int id)
@@ -129,7 +129,7 @@ namespace GxPress.Repository.Implement
 
 
             return await _repository.GetAsync<string>(Q
             return await _repository.GetAsync<string>(Q
                 .Select(nameof(User.Name))
                 .Select(nameof(User.Name))
-                .Where(nameof(User.Id), id)
+                .Where(nameof(User.Id), id).Where(nameof(User.IsDelete), false)
             );
             );
         }
         }
 
 
@@ -139,7 +139,7 @@ namespace GxPress.Repository.Implement
 
 
             var avatarUrl = await _repository.GetAsync<string>(Q
             var avatarUrl = await _repository.GetAsync<string>(Q
                 .Select(nameof(User.AvatarUrl))
                 .Select(nameof(User.AvatarUrl))
-                .Where(nameof(User.Id), id)
+                .Where(nameof(User.Id), id).Where(nameof(User.IsDelete), false)
             );
             );
             return StringUtils.AddDomainMin(avatarUrl);
             return StringUtils.AddDomainMin(avatarUrl);
         }
         }
@@ -153,7 +153,7 @@ namespace GxPress.Repository.Implement
 
 
         public async Task<User> GetByPhoneAsync(string phone)
         public async Task<User> GetByPhoneAsync(string phone)
         {
         {
-            return await _repository.GetAsync(Q.Where(nameof(User.Phone), phone));
+            return await _repository.GetAsync(Q.Where(nameof(User.Phone), phone).Where(nameof(User.IsDelete), false));
         }
         }
         /// <summary>
         /// <summary>
         /// openId微信认证
         /// openId微信认证
@@ -162,7 +162,7 @@ namespace GxPress.Repository.Implement
         /// /// <returns></returns> 
         /// /// <returns></returns> 
         public async Task<User> GetByOpenIdAsync(string openId)
         public async Task<User> GetByOpenIdAsync(string openId)
         {
         {
-            return await _repository.GetAsync(Q.Where(nameof(User.OpenId), openId));
+            return await _repository.GetAsync(Q.Where(nameof(User.OpenId), openId).Where(nameof(User.IsDelete), false));
         }
         }
         /// <summary>
         /// <summary>
         /// 绑定微信
         /// 绑定微信
@@ -185,7 +185,7 @@ namespace GxPress.Repository.Implement
         }
         }
         public async Task<bool> DeleteUsersAsync(IEnumerable<int> userIds)
         public async Task<bool> DeleteUsersAsync(IEnumerable<int> userIds)
         {
         {
-            return await _repository.DeleteAsync(Q.WhereIn(nameof(User.Id), userIds)) > 0;
+            return await _repository.UpdateAsync(Q.WhereIn(nameof(User.Id), userIds).Set(nameof(User.IsDelete), true)) > 0;
         }
         }
 
 
         public async Task<bool> ChangeRoleAsync(IEnumerable<int> userIds, int roleId)
         public async Task<bool> ChangeRoleAsync(IEnumerable<int> userIds, int roleId)
@@ -235,7 +235,7 @@ namespace GxPress.Repository.Implement
                 );
                 );
             }
             }
 
 
-            return await _repository.CountAsync(query);
+            return await _repository.CountAsync(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -271,7 +271,7 @@ namespace GxPress.Repository.Implement
                 );
                 );
             }
             }
 
 
-            return await _repository.GetAllAsync(query);
+            return await _repository.GetAllAsync(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         public async Task<IEnumerable<User>> GetListAsync(int departmentId, int roleId, string keyword)
         public async Task<IEnumerable<User>> GetListAsync(int departmentId, int roleId, string keyword)
@@ -296,7 +296,7 @@ namespace GxPress.Repository.Implement
                 );
                 );
             }
             }
 
 
-            return await _repository.GetAllAsync(query);
+            return await _repository.GetAllAsync(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -381,7 +381,7 @@ namespace GxPress.Repository.Implement
         /// <returns></returns>
         /// <returns></returns>
         public async Task<bool> DeleteAsync(List<int> ids)
         public async Task<bool> DeleteAsync(List<int> ids)
         {
         {
-            return await _repository.DeleteAsync(Q.WhereIn(nameof(User.Id), ids)) > 0;
+            return await _repository.UpdateAsync(Q.WhereIn(nameof(User.Id), ids).Set(nameof(User.IsDelete), true)) > 0;
         }
         }
         /// <summary>
         /// <summary>
         /// 更新用户信息
         /// 更新用户信息
@@ -667,7 +667,7 @@ namespace GxPress.Repository.Implement
         public async Task<IEnumerable<User>> GetUserByDepartmentIdAsync(int departmentId)
         public async Task<IEnumerable<User>> GetUserByDepartmentIdAsync(int departmentId)
         {
         {
             var userIds = await departmentUserRepository.GetUserIdsByDepartmentIdsAsync(new List<int>() { departmentId });
             var userIds = await departmentUserRepository.GetUserIdsByDepartmentIdsAsync(new List<int>() { departmentId });
-            return await _repository.GetAllAsync(Q.WhereIn(nameof(User.Id), userIds));
+            return await _repository.GetAllAsync(Q.WhereIn(nameof(User.Id), userIds).Where(nameof(User.IsDelete), false));
         }
         }
 
 
         public async Task<IEnumerable<int>> GetUserIdListByDepartmentIdAsync(int departmentId)
         public async Task<IEnumerable<int>> GetUserIdListByDepartmentIdAsync(int departmentId)
@@ -682,7 +682,7 @@ namespace GxPress.Repository.Implement
         {
         {
             return await _repository.GetAllAsync<int>(Q
             return await _repository.GetAllAsync<int>(Q
                 .Select(nameof(User.Id))
                 .Select(nameof(User.Id))
-                .Where(nameof(User.RoleId), roleId)
+                .Where(nameof(User.RoleId), roleId).Where(nameof(User.IsDelete), false)
             );
             );
         }
         }
 
 
@@ -749,9 +749,11 @@ namespace GxPress.Repository.Implement
                     notInUserIds += ")";
                     notInUserIds += ")";
                 }
                 }
             }
             }
-            var sql = $"select * from tede_user  where  (Name like '%{request.Key}%' or Phone like '%{request.Key}%' or Email like '%{request.Key}%') {notInUserIds}";
+            var sql = $"select * from tede_user  where 1=1 and IsDelete=0  (Name like '%{request.Key}%' or Phone like '%{request.Key}%' or Email like '%{request.Key}%') {notInUserIds}";
             if (request.SearchType == 2 && !string.IsNullOrWhiteSpace(request.Key) && request.DepartmentId > 0)
             if (request.SearchType == 2 && !string.IsNullOrWhiteSpace(request.Key) && request.DepartmentId > 0)
-                sql = $"select a.* from tede_user a inner join tede_address_book_group_user c on a.Id=c.UserId where c.AddressBookGroupId={request.DepartmentId} and (a.Name like '%{request.Key}%' or a.Phone like '%{request.Key}%' or a.Email like '%{request.Key}%') {notInUserIds}";
+                sql = $@"select a.* from tede_user a inner join tede_address_book_group_user c on a.Id=c.UserId 
+                where 1=1 and a.IsDelete=0 and c.AddressBookGroupId={request.DepartmentId} 
+                and (a.Name like '%{request.Key}%' or a.Phone like '%{request.Key}%' or a.Email like '%{request.Key}%') {notInUserIds}";
             if (request.SearchType == 1 && !string.IsNullOrWhiteSpace(request.Key) && request.DepartmentId > 0)
             if (request.SearchType == 1 && !string.IsNullOrWhiteSpace(request.Key) && request.DepartmentId > 0)
             {
             {
                 //递归获取部门Id
                 //递归获取部门Id
@@ -761,7 +763,7 @@ namespace GxPress.Repository.Implement
                     departmentValue += $"{item.Id},";
                     departmentValue += $"{item.Id},";
                 departmentValue = departmentValue.Remove(departmentValue.Length - 1, 1);
                 departmentValue = departmentValue.Remove(departmentValue.Length - 1, 1);
                 departmentValue += ")";
                 departmentValue += ")";
-                sql = $"select * from tede_user where DepartmentId in {departmentValue} and (Name like '%{request.Key}%' or Phone like '%{request.Key}%' or Email like '%{request.Key}%') {notInUserIds}";
+                sql = $"select * from tede_user where 1=1 and IsDelete=0 and DepartmentId in {departmentValue} and (Name like '%{request.Key}%' or Phone like '%{request.Key}%' or Email like '%{request.Key}%') {notInUserIds}";
             }
             }
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var database = new Database(databaseType, _connectionString);
             var database = new Database(databaseType, _connectionString);
@@ -816,7 +818,7 @@ namespace GxPress.Repository.Implement
         /// <returns></returns>
         /// <returns></returns>
         public async Task<IEnumerable<User>> FindAllUserAsync(SqlKata.Query query)
         public async Task<IEnumerable<User>> FindAllUserAsync(SqlKata.Query query)
         {
         {
-            return await _repository.GetAllAsync(query);
+            return await _repository.GetAllAsync(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -834,17 +836,17 @@ namespace GxPress.Repository.Implement
 
 
         public async Task<int> CountAsync(Query query)
         public async Task<int> CountAsync(Query query)
         {
         {
-            return await _repository.CountAsync(query);
+            return await _repository.CountAsync(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         public async Task<IEnumerable<User>> GetAllAsync(Query query)
         public async Task<IEnumerable<User>> GetAllAsync(Query query)
         {
         {
-            return await _repository.GetAllAsync(query);
+            return await _repository.GetAllAsync(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         public async Task<IEnumerable<int>> GetAllIntsAsync(Query query)
         public async Task<IEnumerable<int>> GetAllIntsAsync(Query query)
         {
         {
-            return await _repository.GetAllAsync<int>(query);
+            return await _repository.GetAllAsync<int>(query.Where(nameof(User.IsDelete), false));
         }
         }
 
 
         public Task<IEnumerable<User>> FindAllUserAsync()
         public Task<IEnumerable<User>> FindAllUserAsync()
@@ -862,7 +864,9 @@ namespace GxPress.Repository.Implement
             var noticeConstValue = AllTypeConst.Notice.GetHashCode();
             var noticeConstValue = AllTypeConst.Notice.GetHashCode();
             var missiveConstValue = AllTypeConst.Missive.GetHashCode();
             var missiveConstValue = AllTypeConst.Missive.GetHashCode();
             var anonymityConstValue = AllTypeConst.Anonymity.GetHashCode();
             var anonymityConstValue = AllTypeConst.Anonymity.GetHashCode();
-            string sql = $"select count(1) from tede_middle where FolderType={AllTypeConst.Inbox.GetHashCode()} and UserId={userId} and IsDelete=0 and MiddleId in (select SourceId from tede_addressee where UserId={userId} and IsRead=0 and IsDelete=0 and SourceType in({noticeConstValue},{missiveConstValue},{anonymityConstValue}))";
+            string sql = $@"select count(1) from tede_middle where FolderType={AllTypeConst.Inbox.GetHashCode()} 
+            and UserId={userId} and IsDelete=0 and 
+            MiddleId in (select SourceId from tede_addressee where UserId={userId} and IsRead=0 and IsDelete=0 and SourceType in({noticeConstValue},{missiveConstValue},{anonymityConstValue}))";
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var database = new Database(databaseType, _connectionString);
             var database = new Database(databaseType, _connectionString);
             var connection = database.GetConnection();
             var connection = database.GetConnection();
@@ -894,7 +898,7 @@ namespace GxPress.Repository.Implement
                 strSql = strSql.Remove(strSql.Length - 1, 1);
                 strSql = strSql.Remove(strSql.Length - 1, 1);
                 strSql += ")";
                 strSql += ")";
             }
             }
-            string sql = $" select * from tede_user where Id in( SELECT UserId FROM tede_flow_todo where FlowId={flowId} and Type='{type}' {strSql})";
+            string sql = $" select * from tede_user where 1=1 and IsDelete=0 and Id in( SELECT UserId FROM tede_flow_todo where FlowId={flowId} and Type='{type}' {strSql})";
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var database = new Database(databaseType, _connectionString);
             var database = new Database(databaseType, _connectionString);
             var connection = database.GetConnection();
             var connection = database.GetConnection();
@@ -906,7 +910,7 @@ namespace GxPress.Repository.Implement
 
 
         public async Task<List<JobUserResult>> ElasticSearchUser()
         public async Task<List<JobUserResult>> ElasticSearchUser()
         {
         {
-            var sql = "select * from tede_user where IsUpload=0 limit 0,100";
+            var sql = "select * from tede_user where IsUpload=0  limit 0,100";
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var database = new Database(databaseType, _connectionString);
             var database = new Database(databaseType, _connectionString);
             var connection = database.GetConnection();
             var connection = database.GetConnection();
@@ -944,6 +948,7 @@ namespace GxPress.Repository.Implement
         {
         {
             var result = new PagedList<UserDetail>();
             var result = new PagedList<UserDetail>();
             var query = Q.NewQuery();
             var query = Q.NewQuery();
+            query.Where(nameof(User.IsDelete), false);
             if (!string.IsNullOrEmpty(request.KeyWord))
             if (!string.IsNullOrEmpty(request.KeyWord))
                 query.WhereLike(nameof(User.Name), $"%{request.KeyWord}%");
                 query.WhereLike(nameof(User.Name), $"%{request.KeyWord}%");
             if (request.VipPort > 0)
             if (request.VipPort > 0)
@@ -986,7 +991,7 @@ namespace GxPress.Repository.Implement
             foreach (var item in userIds)
             foreach (var item in userIds)
                 sqlStr += $"{item},";
                 sqlStr += $"{item},";
             sqlStr = sqlStr.Remove(sqlStr.Length - 1, 1);
             sqlStr = sqlStr.Remove(sqlStr.Length - 1, 1);
-            var sql = $@"select * from tede_user where id in({sqlStr})";
+            var sql = $@"select * from tede_user where 1=1 and IsDelete=0 and id in({sqlStr})";
             if (!string.IsNullOrEmpty(keyWord))
             if (!string.IsNullOrEmpty(keyWord))
                 sql += $@" and (Name like '%{keyWord}%' or phone like '%{keyWord}%' or Email like '%{keyWord}%')";
                 sql += $@" and (Name like '%{keyWord}%' or phone like '%{keyWord}%' or Email like '%{keyWord}%')";
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
             var databaseType = StringUtils.ToEnum<DatabaseType>(_databaseTypeStr, DatabaseType.MySql);
@@ -1010,7 +1015,7 @@ namespace GxPress.Repository.Implement
             foreach (var item in userIds)
             foreach (var item in userIds)
                 sqlStr += $"{item},";
                 sqlStr += $"{item},";
             sqlStr = !string.IsNullOrEmpty(sqlStr) ? sqlStr.Remove(sqlStr.Length - 1, 1) : "";
             sqlStr = !string.IsNullOrEmpty(sqlStr) ? sqlStr.Remove(sqlStr.Length - 1, 1) : "";
-            var sql = $@"select * from tede_user where 1=1 ";
+            var sql = $@"select * from tede_user where 1=1 and IsDelete=0 ";
             if (!string.IsNullOrEmpty(sqlStr))
             if (!string.IsNullOrEmpty(sqlStr))
                 sql += $@" and id not in({sqlStr})";
                 sql += $@" and id not in({sqlStr})";
             if (!string.IsNullOrEmpty(keyword))
             if (!string.IsNullOrEmpty(keyword))
@@ -1037,7 +1042,7 @@ namespace GxPress.Repository.Implement
             foreach (var item in userIds)
             foreach (var item in userIds)
                 sqlStr += $"{item},";
                 sqlStr += $"{item},";
             sqlStr = string.IsNullOrEmpty(sqlStr) ? "" : sqlStr.Remove(sqlStr.Length - 1, 1);
             sqlStr = string.IsNullOrEmpty(sqlStr) ? "" : sqlStr.Remove(sqlStr.Length - 1, 1);
-            var sql = $@"select * from tede_user where 1=1 ";
+            var sql = $@"select * from tede_user where 1=1 and IsDelete=0 ";
             if (!string.IsNullOrEmpty(sqlStr))
             if (!string.IsNullOrEmpty(sqlStr))
                 sql += $@" and id in({sqlStr})";
                 sql += $@" and id in({sqlStr})";
             if (!string.IsNullOrEmpty(keyword))
             if (!string.IsNullOrEmpty(keyword))

+ 8 - 1
gx_api/GxPress/Service/GxPress.Service.Implement/Note/NoteService.cs

@@ -58,7 +58,14 @@ namespace GxPress.Service.Implement.Note
             IMiddleRepository middleRepository, IMapper mapper, IUserRepository userRepository,
             IMiddleRepository middleRepository, IMapper mapper, IUserRepository userRepository,
             IArticleRepository articleRepository, INoticeRepository noticeRepository,
             IArticleRepository articleRepository, INoticeRepository noticeRepository,
             IMissiveRepository missiveRepository, ITopicRepository topicRepository, IGroupRepository groupRepository,
             IMissiveRepository missiveRepository, ITopicRepository topicRepository, IGroupRepository groupRepository,
-            ICollectionRepository collectionRepository, ICommentRepository commentRepository, IVisitRepository visitRepository, IVisitService visitService, IFolderUserRepository folderUserRepository, IAnalyzeService analyzeService, IUserMiddleService userMiddleService, IRecordFolderRepository recordFolderRepository, IMediaRepository mediaRepository)
+            ICollectionRepository collectionRepository, ICommentRepository commentRepository, 
+            IVisitRepository visitRepository, 
+            IVisitService visitService, 
+            IFolderUserRepository folderUserRepository, 
+            IAnalyzeService analyzeService, 
+            IUserMiddleService userMiddleService, 
+            IRecordFolderRepository recordFolderRepository, 
+            IMediaRepository mediaRepository)
         {
         {
             _middleService = middleService;
             _middleService = middleService;
             _noteRepository = noteRepository;
             _noteRepository = noteRepository;