controller.java.vm 6.6 KB

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