李昊 4 vuotta sitten
vanhempi
commit
9c2d54b8da

+ 32 - 13
gx_api/GxPress/Service/GxPress.Service.Implement/Middle/MiddleService.cs

@@ -23,6 +23,7 @@ using GxPress.Request.App.Analyze;
 using GxPress.EnumConst;
 using System.Transactions;
 using GxPress.Request.UserMiddle;
+using Dapper;
 
 namespace GxPress.Service.Implement.Middle
 {
@@ -808,20 +809,38 @@ namespace GxPress.Service.Implement.Middle
         /// <returns></returns>
         public async Task<List<MiddleSearchFolderResult>> SearchNoteFolderAsync(MiddleSearchFolderRequest request)
         {
-            var query = Q.NewQuery();
-            if (request.ParentId >= 0)
-                query.Where(nameof(Entity.Middle.Middle.ParentId), request.ParentId);
-            query.Where(nameof(Entity.Middle.Middle.AttributeValue), 2)
-             .Where(nameof(Entity.Middle.Middle.FolderType), request.TypeId)
-             .Where(nameof(Entity.Middle.Middle.UserId), request.UserId)
-             .Where(nameof(Entity.Middle.Middle.IsDelete), false);
-            if (request.FolderIds.Count > 0)
-                query.WhereNotIn(nameof(Entity.Middle.Middle.Id), request.FolderIds);
-            query.WhereIn(nameof(Entity.Middle.Middle.RoleId), new List<int>() { 1, 3 });
+            string sqlStr = string.Empty;
             if (!string.IsNullOrWhiteSpace(request.KeyWord))
-                query.WhereLike(nameof(Entity.Middle.Middle.FolderName), $"%{request.KeyWord}%");
-            var orderByDesc = new string[] { nameof(Entity.Middle.Middle.IsSystemDefault), nameof(Entity.Middle.Middle.AttributeValue), nameof(Entity.Middle.Middle.IsTop), nameof(Entity.Middle.Middle.Sort) };
-            var middles = await _middleRepository.FindAsync(query.OrderByDesc(orderByDesc));
+                sqlStr += $" and FolderName like '%{request.KeyWord}%'";
+            string sql = $@"SELECT 
+                                *
+                            FROM
+                                tede_middle
+                            WHERE
+                                FolderType ={request.TypeId} AND AttributeValue = 2 {sqlStr} 
+                                    AND IsSystemDefault = 0
+                                    AND UserId = {request.UserId}
+                                    AND RoleId IN (1 , 3)
+                                    AND IsDelete = 0
+                                    AND ParentId ={request.ParentId}
+                            ORDER BY IsSystemDefault DESC,AttributeValue desc , IsTop DESC , Sort DESC , CreatedDate DESC";
+            var database = new Database(DatabaseType.MySql, ConfigHelper.GetValue("Database:ConnectionString"));
+            var connection = database.GetConnection();
+            var middles =await connection.QueryAsync<Entity.Middle.Middle>(sql);
+            // var query = Q.NewQuery();
+            // if (request.ParentId >= 0)
+            //     query.Where(nameof(Entity.Middle.Middle.ParentId), request.ParentId);
+            // query.Where(nameof(Entity.Middle.Middle.AttributeValue), 2)
+            //  .Where(nameof(Entity.Middle.Middle.FolderType), request.TypeId)
+            //  .Where(nameof(Entity.Middle.Middle.UserId), request.UserId)
+            //  .Where(nameof(Entity.Middle.Middle.IsDelete), false);
+            // if (request.FolderIds.Count > 0)
+            //     query.WhereNotIn(nameof(Entity.Middle.Middle.Id), request.FolderIds);
+            // query.WhereIn(nameof(Entity.Middle.Middle.RoleId), new List<int>() { 1, 3 });
+            // if (!string.IsNullOrWhiteSpace(request.KeyWord))
+            //     query.WhereLike(nameof(Entity.Middle.Middle.FolderName), $"%{request.KeyWord}%");
+            // var orderByDesc = new string[] { nameof(Entity.Middle.Middle.IsSystemDefault), nameof(Entity.Middle.Middle.AttributeValue), nameof(Entity.Middle.Middle.IsTop), nameof(Entity.Middle.Middle.Sort) };
+            // var middles = await _middleRepository.FindAsync(query.OrderByDesc(orderByDesc));
             List<MiddleSearchFolderResult> result = new List<MiddleSearchFolderResult>();
             foreach (var item in middles)
             {