Controller.java.vm 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. package ${basePackage}.web.controller.${moduleName};
  2. import java.util.List;
  3. import org.apache.shiro.authz.annotation.RequiresPermissions;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.ModelMap;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.PathVariable;
  9. import org.springframework.web.bind.annotation.PostMapping;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import com.ruoyi.common.annotation.Log;
  13. import com.ruoyi.common.enums.BusinessType;
  14. import ${packageName}.domain.${ClassName};
  15. import ${packageName}.service.I${ClassName}Service;
  16. import com.ruoyi.common.core.controller.BaseController;
  17. import com.ruoyi.common.core.domain.AjaxResult;
  18. import com.ruoyi.common.utils.poi.ExcelUtil;
  19. #if($table.crud)
  20. import com.ruoyi.common.core.page.TableDataInfo;
  21. #elseif($table.tree)
  22. import com.ruoyi.common.utils.StringUtils;
  23. import com.ruoyi.common.core.domain.Ztree;
  24. #end
  25. /**
  26. * ${functionName}Controller
  27. *
  28. * @author ${author}
  29. * @date ${datetime}
  30. */
  31. @Controller
  32. @RequestMapping("/${moduleName}/${businessName}")
  33. public class ${ClassName}Controller extends BaseController
  34. {
  35. private String prefix = "${moduleName}/${businessName}";
  36. @Autowired
  37. private I${ClassName}Service ${className}Service;
  38. @RequiresPermissions("${permissionPrefix}:view")
  39. @GetMapping()
  40. public String ${businessName}()
  41. {
  42. return prefix + "/${businessName}";
  43. }
  44. #if($table.tree)
  45. /**
  46. * 查询${functionName}树列表
  47. */
  48. @RequiresPermissions("${permissionPrefix}:list")
  49. @PostMapping("/list")
  50. @ResponseBody
  51. public List<${ClassName}> list(${ClassName} ${className})
  52. {
  53. List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
  54. return list;
  55. }
  56. #elseif($table.crud)
  57. /**
  58. * 查询${functionName}列表
  59. */
  60. @RequiresPermissions("${permissionPrefix}:list")
  61. @PostMapping("/list")
  62. @ResponseBody
  63. public TableDataInfo list(${ClassName} ${className})
  64. {
  65. startPage();
  66. List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
  67. return getDataTable(list);
  68. }
  69. #end
  70. /**
  71. * 导出${functionName}列表
  72. */
  73. @RequiresPermissions("${permissionPrefix}:export")
  74. @PostMapping("/export")
  75. @ResponseBody
  76. public AjaxResult export(${ClassName} ${className})
  77. {
  78. List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
  79. ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
  80. return util.exportExcel(list, "${businessName}");
  81. }
  82. #if($table.crud)
  83. /**
  84. * 新增${functionName}
  85. */
  86. @GetMapping("/add")
  87. public String add()
  88. {
  89. return prefix + "/add";
  90. }
  91. #elseif($table.tree)
  92. /**
  93. * 新增${functionName}
  94. */
  95. @GetMapping(value = { "/add/{${pkColumn.javaField}}", "/add/" })
  96. public String add(@PathVariable(value = "${pkColumn.javaField}", required = false) Long ${pkColumn.javaField}, ModelMap mmap)
  97. {
  98. if (StringUtils.isNotNull(${pkColumn.javaField}))
  99. {
  100. mmap.put("${className}", ${className}Service.select${ClassName}ById(${pkColumn.javaField}));
  101. }
  102. return prefix + "/add";
  103. }
  104. #end
  105. /**
  106. * 新增保存${functionName}
  107. */
  108. @RequiresPermissions("${permissionPrefix}:add")
  109. @Log(title = "${functionName}", businessType = BusinessType.INSERT)
  110. @PostMapping("/add")
  111. @ResponseBody
  112. public AjaxResult addSave(${ClassName} ${className})
  113. {
  114. return toAjax(${className}Service.insert${ClassName}(${className}));
  115. }
  116. /**
  117. * 修改${functionName}
  118. */
  119. @GetMapping("/edit/{${pkColumn.javaField}}")
  120. public String edit(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}, ModelMap mmap)
  121. {
  122. ${ClassName} ${className} = ${className}Service.select${ClassName}ById(${pkColumn.javaField});
  123. mmap.put("${className}", ${className});
  124. return prefix + "/edit";
  125. }
  126. /**
  127. * 修改保存${functionName}
  128. */
  129. @RequiresPermissions("${permissionPrefix}:edit")
  130. @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
  131. @PostMapping("/edit")
  132. @ResponseBody
  133. public AjaxResult editSave(${ClassName} ${className})
  134. {
  135. return toAjax(${className}Service.update${ClassName}(${className}));
  136. }
  137. #if($table.crud)
  138. /**
  139. * 删除${functionName}
  140. */
  141. @RequiresPermissions("${permissionPrefix}:remove")
  142. @Log(title = "${functionName}", businessType = BusinessType.DELETE)
  143. @PostMapping( "/remove")
  144. @ResponseBody
  145. public AjaxResult remove(String ids)
  146. {
  147. return toAjax(${className}Service.delete${ClassName}ByIds(ids));
  148. }
  149. #elseif($table.tree)
  150. /**
  151. * 删除
  152. */
  153. @RequiresPermissions("${permissionPrefix}:remove")
  154. @Log(title = "${functionName}", businessType = BusinessType.DELETE)
  155. @GetMapping("/remove/{${pkColumn.javaField}}")
  156. @ResponseBody
  157. public AjaxResult remove(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
  158. {
  159. return toAjax(${className}Service.delete${ClassName}ById(${pkColumn.javaField}));
  160. }
  161. #end
  162. #if($table.tree)
  163. /**
  164. * 选择${functionName}树
  165. */
  166. #set($BusinessName=$businessName.substring(0,1).toUpperCase() + ${businessName.substring(1)})
  167. @GetMapping(value = { "/select${BusinessName}Tree/{${pkColumn.javaField}}", "/select${BusinessName}Tree/" })
  168. public String select${BusinessName}Tree(@PathVariable(value = "${pkColumn.javaField}", required = false) Long ${pkColumn.javaField}, ModelMap mmap)
  169. {
  170. if (StringUtils.isNotNull(${pkColumn.javaField}))
  171. {
  172. mmap.put("${className}", ${className}Service.select${ClassName}ById(${pkColumn.javaField}));
  173. }
  174. return prefix + "/tree";
  175. }
  176. /**
  177. * 加载${functionName}树列表
  178. */
  179. @GetMapping("/treeData")
  180. @ResponseBody
  181. public List<Ztree> treeData()
  182. {
  183. List<Ztree> ztrees = ${className}Service.select${ClassName}Tree();
  184. return ztrees;
  185. }
  186. #end
  187. }