package com.inspect.access.base.feign;

import com.inspect.access.base.model.InfraredModel;
import com.inspect.access.base.model.LoginModel;
import com.inspect.access.base.model.RecordCompleteModel;
import com.inspect.access.base.model.RuleCollectionModel;
import com.inspect.access.base.model.TemperPortModel;
import com.inspect.access.base.vo.DeviceStorageVo;
import com.inspect.access.base.vo.OnlineStatsVo;
import com.inspect.access.base.vo.RecordCompleteVo;
import com.inspect.base.core.domain.Response;

import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient("inspect-fastcall")
public interface AccessFeign {
    @PostMapping({"/access/query_temper_point"})
    Response<Float> queryTemperPoint(@RequestBody TemperPortModel temperPortModel);

    @PostMapping({"/access/remove_measure_param"})
    Response removeMeasureParam(@RequestBody RuleCollectionModel ruleCollectionModel);

    @PostMapping({"/access/set_measure_param"})
    Response setMeasureParam(@RequestBody RuleCollectionModel ruleCollectionModel);

    @PostMapping({"/access/record"})
    Response<RecordCompleteVo> record(@RequestBody RecordCompleteModel recordCompleteModel);

    @PostMapping({"/access/online_stats"})
    Response<List<OnlineStatsVo>> online(@RequestBody LoginModel loginModel);

    @PostMapping({"/access/storage"})
    Response<DeviceStorageVo> storage(@RequestBody LoginModel loginModel);

    @PostMapping({"/access/infrared"})
    Response<String> infrared(@RequestBody InfraredModel infraredModel);
}
