///////////////////////////////////////////////////////////////////////////////// // 宁波拓通e智造平台 ToTong Next Builder // // https://git.tuotong-tech.com/tnb/tnb-server // ///////////////////////////////////////////////////////////////////////////////// using JNPF; using JNPF.Common.Security; using Mapster; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; using Tnb.Core; using Tnb.Vengine.DataAccess; using Tnb.Vengine.Domain; namespace Tnb.Vengine.AppService; /// /// 增删改查基类 /// [Authorize] [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 100)] [Route("/")] public class VengineAppService : BaseAppService, IVengineAppService { //private readonly ISqlSugarClient _db; /// /// 构造函数 /// public VengineAppService(IDataAccess da):base(da) { //_db = _dataAccess.GetSqlSugar(); } #region 按模型的id进行增删改查接口 /// /// 获取一条 数据信息 /// [HttpGet("api/[area]/[controller]/{vmid}/get")] public async Task GetAsync(string vmid, [FromQuery] VmGetInput input) { var vm = await GetVmodelAsync(vmid); if (!string.IsNullOrEmpty(input.id)) input.q.Add(vm.GetPrimary().code, input.id); input.LoadFromHttpContext(App.HttpContext); var ls = await ListAsync(vmid, input.Adapt()); return ls.items.FirstOrDefault(); } /// /// 获取多条 数据列表 /// [HttpGet("api/[area]/[controller]/{vmid}/get-list")] public async Task GetListAsync(string vmid, [FromQuery] VmQueryInput input) { input.LoadFromHttpContext(App.HttpContext); return await ListAsync(vmid, input); } /// /// 获取多条 数据列表 /// [HttpPost("api/[area]/[controller]/{vmid}/list")] public async Task ListAsync(string vmid, [FromBody] VmQueryInput input) { var vm = await GetVmodelAsync(vmid); var ls = await _dataAccess.QueryDataAsync(vm, input); return ls; } /// /// 新增 数据 /// [HttpPost("api/[area]/[controller]/{vmid}/create")] public async Task CreateAsync(string vmid, [FromBody] VmEditInput input) { var vm = await GetVmodelAsync(vmid); var ret = await _dataAccess.CreateDataAsync(vm, input); return ret; } /// /// 更新 数据 /// [HttpPut("api/[area]/[controller]/{vmid}/update")] public async Task UpdateAsync(string vmid, [FromBody] VmEditInput input) { var vm = await GetVmodelAsync(vmid); var ret = await _dataAccess.UpdateDataAsync(vm, input); return ret; } /// /// 删除 数据 /// [HttpDelete("api/[area]/[controller]/{vmid}/delete")] public async Task DeleteAsync(string vmid, [FromQuery] VmDeleteInput input) { var vm = await GetVmodelAsync(vmid); var ret = await _dataAccess.DeleteDataAsync(vm, input); return ret; } #endregion 按模型的id进行增删改查接口 #region 按模型的areaCode和vmcode进行增删改查接口 /// /// 获取一条 数据信息 /// [HttpGet("api/{areaCode}/{vmCode}/get")] public async Task GetAsync(string areaCode, string vmCode, [FromQuery] VmGetInput input) { var vm = await GetVmodelAsync(areaCode, vmCode); if (!string.IsNullOrEmpty(input.id)) input.q.Add(vm.GetPrimary().code, input.id); input.LoadFromHttpContext(App.HttpContext); var ls = await ListAsync(areaCode, vmCode, input.Adapt()); return ls.items.FirstOrDefault(); } /// /// 获取多条 数据列表 /// [HttpGet("api/{areaCode}/{vmCode}/get-list")] public async Task GetListAsync(string areaCode, string vmCode, [FromQuery] VmQueryInput input) { input.LoadFromHttpContext(App.HttpContext); return await ListAsync(areaCode, vmCode, input); } /// /// 获取多条 数据列表 /// [HttpPost("api/{areaCode}/{vmCode}/list")] public async Task ListAsync(string areaCode, string vmCode, [FromBody] VmQueryInput input) { var vm = await GetVmodelAsync(areaCode, vmCode); var ls = await _dataAccess.QueryDataAsync(vm, input); return ls; } /// /// 新增 数据 /// [HttpPost("api/{areaCode}/{vmCode}/create")] public async Task CreateAsync(string areaCode, string vmCode, [FromBody] VmEditInput input) { var vm = await GetVmodelAsync(areaCode, vmCode); var ret = await _dataAccess.CreateDataAsync(vm, input); return ret; } /// /// 更新 数据 /// [HttpPut("api/{areaCode}/{vmCode}/update")] public async Task UpdateAsync(string areaCode, string vmCode, [FromBody] VmEditInput input) { var vm = await GetVmodelAsync(areaCode, vmCode); var ret = await _dataAccess.UpdateDataAsync(vm, input); return ret; } /// /// 删除 数据 /// [HttpDelete("api/{areaCode}/{vmCode}/delete")] public async Task DeleteAsync(string areaCode, string vmCode, [FromQuery] VmDeleteInput input) { var vm = await GetVmodelAsync(areaCode, vmCode); var ret = await _dataAccess.DeleteDataAsync(vm, input); return ret; } #endregion 按模型的areaCode和vmcode进行增删改查接口 }