| package ${packageName}.controller; | 
|   | 
| import java.util.List; | 
| import java.io.IOException; | 
| import javax.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 com.ruoyi.common.log.annotation.Log; | 
| import com.ruoyi.common.log.enums.BusinessType; | 
| import com.ruoyi.common.security.annotation.RequiresPermissions; | 
| import ${packageName}.domain.${ClassName}; | 
| import ${packageName}.service.I${ClassName}Service; | 
| import com.ruoyi.common.core.web.controller.BaseController; | 
| import com.ruoyi.common.core.web.domain.AjaxResult; | 
| import com.ruoyi.common.core.utils.poi.ExcelUtil; | 
| #if($table.crud || $table.sub) | 
| import com.ruoyi.common.core.web.page.TableDataInfo; | 
| #elseif($table.tree) | 
| #end | 
|   | 
| /** | 
|  * ${functionName}Controller | 
|  *  | 
|  * @author ${author} | 
|  * @date ${datetime} | 
|  */ | 
| @RestController | 
| @RequestMapping("/${businessName}") | 
| public class ${ClassName}Controller extends BaseController | 
| { | 
|     @Autowired | 
|     private I${ClassName}Service ${className}Service; | 
|   | 
|     /** | 
|      * 查询${functionName}列表 | 
|      */ | 
|     @RequiresPermissions("${permissionPrefix}:list") | 
|     @GetMapping("/list") | 
| #if($table.crud || $table.sub) | 
|     public TableDataInfo list(${ClassName} ${className}) | 
|     { | 
|         startPage(); | 
|         List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); | 
|         return getDataTable(list); | 
|     } | 
| #elseif($table.tree) | 
|     public AjaxResult list(${ClassName} ${className}) | 
|     { | 
|         List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); | 
|         return success(list); | 
|     } | 
| #end | 
|   | 
|     /** | 
|      * 导出${functionName}列表 | 
|      */ | 
|     @RequiresPermissions("${permissionPrefix}:export") | 
|     @Log(title = "${functionName}", businessType = BusinessType.EXPORT) | 
|     @PostMapping("/export") | 
|     public void export(HttpServletResponse response, ${ClassName} ${className}) | 
|     { | 
|         List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); | 
|         ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); | 
|         util.exportExcel(response, list, "${functionName}数据"); | 
|     } | 
|   | 
|     /** | 
|      * 获取${functionName}详细信息 | 
|      */ | 
|     @RequiresPermissions("${permissionPrefix}:query") | 
|     @GetMapping(value = "/{${pkColumn.javaField}}") | 
|     public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) | 
|     { | 
|         return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField})); | 
|     } | 
|   | 
|     /** | 
|      * 新增${functionName} | 
|      */ | 
|     @RequiresPermissions("${permissionPrefix}:add") | 
|     @Log(title = "${functionName}", businessType = BusinessType.INSERT) | 
|     @PostMapping | 
|     public AjaxResult add(@RequestBody ${ClassName} ${className}) | 
|     { | 
|         return toAjax(${className}Service.insert${ClassName}(${className})); | 
|     } | 
|   | 
|     /** | 
|      * 修改${functionName} | 
|      */ | 
|     @RequiresPermissions("${permissionPrefix}:edit") | 
|     @Log(title = "${functionName}", businessType = BusinessType.UPDATE) | 
|     @PutMapping | 
|     public AjaxResult edit(@RequestBody ${ClassName} ${className}) | 
|     { | 
|         return toAjax(${className}Service.update${ClassName}(${className})); | 
|     } | 
|   | 
|     /** | 
|      * 删除${functionName} | 
|      */ | 
|     @RequiresPermissions("${permissionPrefix}:remove") | 
|     @Log(title = "${functionName}", businessType = BusinessType.DELETE) | 
|     @DeleteMapping("/{${pkColumn.javaField}s}") | 
|     public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) | 
|     { | 
|         return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s)); | 
|     } | 
| } |