namespace CloudGaming.Shared.Admin.ApplicationServices; /// /// 后台系统基础控制器 /// /// /// /// /// /// public abstract class ApplicationControllerBase( IServiceProvider serviceProvider) : ApplicationControllerBase(serviceProvider) where TService : ApplicationService where TEntity : class, new() where TSearchDto : class, new() where TSaveFormDto : class, new() { /// /// 获取列表 /// /// /// [ActionDescriptor(DisplayName = "查看数据列表")] [ApiResourceCacheFilter(1)] [Microsoft.AspNetCore.Mvc.HttpPost] public virtual async Task FindListAsync([FromBody] PagingSearchInput pagingSearchInput) { return await Service.FindListAsync(pagingSearchInput); } /// /// /// /// [ActionDescriptor(DisplayName = "查看数据列表")] [ApiResourceCacheFilter(1)] [Microsoft.AspNetCore.Mvc.HttpGet] public virtual async Task> FindListAsync() { return await Service.FindListAsync(); } /// /// 根据id数组删除 /// /// /// [ActionDescriptor(DisplayName = "删除数据")] [Microsoft.AspNetCore.Mvc.HttpPost] public virtual async Task DeleteListAsync([FromBody] List ids) { await Service.DeleteListAsync(ids); return true; } /// /// 查询表单数据 /// /// /// [ActionDescriptor(DisplayName = "查看表单")] [Microsoft.AspNetCore.Mvc.HttpGet("{id?}")] public virtual Task> FindFormAsync([FromRoute] TKey id) { return Service.FindFormAsync(id); } /// /// 添加 /// /// /// [RequestLimitFilter] [ActionDescriptor(PermissionFunctionConsts.Function_Insert, DisplayName = "创建表单")] [Microsoft.AspNetCore.Mvc.HttpPost] [ApiCheckModel] public virtual Task CreateAsync([FromBody] TSaveFormDto form) { return Service.SaveFormAsync(form); } /// /// 编辑 /// /// /// [RequestLimitFilter] [ActionDescriptor(PermissionFunctionConsts.Function_Update, DisplayName = "编辑表单")] [Microsoft.AspNetCore.Mvc.HttpPost] [ApiCheckModel] public virtual Task UpdateAsync([FromBody] TSaveFormDto form) { return Service.SaveFormAsync(form); } /// /// 导出Excel /// /// /// [ActionDescriptor(DisplayName = "导出数据")] [ApiResourceCacheFilter(10)] [Microsoft.AspNetCore.Mvc.HttpPost] public virtual async Task ExportExcelAsync([FromBody] PagingSearchInput pagingSearchInput) => HttpContext.DownLoadFile(await Service.ExportExcelAsync(pagingSearchInput), Tools.GetFileContentType[".xls"].ToStr(), $"{PermissionUtil.GetControllerDisplayName(GetType())}列表数据 {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"); /// /// 查询表单数据 /// /// /// [ActionDescriptor(DisplayName = "查询排序")] [Microsoft.AspNetCore.Mvc.HttpGet] public virtual int GetOrderId([FromQuery] string selectName, [FromQuery] string orderIdName, [FromQuery] string value) { return Service.GetOrderId(selectName, orderIdName, value) ?? 0; } }