TplControllers.txt 7.9 KB

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