package com.unis.detectionnum.client;

import com.unis.detectionnum.common.vo.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import com.unis.common.utils.ResponseWrapper;

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

/** 
 * @ClassName: DeviceParamFeign 
 * @Description: 参数管理 Feign
 * @author LiuFeng 
 * @date 2019年10月17日 下午5:15:00  
 */
@FeignClient(name = "detectionnum-server")
@Component
@Api(value = "参数管理-硬件参数管理", tags = "参数管理-硬件参数管理")
public interface DeviceParamFeign {

	
	@ApiOperation(value = "参数管理->硬件参数管理->根据条件【分页查询】", notes = "参数：")
	@PostMapping(value = "/paramManage/devicePageList/{pageNum}/{pageSize}")
	public ResponseWrapper getDevicePageList(@RequestBody DeviceInfoQueryVO deviceInfoQueryVO,
			@PathVariable(value = "pageNum") Integer pageNum, @PathVariable(value = "pageSize") Integer pageSize);

	@ApiOperation(value = "参数管理->硬件参数管理->根据设备code、设备类型【查询】",notes = "参数：设备code、设备类型")
	@GetMapping(value = "/paramManage/device/{sbCode}/{sblx}")
	public ResponseWrapper getDeviceParam(@PathVariable(value = "sbCode") String sbCode,
			@PathVariable(value = "sblx") Integer sblx);
	
	@ApiOperation(value = "参数管理->硬件参数管理->激光探头【新增】")
	@PostMapping(value = "/paramManage/device/probe")
	public ResponseWrapper saveProbeParam(@RequestBody DeviceProbeParamVO deviceProbeVO);

	@ApiOperation(value = "参数管理->硬件参数管理->激光探头【修改】")
	@PutMapping(value = "/paramManage/device/probe")
	public ResponseWrapper updateProbeParam(@RequestBody DeviceProbeParamVO deviceProbeVO);
	
	@ApiOperation(value = "参数管理->硬件参数管理->根据设备code、设备类型【删除】",notes = "参数：设备code、设备类型")
	@DeleteMapping(value = "/paramManage/device/{sbCode}/{sblx}")
	public ResponseWrapper deleteDeviceParam(@PathVariable(value = "sbCode") String sbCode,
			@PathVariable(value = "sblx") Integer sblx);
	
	@ApiOperation(value = "参数管理->硬件参数管理->摄像头【新增】")
    @PostMapping(value = "/paramManage/device/camera")
    public ResponseWrapper saveCameraParam(@RequestBody DeviceCameraParamVO deviceCameraVO);
	
	@ApiOperation(value = "参数管理->硬件参数管理->摄像头【修改】")
    @PutMapping(value = "/paramManage/device/camera")
    public ResponseWrapper updateCameraParam(@RequestBody DeviceCameraParamVO deviceCameraVO);

}
