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