package ${package.Controller}; import ${updateGroup}; import ${addGroup}; import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; import lombok.RequiredArgsConstructor; import java.util.List; import org.springframework.validation.annotation.Validated; import javax.validation.constraints.NotEmpty; #if(${swagger}) import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; #end import ${package.Service}.${table.ServiceName}; import ${responseDataPath}; import ${package.Other}.form.${formInfo.formName}; import ${package.Other}.query.${queryInfo.queryName}; #if(${entityLombokModel}) import lombok.RequiredArgsConstructor; #end #if(${restControllerStyle}) import org.springframework.web.bind.annotation.*; #else import org.springframework.stereotype.Controller; #end #if(${superControllerClassPackage}) import ${superControllerClassPackage}; #end /** * $!{table.comment} 前端控制器 * * @author ${author} * @since ${date} */ @Validated #if(${entityLombokModel}) @RequiredArgsConstructor #end #if(${swagger}) @Api(value = "${table.comment}", tags = "${table.comment}管理") #end #if(${restControllerStyle}) @RestController #else @Controller #end @RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.name}#end") #if(${kotlin}) class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end #else #if(${superControllerClass}) public class ${table.controllerName} extends ${superControllerClass} { #else public class ${table.controllerName} { #end private final ${table.serviceName} ${serviceNameFirstWordToLower}; @PostMapping #if(${swagger}) @ApiOperation(value = "添加", notes = "添加") #end @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:add')") public ${responseDataName} add(@RequestBody @Validated(Add.class) ${entity}Form form) { return ${serviceNameFirstWordToLower}.add(form); } @PutMapping #if(${swagger}) @ApiOperation(value = "修改", notes = "修改") #end @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:edit')") public ${responseDataName} update(@RequestBody @Validated(Update.class) ${entity}Form form) { return ${serviceNameFirstWordToLower}.update(form); } @DeleteMapping("/{id}") #if(${swagger}) @ApiOperation(value = "ID删除", notes = "ID删除") #end @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:del')") public ${responseDataName} removeById(@PathVariable("id") String id) { return ${serviceNameFirstWordToLower}.removeById(id); } @DeleteMapping("/batch") #if(${swagger}) @ApiOperation(value = "批量删除", notes = "批量删除") #end @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:del:batch')") public ${responseDataName} remove(@RequestBody @NotEmpty(message = "请选择数据") List ids) { return ${serviceNameFirstWordToLower}.remove(ids); } @GetMapping("/page") #if(${swagger}) @ApiOperation(value = "分页", notes = "分页") #end @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:page')") public ${responseDataName} page(${entity}Query query) { return ${serviceNameFirstWordToLower}.page(query); } @GetMapping("/{id}") #if(${swagger}) @ApiOperation(value = "详情", notes = "详情") #end @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:detail')") public ${responseDataName} detail(@PathVariable("id") Integer id) { return ${serviceNameFirstWordToLower}.detail(id); } @GetMapping("/list") @PreAuthorize("hasAuthority('$!{vueInfo.lowerName}:list')") @ApiOperation(value = "列表", notes = "列表") public ${responseDataName} list() { return ${serviceNameFirstWordToLower}.all(); } } #end