package ${packageName}.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import io.swagger.annotations.*; import org.apache.poi.ss.formula.functions.T; 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.muyu.common.core.domain.Result; import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; import ${packageName}.domain.${ClassName}; import ${packageName}.domain.req.${ClassName}QueryReq; import ${packageName}.domain.req.${ClassName}SaveReq; import ${packageName}.domain.req.${ClassName}EditReq; import ${packageName}.service.${ClassName}Service; #if($table.crud) import com.muyu.common.core.web.page.TableDataInfo; #elseif($table.tree) #end /** * ${functionName}Controller * * @author ${author} * @date ${datetime} */ @Api(tags = "${functionName}") @RestController @RequestMapping("/${businessName}") public class ${ClassName}Controller extends BaseController { @Autowired private ${ClassName}Service ${className}Service; /** * 查询${functionName}列表 */ @ApiOperation("获取${functionName}列表") @RequiresPermissions("${permissionPrefix}:list") @GetMapping("/list") #if($table.crud) public Result> list(${ClassName}QueryReq ${className}QueryReq) { startPage(); List<${ClassName}> list = ${className}Service.list(${ClassName}.queryBuild(${className}QueryReq)); return getDataTable(list); } #elseif($table.tree) public Result> list(${ClassName} ${className}) { List<${ClassName}> list = ${className}Service.list(${className}); return Result.success(list); } #end /** * 导出${functionName}列表 */ @ApiOperation("导出${functionName}列表") @RequiresPermissions("${permissionPrefix}:export") @Log(title = "${functionName}", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ${ClassName} ${className}) { List<${ClassName}> list = ${className}Service.list(${className}); ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); util.exportExcel(response, list, "${functionName}数据"); } /** * 获取${functionName}详细信息 */ @ApiOperation("获取${functionName}详细信息") @RequiresPermissions("${permissionPrefix}:query") @GetMapping(value = "/{${pkColumn.javaField}}") @ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = ${pkColumn.javaType}.class) public Result<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) { return Result.success(${className}Service.getById(${pkColumn.javaField})); } /** * 新增${functionName} */ @RequiresPermissions("${permissionPrefix}:add") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("新增${functionName}") public Result add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) { return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq))); } /** * 修改${functionName} */ @RequiresPermissions("${permissionPrefix}:edit") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping("/{${pkColumn.javaField}}") @ApiOperation("修改${functionName}") public Result edit(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) { return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq))); } /** * 删除${functionName} */ @RequiresPermissions("${permissionPrefix}:remove") @Log(title = "${functionName}", businessType = BusinessType.DELETE) @DeleteMapping("/{${pkColumn.javaField}s}") @ApiOperation("删除${functionName}") @ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") public Result remove(@PathVariable List<${pkColumn.javaType}> ${pkColumn.javaField}s) { return toAjax(${className}Service.removeBatchByIds(${pkColumn.javaField}s)); } }