| | |
| | | /// @(@Model.BusName)服务 |
| | | /// </summary> |
| | | [ApiDescriptionSettings("@Model.ModuleName", Name = "@Model.ClassName", Order = 100)] |
| | | [Route("api/[Controller]")] |
| | | [Route("api")] |
| | | public class @(@Model.ClassName)Service : I@(@Model.ClassName)Service, IDynamicApiController, ITransient |
| | | { |
| | | private readonly IRepository<@(@Model.ClassName),@(@Model.DatabaseName)> _@(@Model.CamelizeClassName)Rep; |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [Description("@Model.ClassName/page")] |
| | | [HttpGet("page")] |
| | | [HttpGet("@Model.ClassName/page")] |
| | | public async Task<PageResult<@(@Model.ClassName)Output>> Page([FromQuery] @(@Model.ClassName)Search input) |
| | | { |
| | | var @(@Model.CamelizeClassName)s = await _@(@Model.CamelizeClassName)Rep.DetachedEntities |
| | |
| | | /// </summary> |
| | | /// <param name="input">@(@Model.BusName)查询参数</param> |
| | | /// <returns>(@Model.BusName)实例列表</returns> |
| | | [Description("@Model.ClassName/listNonPage")] |
| | | [HttpGet("listNonPage")] |
| | | [HttpGet("@Model.ClassName/listNonPage")] |
| | | public async Task<List<@(@Model.ClassName)Output>> ListNonPageAsync([FromQuery] @(@Model.ClassName)SearchNonPage input) |
| | | { |
| | | @foreach (var column in Model.TableField) |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取@(@Model.BusName) |
| | | /// 获取单个@(@Model.BusName) |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [Description("@Model.ClassName/detail")] |
| | | [HttpGet("detail")] |
| | | [HttpGet("@Model.ClassName/detail")] |
| | | public async Task<@(@Model.ClassName)Output> Get([FromQuery] Querye@(@Model.ClassName)Input input) |
| | | { |
| | | @foreach (var column in Model.TableField){ |
| | | if (@column.ColumnKey == "True"){ |
| | | @:return (await _@(@Model.CamelizeClassName)Rep.DetachedEntities.FirstOrDefaultAsync(u => u.@(@column.ColumnName) == input.@(@column.ColumnName))).Adapt<@(@Model.ClassName)Output>(); |
| | | }else{ |
| | | if (@Model.IsOnlyQuery == true){ |
| | | @:return null; |
| | | } |
| | | } |
| | | } |
| | | return (await _@(@Model.CamelizeClassName)Rep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<@(@Model.ClassName)Output>(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [Description("@Model.ClassName/list")] |
| | | [HttpGet("list")] |
| | | [HttpGet("@Model.ClassName/list")] |
| | | public async Task<List<@(@Model.ClassName)Output>> List([FromQuery] @(@Model.ClassName)Input input) |
| | | { |
| | | return await _@(@Model.CamelizeClassName)Rep.DetachedEntities.ProjectToType<@(@Model.ClassName)Output>().ToListAsync(); |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [Description("@Model.ClassName/add")] |
| | | [HttpPost("add")] |
| | | [HttpPost("@Model.ClassName/add")] |
| | | public async Task Add(Add@(@Model.ClassName)Input input) |
| | | { |
| | | var @(@Model.CamelizeClassName) = input.Adapt<@(@Model.ClassName)>(); |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [Description("@Model.ClassName/delete")] |
| | | [HttpPost("delete")] |
| | | [HttpPost("@Model.ClassName/delete")] |
| | | public async Task Delete(Delete@(@Model.ClassName)Input input) |
| | | { |
| | | @foreach (var column in Model.TableField){ |
| | |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [Description("@Model.ClassName/edit")] |
| | | [HttpPost("edit")] |
| | | [HttpPost("@Model.ClassName/edit")] |
| | | public async Task Update(Update@(@Model.ClassName)Input input) |
| | | { |
| | | var isExist = await _@(@Model.CamelizeClassName)Rep.AnyAsync(u => u.Id == input.Id, false); |
| | |
| | | /// </summary> |
| | | /// <param name="file">Excel模板文件</param> |
| | | /// <returns>导入的记录数</returns> |
| | | [Description("@Model.ClassName/importExcel")] |
| | | [HttpPost("importExcel")] |
| | | [HttpPost("@Model.ClassName/importExcel")] |
| | | public async Task<int> ImportExcelAsync(IFormFile file) |
| | | { |
| | | int _HeadStartLine = 2;//第1行是说明,第2行是列名 |
| | |
| | | /// </summary> |
| | | /// <param name="version">模板版本</param> |
| | | /// <returns>下载的模板文件</returns> |
| | | [Description("@Model.ClassName/downloadExcelTemplate")] |
| | | [HttpGet("downloadExcelTemplate")] |
| | | [HttpGet("@Model.ClassName/downloadExcelTemplate")] |
| | | public IActionResult DownloadExcelTemplate([FromQuery] string version) |
| | | { |
| | | string _path = TemplateConst.EXCEL_TEMPLATEFILE_导入模版路径 + $"\\@Model.ClassName{TemplateConst.EXCEL_TEMPLATEFILE_导入模版名称后缀}.xlsx"; |
| | |
| | | /// <returns></returns> |
| | | private async Task CheckExisit( @(@Model.ClassName) input,bool isEdit=false) |
| | | { |
| | | |
| | | |
| | | @{ |
| | | var columnIndex = 0; |
| | | string my_message = string.Empty; |
| | | } |
| | | |
| | | @foreach (var column in Model.TableField) |
| | | { |
| | | if (@column.WhetherUnionKey == "Y") |
| | | { |
| | | my_message += "," + @column.ColumnComment + "[{input." + @column.ColumnName + "}]"; |
| | | } |
| | | if (@column.WhetherUnionKey == "Y") |
| | | { |
| | | columnIndex++; |
| | |
| | | @:,false); |
| | | @:} |
| | | } |
| | | |
| | | |
| | | |
| | | @if(columnIndex>0){ |
| | | @:if (isExist) throw Oops.Oh(ErrorCode.E0001); |
| | | @:if (isExist) throw Oops.Oh($"验证失败@(@my_message)已存在"); |
| | | }else{ |
| | | @://没有配置联合主键,不需要验重 |
| | | } |
| | |
| | | @:}).FirstOrDefault(); |
| | | @:if (existExcelItem != null) |
| | | @:{ |
| | | @:var @(@Model.CamelizeClassName) = existExcelItem.Adapt<@(@Model.ClassName)>(); |
| | | @:var item= existExcelItem.Adapt<@(@Model.ClassName)>(); |
| | | @:throw Oops.Oh($"导入的表格中@(@message)已存在"); |
| | | @:} |
| | |
| | | @: )); |
| | | @: if (existDBItem != null) |
| | | @:{ |
| | | @:var @(@Model.CamelizeClassName) = existExcelItem.Adapt<@(@Model.ClassName)>(); |
| | | @:var item= existExcelItem.Adapt<@(@Model.ClassName)>(); |
| | | @:var item= existDBItem.Adapt<@(@Model.ClassName)>(); |
| | | @:throw Oops.Oh($"系统中@(@message)已存在"); |
| | | @:} |
| | | } |