#set($pkCapName=$pkColumn.javaField.substring(0,1).toUpperCase() + ${pkColumn.javaField.substring(1)}) package ${packageName}.controller; import java.util.List; import java.util.HashMap; import java.util.Map; import javax.validation.constraints.*; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import com.aidex.common.annotation.Log; import com.aidex.common.core.domain.R; import com.aidex.common.core.domain.TreeNode; import com.aidex.common.enums.BusinessType; import com.aidex.common.constant.Constants; import com.aidex.framework.cache.DictUtils; import com.aidex.common.core.controller.BaseController; import ${packageName}.domain.${ClassName}; import ${packageName}.service.${ClassName}Service; /** * ${functionName}Controller * @author ${functionAuthor} * @email ${functionAuthorEmail} * @date ${datetime} */ @RestController @RequestMapping("/${moduleName}/${businessName}") public class ${ClassName}Controller extends BaseController { @Autowired private ${ClassName}Service ${className}Service; /** * 查询${functionName}树列表 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/list/{level}/{id}") public R list(@PathVariable("level") @NotEmpty int level, @PathVariable("id") String id) { if (level == 0) { level = 2; } //默认为根节点 if (StringUtils.isEmpty(id)) { id = Constants.TREE_ROOT; } List<${ClassName}> ${className}List = ${className}Service.listDataByLevel(level, id); return R.data(${className}List); } /** * 查询${functionName}树结构 * @param level * @return */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/listTree/{level}/{id}") public R listTree(@NotBlank @PathVariable("level") int level, @PathVariable("id") String id) { if (level == 0) { level = 2; } //默认为根节点 if (StringUtils.isEmpty(id)) { id = Constants.TREE_ROOT; } List ${className}List = ${className}Service.buildTree(level, id); return R.data(${className}List); } /** * 查询${functionName}树结构(排除当前节点及子节点) * @param level * @return */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/listTreeExcludeChild/{level}/{id}/{excludeId}") public R listTreeExcludeChild(@NotBlank @PathVariable("level") int level, @PathVariable("id") String id, @PathVariable("excludeId") String excludeId) { if (level == 0) { level = 2; } //默认为根节点 if (StringUtils.isEmpty(id)) { id = Constants.TREE_ROOT; } ${ClassName} ${className} = ${className}Service.get(excludeId); List ${className}List = ${className}Service.buildTreeDataExcludeChild(level, id, ${className}); return R.data(${className}List); } /** * 获取${functionName}详细信息 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @GetMapping(value = "/{id}") public R<${ClassName}> detail(@PathVariable("id") ${pkColumn.javaType} id) { return R.data(${className}Service.get(id)); } /** * 新增${functionName} */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping public R add(@RequestBody @Validated ${ClassName} ${className}) { ${className}Service.save(${className}); return R.data(${className}); } /** * 修改${functionName} */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping public R edit(@RequestBody @Validated ${ClassName} ${className}) { ${className}Service.save(${className}); return R.data(${className}); } /** * 删除${functionName} */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @Log(title = "${functionName}", businessType = BusinessType.DELETE) @DeleteMapping("/{id}") public R remove(@PathVariable String id) { ${ClassName} ${className} = new ${ClassName}(); ${className}.set${pkCapName}(id); return R.status(${className}Service.remove(${className})); } #if($hasDisableEnable) /** * 更新${functionName}状态 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping("/updateStatus") public R updateStatus(@RequestBody ${ClassName} ${className}) { return R.status(${className}Service.updateStatus(${className})); } #end /** * 获取最大编号 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @GetMapping("/findMaxSort/{parentId}") public R findMaxSort(@PathVariable String parentId) { ${ClassName} ${className} = new ${ClassName}(); ${className}.setParentId(parentId); return R.data(${className}Service.findMaxSort(${className})); } /** * ${functionName}树表格检索 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/search${ClassName}List") public R search${ClassName}List (${ClassName} ${className}) { List<${ClassName}> ${className}List = ${className}Service.search${ClassName}List(${className}); return R.data(${className}List); } /** * ${functionName}树检索 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/search${ClassName}") public R search${ClassName} (${ClassName} ${className}) { List ${className}List = ${className}Service.search${ClassName}(${className}); return R.data(${className}List); } #foreach($column in $uniqueColumns) #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) /** * 校验${column.columnComment}的唯一性 */ @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @Log(title = "${functionName}", businessType = BusinessType.CHECK) @GetMapping(value = {"/check${attrName}Unique/{${column.javaField}}/{id}", "/check${attrName}Unique/{${column.javaField}}"}) public R check${attrName}Unique(@NotBlank(message = "${column.columnComment}不允许为空") @PathVariable("${column.javaField}") String ${column.javaField}, @PathVariable(value = "id", required = false) String id) { ${ClassName} ${className} = new ${ClassName}(); ${className}.set${attrName}(${column.javaField}); ${className}.set${pkCapName}(id); ${className}Service.check${attrName}Unique(${className}); return R.status(Boolean.TRUE); } #end /** * 根据字典类型查询字典数据信息等其他自定义信息 */ @GetMapping(value = "/getInitData/{dictTypes}") public R getInitData(@PathVariable String dictTypes) { Map dataMap = new HashMap(); dataMap.putAll(DictUtils.getMultiDictList(dictTypes)); return R.data(dataMap); } }