package com.unis.base.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
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.RequestBody;

import com.unis.common.utils.ResponseWrapper;
import com.unis.base.common.vo.DCfztsjyVO;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * @author huangxing
 * @version 1.0
 * @Title DCfztsjyFeign
 * @ProjectName 仓房状态信息 Feign
 * @Description
 * @date 2019/07/22 17点26分
 */
@FeignClient(name = "base-server")
@Component
@Api(value = "仓房信息", tags = "仓房信息维护")
public interface WarehouseStatusFeign {

	/**
	 * @author huangxing
	 * @Description 获取仓房状态信息列表
	 * @return 仓房状态信息列表
	 */
	@ApiOperation(value = "获取仓房状态信息列表", notes = "参数：仓房编号，仓房名称")
	@PostMapping(value = "/warehouseStatusList")
    public ResponseWrapper getDCfztsjyList(@RequestBody DCfztsjyVO DCfztsjyVO);

	/**
	 * @author huangxing
	 * @Description 根据仓房编码获取仓房状态信息
	 * @return 仓房状态信息
	 */
	@ApiOperation(value = "根据仓房编码获取仓房状态信息", notes = "参数：仓房编号")
	@GetMapping(value = "/warehouseStatus/{cfbh}")
	public ResponseWrapper getDCfztsjyInfoBycfbh(@PathVariable("cfbh")String cfbh);

	/**
	 * @author huangxing
	 * @Description 根据库点编码获取库点信息
	 * @return 库点信息
	 */
	@ApiOperation(value = "更新仓房状态信息", notes = "参数：仓房状态信息 models")
	@PostMapping(value = "/warehouseStatus")
	public ResponseWrapper update(@RequestBody DCfztsjyVO dCfztsjyVO);

	/**
	 * @author huangxing
	 * @Description 新增仓房状态信息
	 * @param 仓房状态信息实体 models
	 * @return 新增状态
	 */
	@PostMapping(value = "/warehouseStatus")
	@ApiOperation(value = "新增仓房信息", notes = "参数：仓房状态信息实体 models")
    public ResponseWrapper insert(@RequestBody DCfztsjyVO dCfztsjyVO) ;
}
