李昊 4 yıl önce
ebeveyn
işleme
50636fe9a8

+ 4 - 0
gx_api/GxPress/Model/GxPress.Result/App/Note/NotePageListRequest.cs

@@ -122,5 +122,9 @@ namespace GxPress.Result.App.Note
         /// </summary>
         /// <value></value>
         public MediaNoteResult MediaNoteResult { get; set; }
+
+        public int FolderId { get; set; }
+        public int FolderName { get; set; }
+
     }
 }

+ 97 - 82
gx_api/GxPress/Repository/GxPress.Repository.Implement/Note/NoteRepository.cs

@@ -85,22 +85,7 @@ namespace GxPress.Repository.Implement.Note
             var connection = database.GetConnection();
             var result =
                 await connection
-                    .QueryAsync<NotePageListRequest, Entity.Note.Note, User, Department, NotePageListRequest>(GetCollectionSql(request),
-                        (notePageListRequest, note, user, department) =>
-                        {
-                            notePageListRequest.Title = note == null ? "" : note.Title;
-                            notePageListRequest.Content = note == null ? "" : note.Content;
-                            notePageListRequest.MediaId = note == null ? 0 : note.MediaId;
-                            notePageListRequest.CatalogId = note == null ? "" : note.CatalogId;
-                            notePageListRequest.ChapterId = note == null ? "" : note.ChapterId;
-                            notePageListRequest.Name = user == null ? "" : user.Name;
-                            notePageListRequest.AvatarUrl = user == null ? "" : StringUtils.AddDomainMin(user.AvatarUrl);
-                            notePageListRequest.DepartmentName = department == null ? "" : department.Name;
-                            notePageListRequest.ReadCount = note == null ? 0 : note.ReadCount;
-                            notePageListRequest.NickName = user == null ? "" : user.Nick;
-                            return notePageListRequest;
-                        }, splitOn: "Title,Name,Name");
-
+                    .QueryAsync<NotePageListRequest>(GetCollectionSql(request));
             pagedList.Items = result;
             pagedList.Total = await NotePageListCountAsync(GetCollectionSqlCount(request));
             return pagedList;
@@ -118,7 +103,7 @@ namespace GxPress.Repository.Implement.Note
             if (request.VisitUserId > 0)
             {
                 sql =
-                    $@"SELECT a.*,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType={noteTypeId} and DataSourceId=a.MiddleSonId) as EnjoyUser,(SELECT 
+                    $@"SELECT a.Id,a.MiddleId,a.RoleId,a.ParentId,a.AttributeValue,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType={noteTypeId} and DataSourceId=a.MiddleSonId) as EnjoyUser,(SELECT 
                     COUNT(1)
                 FROM
                     tede_analyze
@@ -206,71 +191,101 @@ namespace GxPress.Repository.Implement.Note
             else
             {
                 sql =
-                    $@"SELECT  a.*,(SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType={noteTypeId} and DataSourceId=a.MiddleSonId) as EnjoyUser,(SELECT 
-            COUNT(1)
-        FROM
-            tede_analyze
-        WHERE
-            UserId = {request.UserId} AND TypeValue = {noteTypeId}
-                AND SourceId = a.MiddleId
-                AND AnalyzeType = 1) AS PraiseCount,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_analyze
-        WHERE
-            UserId = {request.UserId} AND TypeValue ={noteTypeId}
-                AND SourceId = a.MiddleId
-                AND AnalyzeType = 1
-        LIMIT 0 , 1) AS IsPraise,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_comment
-        WHERE
-            UserId = {request.UserId} AND ArticleId =  a.MiddleId
-                AND TypeValue = {noteTypeId}) AS CommentCount,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_analyze
-        WHERE
-            UserId = {request.UserId} AND TypeValue = {noteTypeId}
-                AND SourceId = a.MiddleId
-                AND AnalyzeType = 4) AS RetransmissionCount,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_analyze
-        WHERE
-            UserId = {request.UserId} AND TypeValue = {noteTypeId}
-                AND SourceId = a.MiddleId
-                AND AnalyzeType = 4
-        LIMIT 0 , 1) AS IsRetransmission,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_analyze
-        WHERE
-            UserId = {request.UserId} AND TypeValue ={noteTypeId}
-                AND SourceId = a.MiddleId
-                AND AnalyzeType = 3
-        LIMIT 0 , 1) AS IsCollect,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_analyze
-        WHERE
-            UserId = {request.UserId} AND TypeValue = {noteTypeId}
-                AND SourceId = a.MiddleId
-                AND AnalyzeType = 3) AS IsCollect,
-    (SELECT 
-            COUNT(1)
-        FROM
-            tede_middle
-        WHERE
-            ParentId = a.Id and IsDelete=0) FileCount, b.Title, b.Content,b.ReadCount,b.MediaId,b.CatalogId,
-    b.ChapterId,c.Name,c.AvatarUrl,d.Name FROM tede_middle a  LEFT JOIN tede_note b ON a.MiddleId = b.Id left join tede_user c on c.Id=b.UserId left join tede_department d on d.Id=c.DepartmentId WHERE a.UserId = {request.UserId} AND a.FolderType = {noteTypeId} AND a.IsDelete = 0 ";
+                    $@"SELECT  a.Id,a.MiddleId,a.RoleId,a.ParentId,a.AttributeValue,a.UserId,
+                      a.CreatedDate,a.IsTop,
+                    (SELECT GROUP_CONCAT(SourceName Separator'、') from tede_user_middle where MiddleType={noteTypeId} 
+                    and DataSourceId=a.MiddleSonId) as EnjoyUser,
+                    (SELECT 
+                            COUNT(1)
+                        FROM
+                            tede_analyze
+                        WHERE
+                            UserId = {request.UserId} AND TypeValue = {noteTypeId}
+                                AND SourceId = a.MiddleId
+                                AND AnalyzeType = 1) AS PraiseCount,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_analyze
+                            WHERE
+                                UserId = {request.UserId} AND TypeValue ={noteTypeId}
+                                    AND SourceId = a.MiddleId
+                                    AND AnalyzeType = 1
+                            LIMIT 0 , 1) AS IsPraise,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_comment
+                            WHERE
+                                UserId = {request.UserId} AND ArticleId =  a.MiddleId
+                                    AND TypeValue = {noteTypeId}) AS CommentCount,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_analyze
+                            WHERE
+                                UserId = {request.UserId} AND TypeValue = {noteTypeId}
+                                    AND SourceId = a.MiddleId
+                                    AND AnalyzeType = 4) AS RetransmissionCount,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_analyze
+                            WHERE
+                                UserId = {request.UserId} AND TypeValue = {noteTypeId}
+                                    AND SourceId = a.MiddleId
+                                    AND AnalyzeType = 4
+                            LIMIT 0 , 1) AS IsRetransmission,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_analyze
+                            WHERE
+                                UserId = {request.UserId} AND TypeValue ={noteTypeId}
+                                    AND SourceId = a.MiddleId
+                                    AND AnalyzeType = 3
+                            LIMIT 0 , 1) AS IsCollect,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_analyze
+                            WHERE
+                                UserId = {request.UserId} AND TypeValue = {noteTypeId}
+                                    AND SourceId = a.MiddleId
+                                    AND AnalyzeType = 3) AS IsCollect,
+                        (SELECT 
+                                COUNT(1)
+                            FROM
+                                tede_middle
+                            WHERE
+                                ParentId = a.Id and IsDelete=0) FileCount, b.Title, b.Content,b.ReadCount,b.MediaId,b.CatalogId,
+                        b.ChapterId,c.Name,c.AvatarUrl,d.Name AS DepartmentName,
+                        (SELECT 
+                                FolderName
+                            FROM
+                                tede_middle
+                            WHERE
+                                id = (SELECT 
+                                        ParentId
+                                    FROM
+                                        tede_middle
+                                    WHERE
+                                        MiddleId = a.Id AND FolderType ={noteTypeId})) AS FolderName,
+                        (SELECT 
+                                Id
+                            FROM
+                                tede_middle
+                            WHERE
+                                id = (SELECT 
+                                        ParentId
+                                    FROM
+                                        tede_middle
+                                    WHERE
+                    MiddleId = a.Id AND FolderType = {noteTypeId})) AS FolderId
+                    FROM tede_middle a  LEFT JOIN tede_note b ON a.MiddleId = b.Id 
+                    left join tede_user c on c.Id=b.UserId 
+                    left join tede_department d on d.Id=c.DepartmentId 
+                    WHERE a.UserId = {request.UserId} AND a.FolderType = {noteTypeId} AND a.IsDelete = 0 ";
                 if (request.TypeValue == 0)
                     sql += "and  (a.RoleId in(2) or a.AttributeValue=1)";
                 else