All Downloads are FREE. Search and download functionalities are using the official Maven repository.

vm.java.ApiController.vm Maven / Gradle / Ivy

There is a newer version: 1.1.2.RELEASE
Show newest version
package ${packageName}.controller.api.${moduleName};

import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import ${packageName}.${moduleName}.bo.${ClassName}BO;
import ${packageName}.${moduleName}.service.I${ClassName}Service;
import com.beli.common.pojos.vo.BaseResponseVO;
import com.beli.common.pojos.vo.PageQueryVO;
import com.beli.common.pojos.vo.PageResultVO;
import com.beli.common.utils.DateUtil;
/**
 * ${functionName}
 * 
 * @author ${author}
 * @date ${datetime}
 */
@Api(tags = {"${functionName}"})
@RestController
@RequestMapping("/api/${moduleName}/${businessName}")
public class ${ClassName}ApiController {

	@Autowired
	private I${ClassName}Service ${className}Service;
	
	/**
	 * 列表
	 */
	@ApiOperation(value = "${functionName}列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "当前页码", dataType = "Long", paramType = "query",defaultValue = "1"),
            @ApiImplicitParam(name = "limit", value = "每页条数", dataType = "Long", paramType = "query",defaultValue = "30"),
#foreach($column in $columns)
#if($column.query)
			@ApiImplicitParam(name = "$column.javaField", value = "$column.columnComment", dataType = "String", paramType = "query"),
#end
#end

	})
	@ApiOperationSupport(ignoreParameters = {"params"})
	@GetMapping("/list")
	public BaseResponseVO> list(@RequestParam Map params){
		//查询列表数据
        PageQueryVO query = new PageQueryVO(params);
		PageResultVO resultVO  = ${className}Service.queryPageList(query);
		return BaseResponseVO.ok(resultVO);
	}
	
	/**
	 * 信息
	 */
	@ApiOperation(value = "${functionName}详情")
	@GetMapping("/info/{${pkColumn.javaField}}")
	public BaseResponseVO<${ClassName}BO> info(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}){
		${ClassName}BO ${className} = (${ClassName}BO)${className}Service.queryObject(${pkColumn.javaField});
		return BaseResponseVO.ok( ${className});
	}
	
	/**
	 * 保存
	 */
	@PostMapping("/save")
	@ApiOperation(value = "${functionName}保存")
	@ApiOperationSupport(ignoreParameters = {"${className}.id","${className}.createDate","${className}.updaeDate"})
	public BaseResponseVO save(@RequestBody ${ClassName}BO ${className}){
#foreach($column in $columns)
#if(${column.javaField} == "createDate")
		${className}.setCreateDate(DateUtil.getNowString());
#end
#end
		${className}Service.save(${className});
		return BaseResponseVO.ok();
	}
	
	/**
	 * 修改
	 */
	@PutMapping("/update")
	@ApiOperation(value = "${functionName}修改")
	@ApiOperationSupport(ignoreParameters = {"${className}.createDate","${className}.updaeDate"})
	public BaseResponseVO update(@RequestBody ${ClassName}BO ${className}){
#foreach($column in $columns)
#if(${column.javaField} == "updateDate")
		${className}.setUpdateDate(DateUtil.getNowString());
#end
#end
		${className}Service.update(${className});
		return BaseResponseVO.ok();
	}
	
	/**
	 * 删除
	 */
	@ApiOperation(value = "${functionName}删除")
	@DeleteMapping("/delete/{${pkColumn.javaField}}")
	public BaseResponseVO delete(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}){
		${className}Service.deleteBatch(new ${pkColumn.javaType}[]{${pkColumn.javaField}});
		return BaseResponseVO.ok();
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy