package ${packageName}.controller; import java.util.List; import jakarta.servlet.http.HttpServletResponse; 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 io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import com.twelvet.framework.log.annotation.Log; import com.twelvet.framework.log.enums.BusinessType; import cn.dev33.satoken.annotation.SaCheckPermission; import ${packageName}.domain.${ClassName}; import ${packageName}.service.I${ClassName}Service; import com.twelvet.framework.core.application.controller.TWTController; import com.twelvet.framework.core.application.domain.AjaxResult; import com.twelvet.framework.core.application.domain.JsonResult; import cn.twelvet.excel.annotation.ResponseExcel; #if($table.crud || $table.sub) import com.twelvet.framework.jdbc.web.utils.PageUtils; #elseif($table.tree) #end /** * ${functionName}Controller * * @author ${author} * @WebSite twelvet.cn * @date ${datetime} */ @Tag(description = "${ClassName}Controller", name = "${functionName}") @RestController @RequestMapping("/${moduleName}/${businessName}") public class ${ClassName}Controller extends TWTController { @Autowired private I${ClassName}Service ${className}Service; /** * 查询${functionName}列表 */ @Operation(summary = "查询${functionName}列表") @SaCheckPermission("${permissionPrefix}:list") @GetMapping("/pageQuery") #if($table.crud || $table.sub) public JsonResult pageQuery(${ClassName} ${className}) { PageUtils.startPage(); List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); return JsonResult.success(PageUtils.getDataTable(list)); } #elseif($table.tree) public JsonResult> list(${ClassName} ${className}) { List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); return JsonResult.success(list); } #end /** * 导出${functionName}列表 */ @ResponseExcel(name = "${functionName}") @Operation(summary = "导出${functionName}列表") @SaCheckPermission("${permissionPrefix}:export") @Log(service = "${functionName}", businessType = BusinessType.EXPORT) @PostMapping("/export") public List<${ClassName}> export(${ClassName} ${className}) { return ${className}Service.select${ClassName}List(${className}); } /** * 获取${functionName}详细信息 */ @Operation(summary = "获取${functionName}详细信息") @SaCheckPermission("${permissionPrefix}:query") @GetMapping(value = "/{${pkColumn.javaField}}") public JsonResult<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) { return JsonResult.success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField})); } /** * 新增${functionName} */ @Operation(summary = "新增${functionName}") @SaCheckPermission("${permissionPrefix}:add") @Log(service = "${functionName}", businessType = BusinessType.INSERT) @PostMapping public JsonResult add(@RequestBody ${ClassName} ${className}) { return json(${className}Service.insert${ClassName}(${className})); } /** * 修改${functionName} */ @Operation(summary = "修改${functionName}") @SaCheckPermission("${permissionPrefix}:edit") @Log(service = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping public JsonResult edit(@RequestBody ${ClassName} ${className}) { return json(${className}Service.update${ClassName}(${className})); } /** * 删除${functionName} */ @Operation(summary = "删除${functionName}") @SaCheckPermission("${permissionPrefix}:remove") @Log(service = "${functionName}", businessType = BusinessType.DELETE) @DeleteMapping("/{${pkColumn.javaField}s}") public JsonResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) { return json(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s)); } }