package ${packageName}.controller; import java.util.List; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.github.xiaoymin.knife4j.annotations.DynamicParameter; import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.neu.common.annotation.Log; import com.neu.common.core.controller.BaseController; import com.neu.common.core.domain.AjaxResult; import com.neu.common.enums.BusinessType; import ${packageName}.domain.${ClassName}; import ${packageName}.service.I${ClassName}Service; import com.neu.common.utils.poi.ExcelUtil; #if($table.crud || $table.sub) import com.neu.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; /** * 查询${functionName}列表 */ @GetMapping("/list") #if($table.crud || $table.sub) @ApiOperation("查询${functionName}列表") @DynamicResponseParameters(properties = { @DynamicParameter(name = "total", value = "总记录数"), @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = ${ClassName}.class), @DynamicParameter(name = "msg", value = "返回消息内容") }) public TableDataInfo list(${ClassName} ${className}) { startPage(); List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); return getDataTable(list); } #elseif($table.tree) @ApiOperation("查询${functionName}列表") @DynamicResponseParameters(properties = { @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "data", value = "返回业务数据(数组类型)", dataTypeClass = ${ClassName}.class), @DynamicParameter(name = "msg", value = "返回消息内容") }) public AjaxResult list(${ClassName} ${className}) { List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); return AjaxResult.success(list); } #end /** * 导出${functionName}列表 */ @ApiOperation("导出${functionName}列表") @DynamicResponseParameters(properties = { @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "msg", value = "文件名") }) @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") @Log(title = "${functionName}", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(${ClassName} ${className}) { List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); return util.exportExcel(list, "${businessName}"); } /** * 获取${functionName}详细信息 */ @ApiOperation("获取${functionName}详细信息") @DynamicResponseParameters(properties = { @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = ${ClassName}.class), @DynamicParameter(name = "msg", value = "返回消息内容") }) @GetMapping(value = "/{${pkColumn.javaField}}") public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) { return AjaxResult.success(${className}Service.select${ClassName}ById(${pkColumn.javaField})); } /** * 新增${functionName} */ @ApiOperation("新增${functionName}") @DynamicResponseParameters(properties = { @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "msg", value = "返回消息内容") }) @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ${ClassName} ${className}) { return toAjax(${className}Service.insert${ClassName}(${className})); } /** * 修改${functionName} */ @ApiOperation("修改${functionName}") @DynamicResponseParameters(properties = { @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "msg", value = "返回消息内容") }) @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ${ClassName} ${className}) { return toAjax(${className}Service.update${ClassName}(${className})); } /** * 删除${functionName} */ @ApiOperation("删除${functionName}") @DynamicResponseParameters(properties = { @DynamicParameter(name = "code", value = "状态码,200正确,其他错误"), @DynamicParameter(name = "msg", value = "返回消息内容") }) @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @Log(title = "${functionName}", businessType = BusinessType.DELETE) @DeleteMapping("/{${pkColumn.javaField}s}") public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) { return toAjax(${className}Service.delete${ClassName}ByIds(${pkColumn.javaField}s)); } }