完善通用接口输入参数
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
using JNPF.Common.Security;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Tnb.Core;
|
||||
|
||||
namespace Tnb.Vengine.Domain;
|
||||
@@ -17,6 +18,9 @@ public class VmBaseInput
|
||||
public object? extra { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询单条数据的输入参数
|
||||
/// </summary>
|
||||
public class VmGetInput : VmBaseInput
|
||||
{
|
||||
/// <summary>
|
||||
@@ -27,16 +31,38 @@ public class VmGetInput : VmBaseInput
|
||||
/// <summary>
|
||||
/// 过滤条件
|
||||
/// </summary>
|
||||
public string? q { get; set; }
|
||||
public DObject q { get; set; } = new DObject();
|
||||
|
||||
/// <summary>
|
||||
/// 输出字段
|
||||
/// </summary>
|
||||
public string o { get; set; } = "*";
|
||||
|
||||
/// <summary>
|
||||
/// 从HttpContext中加载查询参数
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
public void LoadFromHttpContext(HttpContext? context)
|
||||
{
|
||||
if (context == null) return;
|
||||
string[] filter = new string[] { "id", "q", "o" };
|
||||
foreach (var item in context.Request.Query.Where(a => !filter.Contains(a.Key)))
|
||||
{
|
||||
if (item.Value.Count > 1)
|
||||
{
|
||||
q.Add(item.Key, item.Value.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
q.Add(item.Key, item.Value.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class VmGetListInput : VmBaseInput
|
||||
/// <summary>
|
||||
/// 查询列表数据的输入参数
|
||||
/// </summary>
|
||||
public class VmQueryInput : VmBaseInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 当前页数
|
||||
@@ -61,48 +87,37 @@ public class VmGetListInput : VmBaseInput
|
||||
/// <summary>
|
||||
/// 过滤条件
|
||||
/// </summary>
|
||||
public string? q { get; set; }
|
||||
public DObject q { get; set; } = new DObject();
|
||||
|
||||
/// <summary>
|
||||
/// 输出字段
|
||||
/// </summary>
|
||||
public string o { get; set; } = "*";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取多条数据输入参数
|
||||
/// </summary>
|
||||
public class VmQueryInput : VmGetListInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询条件
|
||||
/// </summary>
|
||||
public new DObject? q { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 添加一个查询条件
|
||||
/// 从HttpContext中加载查询参数
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public void AddQueryPara(string key, object value)
|
||||
/// <param name="context"></param>
|
||||
public void LoadFromHttpContext(HttpContext? context)
|
||||
{
|
||||
if (q == null) q = new DObject();
|
||||
q.Add(key, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加一个查询条件
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public void AddQueryParaIf(bool condition, string key, object value)
|
||||
{
|
||||
if(condition) AddQueryPara(key, value);
|
||||
if (context == null) return;
|
||||
string[] filter = new string[] { "pnum", "psize", "sort", "k", "q", "o" };
|
||||
foreach (var item in context.Request.Query.Where(a => !filter.Contains(a.Key)))
|
||||
{
|
||||
if (item.Value.Count > 1)
|
||||
{
|
||||
q.Add(item.Key, item.Value.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
q.Add(item.Key, item.Value.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增数据输入参数
|
||||
/// 新增或修改数据输入参数
|
||||
/// </summary>
|
||||
public class VmEditInput : VmBaseInput
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user