TplControllers.txt 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. using Microsoft.AspNetCore.Mvc;
  2. using ${options.DtosNamespace}.${options.SubNamespace}.Dto;
  3. using ${options.ModelsNamespace}.${options.SubNamespace};
  4. using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service;
  5. $if(replaceDto.ShowBtnImport)
  6. using MiniExcelLibs;
  7. $end
  8. //创建时间:${replaceDto.AddTime}
  9. namespace ${options.ApiControllerNamespace}.Controllers.${options.SubNamespace}
  10. {
  11. /// <summary>
  12. /// ${genTable.functionName}
  13. /// </summary>
  14. [Route("${genTable.ModuleName}/${genTable.BusinessName}")]
  15. public class ${replaceDto.ModelTypeName}Controller : BaseController
  16. {
  17. /// <summary>
  18. /// ${genTable.FunctionName}接口
  19. /// </summary>
  20. private readonly I${replaceDto.ModelTypeName}Service _${replaceDto.ModelTypeName}Service;
  21. public ${replaceDto.ModelTypeName}Controller(I${replaceDto.ModelTypeName}Service ${replaceDto.ModelTypeName}Service)
  22. {
  23. _${replaceDto.ModelTypeName}Service = ${replaceDto.ModelTypeName}Service;
  24. }
  25. /// <summary>
  26. /// 查询${genTable.FunctionName}列表
  27. /// </summary>
  28. /// <param name="parm"></param>
  29. /// <returns></returns>
  30. [HttpGet("list")]
  31. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:list")]
  32. public IActionResult Query${replaceDto.ModelTypeName}([FromQuery] ${replaceDto.ModelTypeName}QueryDto parm)
  33. {
  34. var response = _${replaceDto.ModelTypeName}Service.GetList(parm);
  35. return SUCCESS(response);
  36. }
  37. $if(genTable.TplCategory == "tree")
  38. /// <summary>
  39. /// 查询${genTable.FunctionName}列表树
  40. /// </summary>
  41. /// <param name="parm"></param>
  42. /// <returns></returns>
  43. [HttpGet("treeList")]
  44. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:list")]
  45. public IActionResult QueryTree${replaceDto.ModelTypeName}([FromQuery] ${replaceDto.ModelTypeName}QueryDto parm)
  46. {
  47. var response = _${replaceDto.ModelTypeName}Service.GetTreeList(parm);
  48. return SUCCESS(response);
  49. }
  50. $end
  51. /// <summary>
  52. /// 查询${genTable.FunctionName}详情
  53. /// </summary>
  54. /// <param name="${replaceDto.PKName}"></param>
  55. /// <returns></returns>
  56. [HttpGet("{${replaceDto.PKName}}")]
  57. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:query")]
  58. public IActionResult Get${replaceDto.ModelTypeName}(${replaceDto.PKType} ${replaceDto.PKName})
  59. {
  60. var response = _${replaceDto.ModelTypeName}Service.GetInfo(${replaceDto.PKName});
  61. var info = response.Adapt<${replaceDto.ModelTypeName}Dto>();
  62. return SUCCESS(info);
  63. }
  64. $if(replaceDto.ShowBtnAdd)
  65. /// <summary>
  66. /// 添加${genTable.FunctionName}
  67. /// </summary>
  68. /// <returns></returns>
  69. [HttpPost]
  70. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:add")]
  71. [Log(Title = "${genTable.FunctionName}", BusinessType = BusinessType.INSERT)]
  72. public IActionResult Add${replaceDto.ModelTypeName}([FromBody] ${replaceDto.ModelTypeName}Dto parm)
  73. {
  74. var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToCreate(HttpContext);
  75. var response = _${replaceDto.ModelTypeName}Service.Add${replaceDto.ModelTypeName}(modal);
  76. return SUCCESS(response);
  77. }
  78. $end
  79. $if(replaceDto.ShowBtnEdit)
  80. /// <summary>
  81. /// 更新${genTable.FunctionName}
  82. /// </summary>
  83. /// <returns></returns>
  84. [HttpPut]
  85. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:edit")]
  86. [Log(Title = "${genTable.FunctionName}", BusinessType = BusinessType.UPDATE)]
  87. public IActionResult Update${replaceDto.ModelTypeName}([FromBody] ${replaceDto.ModelTypeName}Dto parm)
  88. {
  89. var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToUpdate(HttpContext);
  90. var response = _${replaceDto.ModelTypeName}Service.Update${replaceDto.ModelTypeName}(modal);
  91. return ToResponse(response);
  92. }
  93. $end
  94. $if(replaceDto.ShowBtnDelete || replaceDto.ShowBtnMultiDel)
  95. /// <summary>
  96. /// 删除${genTable.FunctionName}
  97. /// </summary>
  98. /// <returns></returns>
  99. [HttpPost("delete/{ids}")]
  100. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:delete")]
  101. [Log(Title = "${genTable.FunctionName}", BusinessType = BusinessType.DELETE)]
  102. public IActionResult Delete${replaceDto.ModelTypeName}([FromRoute]string ids)
  103. {
  104. var idArr = Tools.SplitAndConvert<${replaceDto.PKType}>(ids);
  105. return ToResponse(_${replaceDto.ModelTypeName}Service.Delete(idArr$if(replaceDto.enableLog), "删除${genTable.FunctionName}"$end));
  106. }
  107. $end
  108. $if(replaceDto.ShowBtnExport)
  109. /// <summary>
  110. /// 导出${genTable.FunctionName}
  111. /// </summary>
  112. /// <returns></returns>
  113. [Log(Title = "${genTable.FunctionName}", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
  114. [HttpGet("export")]
  115. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:export")]
  116. public IActionResult Export([FromQuery] ${replaceDto.ModelTypeName}QueryDto parm)
  117. {
  118. var list = _${replaceDto.ModelTypeName}Service.ExportList(parm).Result;
  119. if (list == null || list.Count <= 0)
  120. {
  121. return ToResponse(ResultCode.FAIL, "没有要导出的数据");
  122. }
  123. var result = ExportExcelMini(list, "${genTable.FunctionName}", "${genTable.FunctionName}");
  124. return ExportExcel(result.Item2, result.Item1);
  125. }
  126. $end
  127. $if(replaceDto.ShowBtnTruncate)
  128. /// <summary>
  129. /// 清空${genTable.FunctionName}
  130. /// </summary>
  131. /// <returns></returns>
  132. [Log(Title = "${genTable.FunctionName}", BusinessType = BusinessType.CLEAN)]
  133. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:delete")]
  134. [HttpPost("clean")]
  135. public IActionResult Clear()
  136. {
  137. if (!HttpContextExtension.IsAdmin(HttpContext))
  138. {
  139. return ToResponse(ResultCode.FAIL, "操作失败");
  140. }
  141. return SUCCESS(_${replaceDto.ModelTypeName}Service.Truncate${replaceDto.ModelTypeName}());
  142. }
  143. $end
  144. $if(replaceDto.ShowBtnImport)
  145. /// <summary>
  146. /// 导入
  147. /// </summary>
  148. /// <param name="formFile"></param>
  149. /// <returns></returns>
  150. [HttpPost("importData")]
  151. [Log(Title = "${genTable.FunctionName}导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)]
  152. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:import")]
  153. public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile)
  154. {
  155. List<${replaceDto.ModelTypeName}Dto> list = new();
  156. using (var stream = formFile.OpenReadStream())
  157. {
  158. list = stream.Query<${replaceDto.ModelTypeName}Dto>(startCell: "A1").ToList();
  159. }
  160. return SUCCESS(_${replaceDto.ModelTypeName}Service.Import${replaceDto.ModelTypeName}(list.Adapt<List<${replaceDto.ModelTypeName}>>()));
  161. }
  162. /// <summary>
  163. /// ${genTable.FunctionName}导入模板下载
  164. /// </summary>
  165. /// <returns></returns>
  166. [HttpGet("importTemplate")]
  167. [Log(Title = "${genTable.FunctionName}模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
  168. [AllowAnonymous]
  169. public IActionResult ImportTemplateExcel()
  170. {
  171. var result = DownloadImportTemplate(new List<${replaceDto.ModelTypeName}Dto>() { }, "${replaceDto.ModelTypeName}");
  172. return ExportExcel(result.Item2, result.Item1);
  173. }
  174. $end
  175. $if(showCustomInput)
  176. /// <summary>
  177. /// 保存排序
  178. /// </summary>
  179. /// <param name="id">主键</param>
  180. /// <param name="value">排序值</param>
  181. /// <returns></returns>
  182. [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:edit")]
  183. [HttpGet("ChangeSort")]
  184. [Log(Title = "保存排序", BusinessType = BusinessType.UPDATE)]
  185. public IActionResult ChangeSort(int id = 0, int value = 0)
  186. {
  187. if (id <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
  188. var response = _${replaceDto.ModelTypeName}Service.Update(w => w.${replaceDto.PKName} == id, it => new ${replaceDto.ModelTypeName}()
  189. {
  190. $foreach(item in genTable.Columns)
  191. $if((item.htmlType == "customInput"))
  192. $item.CsharpField = value,
  193. $end
  194. ${end}
  195. });
  196. return ToResponse(response);
  197. }
  198. $end
  199. }
  200. }