///////////////////////////////////////////////////////////////////////////////// // 宁波拓通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>() }; } }