From 1213f9d06042595c174811a429b9d45a5af23d1b Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 6 Dec 2023 14:50:13 +0800 Subject: [PATCH] Synchronization code --- .../SqlSugar/Json2Sql/JsonModels/GroupByModel.cs | 2 +- .../SqlSugar/Json2Sql/JsonModels/OrderByModel.cs | 2 +- .../Json2Sql/ModelToSql/GroupByModelToSql.cs | 14 ++++++++++---- .../Json2Sql/ModelToSql/OrderByModelToSql.cs | 13 +++++++++---- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/GroupByModel.cs b/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/GroupByModel.cs index 1339b0a30..341e65212 100644 --- a/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/GroupByModel.cs +++ b/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/GroupByModel.cs @@ -7,7 +7,7 @@ namespace SqlSugar { public class GroupByModel { - public string FieldName { get; set; } + public object FieldName { get; set; } public static List Create(params GroupByModel[] groupModels) { return groupModels.ToList(); diff --git a/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs b/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs index 8e944a5c8..de7d3480d 100644 --- a/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs +++ b/Src/Asp.Net/SqlSugar/Json2Sql/JsonModels/OrderByModel.cs @@ -7,7 +7,7 @@ namespace SqlSugar { public class OrderByModel { - public string FieldName { get; set; } + public object FieldName { get; set; } public OrderByType OrderByType { get; set; } public static List Create(params OrderByModel[] orderByModel) { diff --git a/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/GroupByModelToSql.cs b/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/GroupByModelToSql.cs index 693143496..4f180f401 100644 --- a/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/GroupByModelToSql.cs +++ b/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/GroupByModelToSql.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using System.Linq; +using System.Runtime.CompilerServices; namespace SqlSugar { public abstract partial class SqlBuilderProvider : SqlBuilderAccessory, ISqlBuilder @@ -10,13 +11,18 @@ namespace SqlSugar public KeyValuePair GroupByModelToSql(List models) { StringBuilder sql = new StringBuilder(""); - SugarParameter[] pars = new SugarParameter[] { }; + var pars = new List { }; foreach (var item in models) { - if (item is GroupByModel) + if (item is GroupByModel && item.FieldName is IFuncModel) { var orderByModel = item as GroupByModel; - sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ToSqlFilter())} ,"); + sql.Append($" {GetSqlPart(item.FieldName, pars)} ,"); + } + else if (item is GroupByModel) + { + var orderByModel = item as GroupByModel; + sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ObjToString().ToSqlFilter())} ,"); } else { @@ -24,7 +30,7 @@ namespace SqlSugar } } - return new KeyValuePair(sql.ToString().TrimEnd(','), pars); + return new KeyValuePair(sql.ToString().TrimEnd(','), pars?.ToArray()); } } } diff --git a/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs b/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs index 728343f1c..49c884dec 100644 --- a/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs +++ b/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/OrderByModelToSql.cs @@ -10,13 +10,18 @@ namespace SqlSugar public KeyValuePair OrderByModelToSql(List models) { StringBuilder sql = new StringBuilder(""); - SugarParameter[] pars = new SugarParameter[] { }; + List pars = new List(){ }; foreach (var item in models) { - if (item is OrderByModel) + if (item is OrderByModel && item.FieldName is IFuncModel) { var orderByModel = item as OrderByModel; - sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ToSqlFilter())} {orderByModel.OrderByType.ToString().ToUpper()} ,"); + sql.Append($" {GetSqlPart(item.FieldName,pars)} {orderByModel.OrderByType.ToString().ToUpper()} ,"); + } + else if (item is OrderByModel) + { + var orderByModel = item as OrderByModel; + sql.Append($" {this.GetTranslationColumnName(orderByModel.FieldName.ObjToString().ToSqlFilter())} {orderByModel.OrderByType.ToString().ToUpper()} ,"); } else { @@ -24,7 +29,7 @@ namespace SqlSugar } } - return new KeyValuePair(sql.ToString().TrimEnd(','), pars); + return new KeyValuePair(sql.ToString().TrimEnd(','), pars?.ToArray()); } } }