You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
6.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package ${packageName}.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
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.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
import com.neu.common.utils.poi.ExcelUtil;
#if($table.crud || $table.sub)
import com.neu.common.core.page.TableDataInfo;
#elseif($table.tree)
#end
/**
* ${functionName}Controller
*
* @author ${author}
* @date ${datetime}
*/
@Api(tags = {"${functionName}"})
@RestController
@RequestMapping("/${moduleName}/${businessName}")
public class ${ClassName}Controller extends BaseController
{
@Autowired
private I${ClassName}Service ${className}Service;
/**
* 查询${functionName}列表
*/
@GetMapping("/list")
#if($table.crud || $table.sub)
@ApiOperation("查询${functionName}列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = ${ClassName}.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(${ClassName} ${className})
{
startPage();
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
return getDataTable(list);
}
#elseif($table.tree)
@ApiOperation("查询${functionName}列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据(数组类型)", dataTypeClass = ${ClassName}.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public AjaxResult list(${ClassName} ${className})
{
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
return AjaxResult.success(list);
}
#end
/**
* 导出${functionName}列表
*/
@ApiOperation("导出${functionName}列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(${ClassName} ${className})
{
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
return util.exportExcel(list, "${businessName}");
}
/**
* 获取${functionName}详细信息
*/
@ApiOperation("获取${functionName}详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = ${ClassName}.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{${pkColumn.javaField}}")
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
{
return AjaxResult.success(${className}Service.select${ClassName}ById(${pkColumn.javaField}));
}
/**
* 新增${functionName}
*/
@ApiOperation("新增${functionName}")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}Service.insert${ClassName}(${className}));
}
/**
* 修改${functionName}
*/
@ApiOperation("修改${functionName}")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}Service.update${ClassName}(${className}));
}
/**
* 删除${functionName}
*/
@ApiOperation("删除${functionName}")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('${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}ByIds(${pkColumn.javaField}s));
}
}