controller.java.vm 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package ${packageName}.controller;
  2. import java.util.List;
  3. import com.aidex.common.annotation.Log;
  4. import com.aidex.common.core.domain.R;
  5. import com.github.pagehelper.PageInfo;
  6. import com.aidex.common.core.page.PageDomain;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import com.aidex.common.enums.BusinessType;
  10. import com.aidex.common.utils.poi.ExcelUtil;
  11. import javax.validation.constraints.*;
  12. import org.springframework.web.bind.annotation.*;
  13. import com.aidex.common.core.controller.BaseController;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.security.access.prepost.PreAuthorize;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import ${packageName}.domain.${ClassName};
  18. import ${packageName}.service.${ClassName}Service;
  19. /**
  20. * ${functionName}Controller
  21. * @author ${functionAuthor}
  22. * @email ${functionAuthorEmail}
  23. * @date ${datetime}
  24. */
  25. @RestController
  26. @RequestMapping("/${moduleName}/${businessName}")
  27. public class ${ClassName}Controller extends BaseController {
  28. @Autowired
  29. private ${ClassName}Service ${className}Service;
  30. /**
  31. * 查询${functionName}列表
  32. */
  33. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
  34. @GetMapping("/list")
  35. public R<PageInfo> list(${ClassName} ${className}, HttpServletRequest request, HttpServletResponse response) {
  36. ${className}.setPage(new PageDomain(request, response));
  37. return R.data(${className}Service.findPage(${className}));
  38. }
  39. /**
  40. * 获取${functionName}详细信息
  41. */
  42. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
  43. @GetMapping(value = "/{${pkColumn.javaField}}")
  44. public R<${ClassName}> detail(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
  45. return R.data(${className}Service.get(${pkColumn.javaField}));
  46. }
  47. /**
  48. * 新增${functionName}
  49. */
  50. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
  51. @Log(title = "${functionName}", businessType = BusinessType.INSERT)
  52. @PostMapping
  53. public R add(@RequestBody @Validated ${ClassName} ${className}) {
  54. #if($hasAttach)
  55. ${className}Service.save(${className});
  56. return R.data(${className});
  57. #else
  58. return R.status(${className}Service.save(${className}));
  59. #end
  60. }
  61. /**
  62. * 修改${functionName}
  63. */
  64. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
  65. @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
  66. @PutMapping
  67. public R edit(@RequestBody @Validated ${ClassName} ${className}) {
  68. #if($hasAttach)
  69. ${className}Service.save(${className});
  70. return R.data(${className});
  71. #else
  72. return R.status(${className}Service.save(${className}));
  73. #end
  74. }
  75. #if($hasDisableEnable)
  76. /**
  77. * 更新${functionName}状态
  78. */
  79. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
  80. @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
  81. @PutMapping("/updateStatus")
  82. public R updateStatus(@RequestBody ${ClassName} ${className}) {
  83. return R.status(${className}Service.updateStatus(${className}));
  84. }
  85. #end
  86. /**
  87. * 删除${functionName}
  88. */
  89. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
  90. @Log(title = "${functionName}", businessType = BusinessType.DELETE)
  91. @DeleteMapping("/{${pkColumn.javaField}s}")
  92. public R remove(@PathVariable ${pkColumn.javaType}[] ids) {
  93. return R.status(${className}Service.delete${ClassName}ByIds(ids));
  94. }
  95. #foreach($column in $columns)
  96. #if($column.columnName == "sort")
  97. /**
  98. * 获取最大编号
  99. */
  100. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
  101. @GetMapping("/findMaxSort")
  102. public R findMaxSort() {
  103. return R.data(${className}Service.findMaxSort(new ${ClassName}()));
  104. }
  105. #break
  106. #end
  107. #end
  108. #foreach($column in $uniqueColumns)
  109. #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  110. /**
  111. * 校验${column.columnComment}的唯一性
  112. */
  113. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
  114. @Log(title = "${functionName}", businessType = BusinessType.CHECK)
  115. @GetMapping(value = {"/check${attrName}Unique/{${column.javaField}}/{id}", "/check${attrName}Unique/{${column.javaField}}"})
  116. public R check${attrName}Unique(@NotBlank(message = "${column.columnComment}不允许为空") @PathVariable("${column.javaField}") String ${column.javaField}, @PathVariable(value = "id", required = false) String id) {
  117. ${ClassName} ${className} = new ${ClassName}();
  118. ${className}.set${attrName}(${column.javaField});
  119. ${className}.setId(id);
  120. ${className}Service.check${attrName}Unique(${className});
  121. return R.status(Boolean.TRUE);
  122. }
  123. #end
  124. /**
  125. * 导出${functionName}列表
  126. */
  127. @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
  128. @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
  129. @GetMapping("/export")
  130. public R export(${ClassName} ${className}) {
  131. List<${ClassName}> list = ${className}Service.findList(${className});
  132. ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
  133. return util.exportExcel(list, "${functionName}数据");
  134. }
  135. }