From 06e0e3b7d61e95902a6129de2490461cd0693e1d Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 15 十月 2025 15:06:40 +0800
Subject: [PATCH] 新增异步方法并优化服务调用逻辑在多个数据库文件中进行了二进制文件的修改、删除和新增操作,可能涉及数据库内容的更新或重建。在 HttpsClient.cs文件中新增了 PostNotLimitAsync方法,用于发送支持 JSON 格式的异步 HTTP POST 请求,并记录请求和响应参数。在 AgingInOrOutInputService.cs文件中,将 HttpsClient.PostAsync替换为PostNotLimitAsync,以利用新方法的功能特性。同时删除了不再需要的注释代码。
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs | 161 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 129 insertions(+), 32 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
index 6dffe4e..e273c4e 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs
@@ -60,6 +60,73 @@
}
+ //protected string ValidatePageOptions(PageDataOptions options)
+ //{
+ // options = options ?? new PageDataOptions();
+ // string where = "";
+ // List<SearchParameters> searchParametersList = new List<SearchParameters>();
+ // if (options.Filter != null && options.Filter.Count > 0)
+ // {
+ // searchParametersList.AddRange(options.Filter);
+ // }
+ // else if (!string.IsNullOrEmpty(options.Wheres))
+ // {
+ // try
+ // {
+ // searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
+ // options.Filter = searchParametersList;
+ // }
+ // catch { }
+ // }
+ // QueryRelativeList?.Invoke(searchParametersList);
+
+ // for (int i = 0; i < searchParametersList.Count; i++)
+ // {
+ // if (string.IsNullOrEmpty(searchParametersList[i].Value))
+ // {
+ // continue;
+ // }
+
+ // PropertyInfo property = TProperties.Where(c => c.Name.ToUpper() == searchParametersList[i].Name.ToUpper()).FirstOrDefault();
+
+ // if (property == null) continue;
+
+ // List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList();
+ // if (results == null || results.Count() == 0)
+ // {
+ // continue;
+ // }
+ // for (int j = 0; j < results.Count(); j++)
+ // {
+ // if (j == 0)
+ // {
+ // where += "(";
+ // }
+ // LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition();
+ // if (expressionType == LinqExpressionType.Equal)
+ // {
+ // where += $"{searchParametersList[i].Name} like '%{results[j].Item3}%'";
+ // }
+ // else
+ // {
+ // where += $"{searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{results[j].Item3}'";
+ // }
+
+ // if (j == results.Count() - 1)
+ // {
+ // where += ")";
+ // }
+ // else
+ // {
+ // where += " or ";
+ // }
+ // }
+ // if (i < searchParametersList.Count - 1)
+ // where += " and ";
+ // }
+ // return where;
+ //}
+
protected string ValidatePageOptions(PageDataOptions options)
{
options = options ?? new PageDataOptions();
@@ -91,38 +158,65 @@
if (property == null) continue;
- List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList();
- if (results == null || results.Count() == 0)
+ (bool, string, object) result = property.ValidationVal(searchParametersList[i].Value);
+ if (!result.Item1)
{
continue;
}
- for (int j = 0; j < results.Count(); j++)
- {
- if (j == 0)
- {
- where += "(";
- }
- LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition();
- if (expressionType == LinqExpressionType.Equal)
- {
- where += $"{searchParametersList[i].Name} = '{results[j].Item3}'";
- }
- else
- {
- where += $"{searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{results[j].Item3}'";
- }
- if (j == results.Count() - 1)
+ LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition();
+ if (expressionType == LinqExpressionType.Equal)
+ {
+ if (string.IsNullOrEmpty(where))
{
- where += ")";
+ // 閽堝瀛楃涓茬被鍨嬬殑瀛楁浣跨敤妯$硦鏌ヨ
+ //where += $"{searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
+ if (searchParametersList[i].Value.ToLower() == "true" || searchParametersList[i].Value.ToLower() == "false")
+ {
+ where += $" {searchParametersList[i].Name} = '{searchParametersList[i].Value.ToLower()}'";
+ }
+ else
+ {
+ where += $"[{searchParametersList[i].Name}] like '%{searchParametersList[i].Value}%'";
+ }
}
else
{
- where += " or ";
+ // 閽堝甯冨皵绫诲瀷瀛楁杩涜绮剧‘鏌ヨ
+ if (searchParametersList[i].Value.ToLower() == "true" || searchParametersList[i].Value.ToLower() == "false")
+ {
+ where += $" and {searchParametersList[i].Name} = '{searchParametersList[i].Value.ToLower()}'";
+ }
+ else
+ {
+ where += $" and [{searchParametersList[i].Name}] like '%{searchParametersList[i].Value}%'";
+ }
}
}
- if (i < searchParametersList.Count - 1)
- where += " and ";
+ else
+ {
+ if (searchParametersList[i].DisplayType.GetLinqCondition() == LinqExpressionType.ThanOrEqual)
+ {
+ if (string.IsNullOrEmpty(where))
+ where += $"{searchParametersList[i].Name} >= '{searchParametersList[i].Value}'";
+ else
+ where += $" and {searchParametersList[i].Name} {searchParametersList[i].DisplayType.GetLinqCondition()} '{searchParametersList[i].Value}'";
+ }
+ else if (searchParametersList[i].DisplayType.GetLinqCondition() == LinqExpressionType.LessThanOrEqual)
+ {
+ if (string.IsNullOrEmpty(where))
+ where += $"{searchParametersList[i].Name} <= '{searchParametersList[i].Value}'";
+ else
+ where += $" and {searchParametersList[i].Name} <= '{searchParametersList[i].Value}'";
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(where))
+ where += $"{searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{searchParametersList[i].Value}'";
+ else
+ where += $" and {searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{searchParametersList[i].Value}'";
+ }
+ }
}
return where;
}
@@ -225,7 +319,10 @@
{
return WebResponseContent.Instance.Error("浼犲弬閿欒,鍙傛暟涓嶈兘涓虹┖");
}
- string validResult = typeof(TEntity).ValidateDicInEntity(saveModel.MainData, true, TProperties);
+
+ var x = saveModel.MainData;
+
+ string validResult = typeof(TEntity).ValidateDicInEntity(x, true, TProperties);
if (!string.IsNullOrEmpty(validResult))
{
@@ -286,7 +383,7 @@
List<TDetail> list = detailDics.DicToIEnumerable<TDetail>();
- ((SqlSugarClient)BaseDal.Db).BeginTran();
+ ((SqlSugarScope)BaseDal.Db).BeginTran();
int id = BaseDal.Db.Insertable(entity).ExecuteReturnIdentity();
@@ -298,13 +395,13 @@
BaseDal.Db.Insertable(list).ExecuteCommand();
- ((SqlSugarClient)BaseDal.Db).CommitTran();
+ ((SqlSugarScope)BaseDal.Db).CommitTran();
content = WebResponseContent.Instance.OK();
}
catch (Exception ex)
{
- ((SqlSugarClient)BaseDal.Db).RollbackTran();
+ ((SqlSugarScope)BaseDal.Db).RollbackTran();
content = WebResponseContent.Instance.Error(ex.Message);
}
return content;
@@ -457,7 +554,7 @@
object mainId = typeof(TEntity).GetPropertyValue(entity, typeof(TEntity).GetKeyName());
if (mainId != null)
{
- ((SqlSugarClient)BaseDal.Db).BeginTran();
+ ((SqlSugarScope)BaseDal.Db).BeginTran();
if (dynamicDelKeys.Count > 0)
BaseDal.Db.Deleteable<object>().AS(detailType.Name).Where($"{detailType.GetKeyName()} in (@id)", new { id = dynamicDelKeys.ToArray() }).ExecuteCommandHasChange();
@@ -474,7 +571,7 @@
BaseDal.Db.Insertable(addRows).ExecuteCommand();
- ((SqlSugarClient)BaseDal.Db).CommitTran();
+ ((SqlSugarScope)BaseDal.Db).CommitTran();
content = WebResponseContent.Instance.OK();
}
@@ -486,7 +583,7 @@
}
catch (Exception ex)
{
- ((SqlSugarClient)BaseDal.Db).RollbackTran();
+ ((SqlSugarScope)BaseDal.Db).RollbackTran();
content = WebResponseContent.Instance.Error(ex.Message);
}
return content;
@@ -532,14 +629,14 @@
{
dynamicDelKeys.Add(keys[i]);
}
- ((SqlSugarClient)BaseDal.Db).BeginTran();
+ ((SqlSugarScope)BaseDal.Db).BeginTran();
if (dynamicDelKeys.Count > 0)
BaseDal.Db.Deleteable<object>().AS(detailType.Name).Where($"{name} in (@id)", new { id = dynamicDelKeys.ToArray() }).ExecuteCommandHasChange();
BaseDal.DeleteDataByIds(keys);
- ((SqlSugarClient)BaseDal.Db).CommitTran();
+ ((SqlSugarScope)BaseDal.Db).CommitTran();
return WebResponseContent.Instance.OK();
}
@@ -551,7 +648,7 @@
}
catch (Exception ex)
{
- ((SqlSugarClient)BaseDal.Db).RollbackTran();
+ ((SqlSugarScope)BaseDal.Db).RollbackTran();
return WebResponseContent.Instance.Error(ex.Message);
}
}
--
Gitblit v1.9.3