183 lines
3.8 KiB
C#
183 lines
3.8 KiB
C#
/////////////////////////////////////////////////////////////////////////////////
|
|
// 宁波拓通e智造平台 ToTong Next Builder //
|
|
// https://git.tuotong-tech.com/tnb/tnb.server //
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
using JNPF.Common.Security;
|
|
using Mapster;
|
|
using Tnb.Core;
|
|
|
|
namespace Tnb.Vengine.Domain;
|
|
|
|
public class VmBaseInput
|
|
{
|
|
/// <summary>
|
|
/// 附加参数
|
|
/// </summary>
|
|
public object? extra { get; set; }
|
|
}
|
|
|
|
public class VmGetInput : VmBaseInput
|
|
{
|
|
/// <summary>
|
|
/// 要获取数据的id
|
|
/// </summary>
|
|
public string? id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 过滤条件
|
|
/// </summary>
|
|
public string? q { get; set; }
|
|
|
|
/// <summary>
|
|
/// 输出字段
|
|
/// </summary>
|
|
public string o { get; set; } = "*";
|
|
|
|
}
|
|
|
|
public class VmGetListInput : VmBaseInput
|
|
{
|
|
/// <summary>
|
|
/// 当前页数
|
|
/// </summary>
|
|
public int pnum { get; set; }
|
|
|
|
/// <summary>
|
|
/// 每页记录数
|
|
/// </summary>
|
|
public int psize { get; set; }
|
|
|
|
/// <summary>
|
|
/// 排序
|
|
/// </summary>
|
|
public string? sort { get; set; } = null;
|
|
|
|
/// <summary>
|
|
/// 模糊查询
|
|
/// </summary>
|
|
public string? k { get; set; }
|
|
|
|
/// <summary>
|
|
/// 过滤条件
|
|
/// </summary>
|
|
public string? q { get; set; }
|
|
|
|
/// <summary>
|
|
/// 输出字段
|
|
/// </summary>
|
|
public string o { get; set; } = "*";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取多条数据输入参数
|
|
/// </summary>
|
|
public class VmQueryInput : VmGetListInput
|
|
{
|
|
/// <summary>
|
|
/// 查询条件
|
|
/// </summary>
|
|
public new DObject? q { get; set; }
|
|
|
|
/// <summary>
|
|
/// 添加一个查询条件
|
|
/// </summary>
|
|
/// <param name="key"></param>
|
|
/// <param name="value"></param>
|
|
public void AddQueryPara(string key, object value)
|
|
{
|
|
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);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增数据输入参数
|
|
/// </summary>
|
|
public class VmEditInput : VmBaseInput
|
|
{
|
|
/// <summary>
|
|
/// 数据
|
|
/// </summary>
|
|
public DObject? data { get; set; }
|
|
|
|
/// <summary>
|
|
/// 批量添加
|
|
/// </summary>
|
|
public List<DObject>? items { get; set; }
|
|
|
|
public virtual VmEditInput ToEditInput()
|
|
{
|
|
return this;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除数据输入参数
|
|
/// </summary>
|
|
public class VmDeleteInput : VmBaseInput
|
|
{
|
|
/// <summary>
|
|
/// 要删除的数据id
|
|
/// </summary>
|
|
public string? id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 要删除的id列表
|
|
/// </summary>
|
|
public List<string>? ids { get; set; }
|
|
}
|
|
|
|
public class PagedOutput
|
|
{
|
|
public int total { get; set; }
|
|
public object? extra { get; set; }
|
|
public static PagedOutput<T> Create<T>(int totalNum, List<T> ls)
|
|
{
|
|
return new PagedOutput<T>(totalNum, ls);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页列表输出对象
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
public class PagedOutput<T> : PagedOutput
|
|
{
|
|
public List<T> items { get; set; } = new List<T>();
|
|
|
|
public PagedOutput()
|
|
{
|
|
}
|
|
public PagedOutput(int totalNum, List<T> ls)
|
|
{
|
|
total = totalNum;
|
|
items = ls;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 动态分页列表输出对象
|
|
/// </summary>
|
|
public class VmPagedOutput : PagedOutput<DObject>
|
|
{
|
|
public PagedOutput<T> ToPagedOutput<T>()
|
|
{
|
|
return new PagedOutput<T>()
|
|
{
|
|
total = total,
|
|
items = items.Adapt<List<T>>()
|
|
};
|
|
}
|
|
}
|