/* * Copyright (c) 2018-2025, lengleng All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the yifu4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: lengleng (wangiegie@gmail.com) */ package ${package}.${moduleName}.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import ${package}.${moduleName}.entity.${className}; import ${package}.${moduleName}.service.${className}Service; import ${package}.${moduleName}.vo.${className}Vo; import ${package}.${moduleName}.vo.${className}SearchVo; import org.springframework.security.access.prepost.PreAuthorize; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; /** * ${comments} * * @author ${author} * @date ${datetime} */ @RestController @RequiredArgsConstructor @RequestMapping("/${pathName}" ) @Tag(name = "${comments}管理") public class ${className}Controller { private final ${className}Service ${classname}Service; #*/** * 分页查询 * @param page 分页对象 * @param ${classname} ${comments} * @return */ @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page" ) //@PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}_get')" ) public R<IPage<${className}>> get${className}Page(Page page, ${className} ${classname}) { return R.ok(${classname}Service.page(page, Wrappers.query(${classname}))); }*# /** * 简单分页查询 * @param page 分页对象 * @param ${classname} ${comments} * @return */ @Operation(description = "简单分页查询") @GetMapping("/page") public R<IPage<${className}>> get${className}Page(Page<${className}> page, ${className}SearchVo ${classname}) { return new R<>(${classname}Service.get${className}Page(page,${classname})); } /** * 不分页查询 * @param ${classname} ${comments} * @return */ @Operation(summary = "不分页查询", description = "不分页查询") @PostMapping("/noPage" ) //@PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}_get')" ) public R<List<${className}>> get${className}NoPage(@RequestBody ${className}SearchVo ${classname}) { return R.ok(${classname}Service.noPageDiy(${classname})); } /** * 通过id查询${comments} * @param ${pk.lowerAttrName} id * @return R */ @Operation(summary = "通过id查询", description = "通过id查询:hasPermission('${moduleName}_${pathName}_get')") @GetMapping("/{${pk.lowerAttrName}}" ) @PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}_get')" ) public R<${className}> getById(@PathVariable("${pk.lowerAttrName}" ) ${pk.attrType} ${pk.lowerAttrName}) { return R.ok(${classname}Service.getById(${pk.lowerAttrName})); } /** * 新增${comments} * @param ${classname} ${comments} * @return R */ @Operation(summary = "新增${comments}", description = "新增${comments}:hasPermission('${moduleName}_${pathName}_add')") @SysLog("新增${comments}" ) @PostMapping @PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}_add')" ) public R<Boolean> save(@RequestBody ${className} ${classname}) { return R.ok(${classname}Service.save(${classname})); } /** * 修改${comments} * @param ${classname} ${comments} * @return R */ @Operation(summary = "修改${comments}", description = "修改${comments}:hasPermission('${moduleName}_${pathName}_edit')") @SysLog("修改${comments}" ) @PutMapping @PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}_edit')" ) public R<Boolean> updateById(@RequestBody ${className} ${classname}) { return R.ok(${classname}Service.updateById(${classname})); } /** * 通过id删除${comments} * @param ${pk.lowerAttrName} id * @return R */ @Operation(summary = "通过id删除${comments}", description = "通过id删除${comments}:hasPermission('${moduleName}_${pathName}_del')") @SysLog("通过id删除${comments}" ) @DeleteMapping("/{${pk.lowerAttrName}}" ) @PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}_del')" ) public R<Boolean> removeById(@PathVariable ${pk.attrType} ${pk.lowerAttrName}) { return R.ok(${classname}Service.removeById(${pk.lowerAttrName})); } /** * ${comments} 批量导入 * * @author ${author} * @date ${datetime} **/ @SneakyThrows @Operation(description = "批量新增${comments} hasPermission('${moduleName}_${pathName}-batch-import')") @SysLog("批量新增${comments}") @PostMapping("/importListAdd") @PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}-batch-import')") public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file){ return ${classname}Service.importDiy(file.getInputStream()); } /** * ${comments} 批量导出 * @author ${author} * @date ${datetime} **/ @Operation(description = "导出${comments} hasPermission('${moduleName}_${pathName}-export')") @PostMapping("/export") @PreAuthorize("@pms.hasPermission('${moduleName}_${pathName}-export')") public void export(HttpServletResponse response, @RequestBody ${className}SearchVo searchVo) { ${classname}Service.listExport(response,searchVo); } }