package com.unis.base.client;


import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;

import com.unis.base.common.vo.TyTfzyxxHisVO;
import com.unis.base.common.vo.TyTfzyxxVO;
import com.unis.common.utils.ResponseWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * @author huangxing
 * @version 1.0
 * @Title: BaseFeign
 * @ProjectName Base-Service
 * @Description:base层fegin接口
 * @date 2019/7/7 18:05
 */
@FeignClient(name = "base-server")
@Component
@Api(value = "通风作业信息", tags = "通风作业信息维护")
public interface VentilationOperationFeign {
	
	/**
	 * @author zhengbodang
	 * @Description 获取通风作业列表
	 * @param 
	 * @return 通风作业列表
	 */
	@ApiOperation(value = "通风作业列表", notes = "参数：")
	@PostMapping(value = "/ventilationOperationList")
    public ResponseWrapper getTyTfzyxxList(@RequestBody TyTfzyxxVO tyTfzyxxVO);
	
	/**
	 * @author zhengbodang
	 * @Description 分页获取通风作业信息列表
	 * @param 
	 * @return 
	 */
	@ApiOperation(value = "分页获取通风作业信息列表", notes = "参数：")
	@PostMapping(value = "/ventilationOperationPage/{pageNum}/{pageSize}")
    public ResponseWrapper getTyTfzyxxPage(@RequestBody TyTfzyxxVO tyTfzyxxVO ,@PathVariable("pageNum")Integer pageNum,@PathVariable("pageSize") Integer pageSize);
	
	/**
	 * @author zhengbodang
	 * @Description 新增通风作业信息
	 * @param 廒间信息实体 models
	 * @return 新增状态
	 */
	@PostMapping(value = "/ventilationOperation")
	@ApiOperation(value = "新增通风作业信息", notes = "参数：")
    public ResponseWrapper insert(@RequestBody TyTfzyxxVO tyTfzyxxVO);
	
	/**
	 * @author zhengbodang
	 * @Description 更新通风作业信息
	 * @param 
	 * @return 新增状态
	 */
	@PutMapping(value = "/ventilationOperation")
	@ApiOperation(value = "更新通风作业信息", notes = "参数：")
    public ResponseWrapper update(@RequestBody TyTfzyxxVO tyTfzyxxVO);
	
	/**
	 * @author zhengbodang
	 * @Description 删除通风作业信息
	 * @param 
	 * @return 状态
	 */
	@DeleteMapping(value="/ventilationOperation/{jsid}")
	@ApiOperation(value = "根据通风作业信息编号删除通风作业信息", notes = "参数：")
	public ResponseWrapper delete(@PathVariable("jsid") String jsid);
	
	/**
	 * @author zhengbodang
	 * @Description 删除通风作业信息
	 * @param 
	 * @return 状态
	 */
	@GetMapping(value="/ventilationOperation/{tfzyid}")
	@ApiOperation(value = "获取通风作业信息", notes = "参数：")
	public ResponseWrapper getTyTfzyxxByTfzyid(@PathVariable("tfzyid") String tfzyid);

	/**
	 * 熏蒸作业信息-更改备案状态
	 * @param tyTfzyxxHisVO
	 * @return
	 */
	@PutMapping(value = "/ventilationOperationStatus")
	@ApiOperation(value = "通风作业信息-更改备案状态", notes = "参数：备案信息")
	public ResponseWrapper ventilationOperationStatus(@RequestBody TyTfzyxxHisVO tyTfzyxxHisVO);
}
