controller.java.vm 5.7 KB

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