package com.usky.demo; import com.usky.common.core.bean.ApiResult; import com.usky.demo.domain.*; import com.usky.demo.factory.RemoteTsdbProxyFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import java.util.List; @FeignClient(contextId = "remoteTsdbProxyService", value = "data-tsdb-proxy", fallbackFactory = RemoteTsdbProxyFallbackFactory.class) public interface RemoteTsdbProxyService { /** * 单个设备数据写入 * @return */ @PostMapping("/sendDeviceData") ApiResult sendDeviceData(@RequestBody DeviceDataWriteVO writeVO); /** * 单个设备实时数据查询 * @param productCode * @param deviceId * @return */ @GetMapping("/last") ApiResult queryLastDeviceData(@RequestParam(value = "productCode") String productCode, @RequestParam(value = "deviceId") String deviceId); /** * 批量设备实时数据查询 * @param requestVO * @return */ @PostMapping("/last") ApiResult> queryLastDeviceData(@RequestBody LastRequestVO requestVO); /** * 单个设备历史数据查询 * @param productCode * @param deviceId * @param startTime * @param endTime * @return */ @GetMapping("/history") ApiResult queryHistoryDeviceData(@RequestParam(value = "productCode") String productCode, @RequestParam(value = "deviceId") String deviceId, @RequestParam(value = "startTime") String startTime, @RequestParam(value = "endTime") String endTime); /** * 批量设备历史数据查询 * @param requestVO * @return */ @PostMapping("/history") ApiResult> queryHistoryDeviceData(@RequestBody HistoryRequestVO requestVO); }