lihao 4 년 전
부모
커밋
49447356ba

+ 5 - 0
gx_api/GxPress/Infrastructure/GxPress.Common/Page/PagedList.cs

@@ -51,5 +51,10 @@ namespace GxPress.Common.Page
         /// </summary>
         /// <value></value>
         public int DraftCount { get; set; }
+        /// <summary>
+        /// 父级ID
+        /// </summary>
+        /// <value></value>
+        public int ParentId { get; set; }
     }
 }

+ 6 - 2
gx_api/GxPress/Repository/GxPress.Repository.Implement/Collection/CollectionRepository.cs

@@ -104,7 +104,9 @@ namespace GxPress.Repository.Implement.Collection
             {
 
                 sql =
-                    $@"SELECT  a.*,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType=3 and DataSourceId=a.MiddleSonId) as EnjoyUser,(select count(1) from tede_middle where ParentId=a.Id) as FileCount, b.* FROM tede_middle a LEFT JOIN tede_collection b ON a.MiddleId = b.Id WHERE a.UserId = {request.VisitUserId} AND a.FolderType = 3 AND a.IsDelete = 0";
+                    $@"SELECT  a.*,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType=3 and DataSourceId=a.MiddleSonId) as EnjoyUser,(select count(1) from tede_middle 
+                    where ParentId=a.Id) as FileCount, b.* FROM tede_middle a 
+                    LEFT JOIN tede_collection b ON a.MiddleId = b.Id WHERE a.UserId = {request.VisitUserId} AND a.FolderType = 3 AND a.IsDelete = 0";
                 if (request.FolderId == 0)
                     sql += @" AND(a.RoleId = 1 OR a.RoleId = 3) AND a.ParentId = 0";
                 else
@@ -125,7 +127,9 @@ namespace GxPress.Repository.Implement.Collection
             else
             {
                 sql =
-                    $@"SELECT a.*,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType=3 and DataSourceId=a.MiddleSonId) as EnjoyUser,(select count(1) from tede_middle where ParentId=a.Id) as FileCount, b.* FROM tede_middle a LEFT JOIN tede_collection b ON a.MiddleId = b.Id WHERE a.UserId = {request.UserId} AND a.FolderType = 3 AND a.IsDelete = 0";
+                    $@"SELECT a.*,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType=3 and DataSourceId=a.MiddleSonId) as EnjoyUser,(select count(1) from tede_middle 
+                    where ParentId=a.Id) as FileCount, b.* FROM tede_middle a 
+                    LEFT JOIN tede_collection b ON a.MiddleId = b.Id WHERE a.UserId = {request.UserId} AND a.FolderType = 3 AND a.IsDelete = 0";
                 if (!string.IsNullOrEmpty(request.SearchKey) && request.FolderId > 0)
                 {
                     sql += $" AND a.ParentId={request.FolderId}";

+ 7 - 6
gx_api/GxPress/Repository/GxPress.Repository.Implement/MiddleRepository.cs

@@ -180,10 +180,11 @@ namespace GxPress.Repository.Implement
             var databaseType = _databaseTypeStr.ToEnum<DatabaseType>(DatabaseType.MySql);
             var database = new Database(databaseType, _connectionString);
             var connection = database.GetConnection();
-            return await _repository.UpdateAsync(Q.Set(nameof(Middle.IsTop), !middle.IsTop).Where(nameof(Middle.Id), id)) > 0;
-            // var isTop = middle.IsTop == true ? 0 : 1;
-            // var sql = $"update tede_middle set IsTop={isTop} where id={id}";
-            // return await connection.ExecuteAsync(sql) > 0;
+            if (middle.IsTop == false)
+                return await _repository.UpdateAsync(Q.Set(nameof(Middle.IsTop), true).Where(nameof(Middle.Id), id)) > 0;
+            var isTop = middle.IsTop == true ? 0 : 1;
+            var sql = $"update tede_middle set IsTop={isTop},LastModifiedDate='{middle.CreatedDate.ToString()}' where id={id}";
+            return await connection.ExecuteAsync(sql) > 0;
         }
 
         public async Task<bool> DeleteAsync(NoticeDeRequest request)
@@ -303,7 +304,7 @@ namespace GxPress.Repository.Implement
         /// <param name="id"></param>
         /// <param name="ids"></param>
         /// <returns></returns>
-        public async Task<IEnumerable<int>> GetAllMiddleChildrenByParentIdAsync(List<int> ids,List<int> returnIds)
+        public async Task<IEnumerable<int>> GetAllMiddleChildrenByParentIdAsync(List<int> ids, List<int> returnIds)
         {
             var middles = await _repository.GetAllAsync(Q.WhereIn(nameof(Entity.Middle.Middle.Id), ids));
             if (middles == null || middles.Count == 0)
@@ -316,7 +317,7 @@ namespace GxPress.Repository.Implement
                 returnIds.AddRange(middles.Select(n => n.Id).ToList());
                 foreach (var middle in middles)
                 {
-                    await GetAllMiddleChildrenByParentIdAsync(new List<int>{middle.Id},returnIds);
+                    await GetAllMiddleChildrenByParentIdAsync(new List<int> { middle.Id }, returnIds);
                 }
             }
             return returnIds;

+ 2 - 0
gx_api/GxPress/Service/GxPress.Service.Implement/Collection/CollectionService.cs

@@ -312,10 +312,12 @@ namespace GxPress.Service.Implement.Collection
         public async Task<PagedList<CollectionListPageResult>> PageListAsync(CollectionPageSearchRequest request)
         {
             var result = await _collectionRepository.PageListAsync(request);
+
             if (request.FolderId > 0)
             {
                 var middle = await _middleRepository.GetMiddleAsync(request.FolderId);
                 result.RoleId = middle != null ? middle.RoleId : 0;
+                result.ParentId = middle.ParentId;
             }
             //是否收藏和转发数量
             if (request.VisitUserId > 0)