package ${packageName}.controller; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ktg.common.annotation.Log; import com.ktg.common.core.controller.BaseController; import com.ktg.common.enums.BusinessType; import com.ktg.common.pojo.CommonResult; import com.ktg.common.utils.poi.ExcelUtil; import ${packageName}.domain.${ClassName}; import ${packageName}.service.I${ClassName}Service; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Arrays; #if($table.crud || $table.sub) import com.ktg.common.core.page.TableDataInfo; #elseif($table.tree) #end /** * ${functionName}Controller * * @author ${author} * @date ${datetime} */ @Api(tags = "${functionName}") @RestController @RequestMapping("/${moduleName}/${businessName}") public class ${ClassName}Controller extends BaseController { @Autowired private I${ClassName}Service ${className}Service; @ApiOperation("查询${functionName}-分页") @Parameters({ @Parameter(name = "page", description = "Page"), @Parameter(name = "${className}", description = "实体参数") }) @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @GetMapping("/get${ClassName}Page") #if($table.crud || $table.sub) public CommonResult> get${ClassName}Page(Page<${ClassName}> page, ${ClassName} ${className}) { Page<${ClassName}> result = ${className}Service.get${ClassName}Page(page, ${className}); return CommonResult.success(result); } #elseif($table.tree) public AjaxResult list(${ClassName} ${className}) { List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); return AjaxResult.success(list); } #end @ApiOperation("导出${functionName}列表") @Parameter(name = "${className}", description = "实体参数") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") @Log(title = "${functionName}", businessType = BusinessType.EXPORT) @PostMapping("/export${ClassName}") public void export${ClassName}(HttpServletResponse response, ${ClassName} ${className}) { Page<${ClassName}> page = new Page<>(); page.setSize(-1); page.setCurrent(1); List<${ClassName}> list = ${className}Service.page(page, Wrappers.<${ClassName}>lambdaQuery() .orderByDesc(${ClassName}::get${pkColumn.capJavaField})).getRecords(); ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); util.exportExcel(response, list, "${functionName}数据"); } @ApiOperation("获取${functionName}详细信息") @Parameter(name = "${pkColumn.javaField}", description = "${pkColumn.javaField}") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @GetMapping(value = "/select${ClassName}ById") public CommonResult<${ClassName}> select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}) { return CommonResult.success(${className}Service.getById(${pkColumn.javaField})); } @ApiOperation("新增${functionName}") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping("/insert${ClassName}") public CommonResult insert${ClassName}(@RequestBody @Parameter(name = "${className}", description = "新增数据类,放到body") ${ClassName} ${className}) { return CommonResult.success(${className}Service.save(${className})); } @ApiOperation("修改${functionName}") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PostMapping("/update${ClassName}") public CommonResult update${ClassName}(@RequestBody @Parameter(name = "${className}", description = "修改数据类,放到body") ${ClassName} ${className}) { return CommonResult.success(${className}Service.updateById(${className})); } @ApiOperation("删除${functionName}") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @Log(title = "${functionName}", businessType = BusinessType.DELETE) @PostMapping("/delete${ClassName}By${pkColumn.capJavaField}s") public CommonResult delete${ClassName}By${pkColumn.capJavaField}s(String ${pkColumn.javaField}s) { Assert.notBlank(${pkColumn.javaField}s, "请选择需要删除的数据!"); Long[] longIds = Convert.toLongArray(${pkColumn.javaField}s); return CommonResult.success(${className}Service.removeBatchByIds(Arrays.asList(longIds))); } }