package ${packageName}.${moduleName}.${subpackageName}; import ${packageName}.${moduleName}.service.${entityName}Service; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import ${packageName}.${moduleName}.model.form.${entityName}Form; import ${packageName}.${moduleName}.model.query.${entityName}Query; import ${packageName}.${moduleName}.model.vo.${entityName}Vo; import com.baomidou.mybatisplus.core.metadata.IPage; import com.youlai.boot.core.web.PageResult; import com.youlai.boot.core.web.Result; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; /** * $!{businessName}前端控制层 * * @author ${author} * @since ${date} */ @Tag(name = "${businessName}接口") @RestController @RequestMapping("/api/v1/${entityKebab}") @RequiredArgsConstructor public class ${entityName}Controller { private final ${entityName}Service ${entityLowerCamel}Service; @Operation(summary = "$!{businessName}分页列表") @GetMapping @PreAuthorize("@ss.hasPerm('${moduleName}:${entityKebab}:list')") public PageResult<${entityName}Vo> get${entityName}Page(${entityName}Query queryParams ) { IPage<${entityName}Vo> result = ${entityLowerCamel}Service.get${entityName}Page(queryParams); return PageResult.success(result); } @Operation(summary = "新增${businessName}") @PostMapping @PreAuthorize("@ss.hasPerm('${moduleName}:${entityKebab}:create')") public Result save${entityName}(@RequestBody @Valid ${entityName}Form formData ) { boolean result = ${entityLowerCamel}Service.save${entityName}(formData); return Result.judge(result); } @Operation(summary = "获取${businessName}表单数据") @GetMapping("/{id}/form") @PreAuthorize("@ss.hasPerm('${moduleName}:${entityKebab}:update')") public Result<${entityName}Form> get${entityName}Form( @Parameter(description = "$!{businessName}ID") @PathVariable Long id ) { ${entityName}Form formData = ${entityLowerCamel}Service.get${entityName}FormData(id); return Result.success(formData); } @Operation(summary = "修改${businessName}") @PutMapping(value = "/{id}") @PreAuthorize("@ss.hasPerm('${moduleName}:${entityKebab}:update')") public Result update${entityName}( @Parameter(description = "$!{businessName}ID") @PathVariable Long id, @RequestBody @Validated ${entityName}Form formData ) { boolean result = ${entityLowerCamel}Service.update${entityName}(id, formData); return Result.judge(result); } @Operation(summary = "删除${businessName}") @DeleteMapping("/{ids}") @PreAuthorize("@ss.hasPerm('${moduleName}:${entityKebab}:delete')") public Result delete${entityName}s( @Parameter(description = "$!{businessName}ID,多个以英文逗号(,)分割") @PathVariable String ids ) { boolean result = ${entityLowerCamel}Service.delete${entityName}s(ids); return Result.judge(result); } }