using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using VOL.Core.Extensions; using VOL.Core.Filters; using VOL.Core.Utilities; using VOL.Entity.DomainModels; namespace VOL.Core.Controllers.Basic { [JWTAuthorize, ApiController] public class ApiBaseController : BaseController { public ApiBaseController(IServiceBase service) : base(service) { } public ApiBaseController(string projectName, string folder, string tablename, IServiceBase service) : base(projectName, folder, tablename, service) { } [ApiActionPermission(Enums.ActionPermissionOptions.Search)] [HttpPost, Route("GetPageData")] public new async Task GetPageData([FromBody] PageDataOptions loadData) { return await base.GetPageData(loadData); } /// /// 获取明细grid分页数据 /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Search)] [HttpPost, Route("GetDetailPage")] public new async Task GetDetailPage([FromBody] PageDataOptions loadData) { return await base.GetDetailPage(loadData); } ///// ///// 上传文件 ///// ///// ///// //[HttpPost, Route("Upload")] //[ApiActionPermission(Enums.ActionPermissionOptions.Upload)] //public new async Task Upload(List fileInput) //{ // return await base.Upload(fileInput); //} /// /// 上传文件 /// /// /// [HttpPost, Route("Upload")] [ApiActionPermission(Enums.ActionPermissionOptions.Upload)] public async Task Upload(IEnumerable fileInput) { return await base.Upload(fileInput.ToList()); } /// /// 下载导入Excel模板 /// /// [HttpGet, Route("DownLoadTemplate")] [ApiActionPermission(Enums.ActionPermissionOptions.Import)] public new async Task DownLoadTemplate() { return await base.DownLoadTemplate(); } /// /// 导入表数据Excel /// /// /// [HttpPost, Route("Import")] [ApiActionPermission(Enums.ActionPermissionOptions.Import)] public new async Task Import(List fileInput) { return await base.Import(fileInput); } /// /// 导出文件,返回日期+文件名 /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Export)] [HttpPost, Route("Export")] public new async Task Export([FromBody] PageDataOptions loadData) { return await base.Export(loadData); } /// /// 下载文件 /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Export)] [HttpGet, Route("DownLoadFile")] public IActionResult DownLoadFile() { string path = HttpContext.Request("path"); return base.DownLoadFile(path); } /// /// 通过key删除文件 /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Delete)] [HttpPost, Route("Del")] public new async Task Del([FromBody] object[] keys) { return await base.Del(keys); } /// /// 审核 /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Audit)] [HttpPost, Route("Audit")] public new async Task Audit([FromBody]object[] id, int? auditStatus, string auditReason) { return await base.Audit(id, auditStatus, auditReason); } /// /// 新增支持主子表 /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Add)] [HttpPost, Route("Add")] public new async Task Add([FromBody]SaveModel saveModel) { WebResponseContent responseContent = await base.Add(saveModel); responseContent.Data = responseContent.Data?.Serialize(); return Json(responseContent); } /// /// 编辑支持主子表 /// [ModelBinder(BinderType =(typeof(ModelBinder.BaseModelBinder)))]可指定绑定modelbinder /// /// /// [ApiActionPermission(Enums.ActionPermissionOptions.Update)] [HttpPost, Route("Update")] public new async Task Update([FromBody] SaveModel saveModel) { WebResponseContent responseContent = await base.Update(saveModel); responseContent.Data = responseContent.Data?.Serialize(); return Json(responseContent); } } }