|
@@ -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)
|
|
|
{
|