controller.java.vm 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. #set($pkCapName=$pkColumn.javaField.substring(0,1).toUpperCase() + ${pkColumn.javaField.substring(1)})
  2. package ${packageName}.controller;
  3. import java.util.List;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. import javax.validation.constraints.*;
  7. import org.apache.commons.lang3.StringUtils;
  8. import org.springframework.web.bind.annotation.*;
  9. import org.springframework.validation.annotation.Validated;
  10. import org.springframework.security.access.prepost.PreAuthorize;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import com.aidex.common.annotation.Log;
  13. import com.aidex.common.core.domain.R;
  14. import com.aidex.common.core.domain.TreeNode;
  15. import com.aidex.common.enums.BusinessType;
  16. import com.aidex.common.constant.Constants;
  17. import com.aidex.framework.cache.DictUtils;
  18. import com.aidex.common.core.controller.BaseController;
  19. import ${packageName}.domain.${ClassName};
  20. import ${packageName}.service.${ClassName}Service;
  21. /**
  22. * ${functionName}Controller
  23. * @author ${functionAuthor}
  24. * @email ${functionAuthorEmail}
  25. * @date ${datetime}
  26. */
  27. @RestController
  28. @RequestMapping("/${moduleName}/${businessName}")
  29. public class ${ClassName}Controller extends BaseController
  30. {
  31. @Autowired
  32. private ${ClassName}Service ${className}Service;
  33. /**
  34. * 查询${functionName}树列表
  35. */
  36. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
  37. @GetMapping("/list/{level}/{id}")
  38. public R list(@PathVariable("level") @NotEmpty int level, @PathVariable("id") String id) {
  39. if (level == 0) {
  40. level = 2;
  41. }
  42. //默认为根节点
  43. if (StringUtils.isEmpty(id)) {
  44. id = Constants.TREE_ROOT;
  45. }
  46. List<${ClassName}> ${className}List = ${className}Service.listDataByLevel(level, id);
  47. return R.data(${className}List);
  48. }
  49. /**
  50. * 查询${functionName}树结构
  51. * @param level
  52. * @return
  53. */
  54. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
  55. @GetMapping("/listTree/{level}/{id}")
  56. public R listTree(@NotBlank @PathVariable("level") int level, @PathVariable("id") String id) {
  57. if (level == 0) {
  58. level = 2;
  59. }
  60. //默认为根节点
  61. if (StringUtils.isEmpty(id)) {
  62. id = Constants.TREE_ROOT;
  63. }
  64. List<TreeNode> ${className}List = ${className}Service.buildTree(level, id);
  65. return R.data(${className}List);
  66. }
  67. /**
  68. * 查询${functionName}树结构(排除当前节点及子节点)
  69. * @param level
  70. * @return
  71. */
  72. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
  73. @GetMapping("/listTreeExcludeChild/{level}/{id}/{excludeId}")
  74. public R listTreeExcludeChild(@NotBlank @PathVariable("level") int level, @PathVariable("id") String id, @PathVariable("excludeId") String excludeId) {
  75. if (level == 0) {
  76. level = 2;
  77. }
  78. //默认为根节点
  79. if (StringUtils.isEmpty(id)) {
  80. id = Constants.TREE_ROOT;
  81. }
  82. ${ClassName} ${className} = ${className}Service.get(excludeId);
  83. List<TreeNode> ${className}List = ${className}Service.buildTreeDataExcludeChild(level, id, ${className});
  84. return R.data(${className}List);
  85. }
  86. /**
  87. * 获取${functionName}详细信息
  88. */
  89. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
  90. @GetMapping(value = "/{id}")
  91. public R<${ClassName}> detail(@PathVariable("id") ${pkColumn.javaType} id)
  92. {
  93. return R.data(${className}Service.get(id));
  94. }
  95. /**
  96. * 新增${functionName}
  97. */
  98. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
  99. @Log(title = "${functionName}", businessType = BusinessType.INSERT)
  100. @PostMapping
  101. public R add(@RequestBody @Validated ${ClassName} ${className})
  102. {
  103. ${className}Service.save(${className});
  104. return R.data(${className});
  105. }
  106. /**
  107. * 修改${functionName}
  108. */
  109. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
  110. @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
  111. @PutMapping
  112. public R edit(@RequestBody @Validated ${ClassName} ${className})
  113. {
  114. ${className}Service.save(${className});
  115. return R.data(${className});
  116. }
  117. /**
  118. * 删除${functionName}
  119. */
  120. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
  121. @Log(title = "${functionName}", businessType = BusinessType.DELETE)
  122. @DeleteMapping("/{id}")
  123. public R remove(@PathVariable String id) {
  124. ${ClassName} ${className} = new ${ClassName}();
  125. ${className}.set${pkCapName}(id);
  126. return R.status(${className}Service.remove(${className}));
  127. }
  128. #if($hasDisableEnable)
  129. /**
  130. * 更新${functionName}状态
  131. */
  132. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
  133. @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
  134. @PutMapping("/updateStatus")
  135. public R updateStatus(@RequestBody ${ClassName} ${className}) {
  136. return R.status(${className}Service.updateStatus(${className}));
  137. }
  138. #end
  139. /**
  140. * 获取最大编号
  141. */
  142. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
  143. @GetMapping("/findMaxSort/{parentId}")
  144. public R findMaxSort(@PathVariable String parentId)
  145. {
  146. ${ClassName} ${className} = new ${ClassName}();
  147. ${className}.setParentId(parentId);
  148. return R.data(${className}Service.findMaxSort(${className}));
  149. }
  150. /**
  151. * ${functionName}树表格检索
  152. */
  153. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
  154. @GetMapping("/search${ClassName}List")
  155. public R search${ClassName}List (${ClassName} ${className})
  156. {
  157. List<${ClassName}> ${className}List = ${className}Service.search${ClassName}List(${className});
  158. return R.data(${className}List);
  159. }
  160. /**
  161. * ${functionName}树检索
  162. */
  163. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
  164. @GetMapping("/search${ClassName}")
  165. public R search${ClassName} (${ClassName} ${className})
  166. {
  167. List<TreeNode> ${className}List = ${className}Service.search${ClassName}(${className});
  168. return R.data(${className}List);
  169. }
  170. #foreach($column in $uniqueColumns)
  171. #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  172. /**
  173. * 校验${column.columnComment}的唯一性
  174. */
  175. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
  176. @Log(title = "${functionName}", businessType = BusinessType.CHECK)
  177. @GetMapping(value = {"/check${attrName}Unique/{${column.javaField}}/{id}", "/check${attrName}Unique/{${column.javaField}}"})
  178. public R check${attrName}Unique(@NotBlank(message = "${column.columnComment}不允许为空") @PathVariable("${column.javaField}") String ${column.javaField}, @PathVariable(value = "id", required = false) String id) {
  179. ${ClassName} ${className} = new ${ClassName}();
  180. ${className}.set${attrName}(${column.javaField});
  181. ${className}.set${pkCapName}(id);
  182. ${className}Service.check${attrName}Unique(${className});
  183. return R.status(Boolean.TRUE);
  184. }
  185. #end
  186. /**
  187. * 根据字典类型查询字典数据信息等其他自定义信息
  188. */
  189. @GetMapping(value = "/getInitData/{dictTypes}")
  190. public R getInitData(@PathVariable String dictTypes) {
  191. Map<String, Object> dataMap = new HashMap<String, Object>();
  192. dataMap.putAll(DictUtils.getMultiDictList(dictTypes));
  193. return R.data(dataMap);
  194. }
  195. }