package com.usky.agbox;

import com.alibaba.fastjson.JSONObject;
import com.usky.agbox.factory.RemotePatrolAgBoxFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author han
 * @date 2024/04/02 15:07
 */
@FeignClient(contextId = "remotePatrolAgBoxService", value = "service-agbox", fallbackFactory =
        RemotePatrolAgBoxFallbackFactory.class)
public interface RemotePatrolAgBoxService {
    /**
     * 获得事件编码
     *
     * @return 事件编码数组
     */
    @GetMapping("/getEventCode")
    JSONObject getEventCode();

    /**
     * 获取设备列表信息
     *
     * @return 设备列表数组
     */
    @GetMapping("/getDeviceList")
    JSONObject getDeviceList();

    /**
     * 更新心跳信息
     *
     * @return 更新结果
     */
    @PostMapping("/updateHeart")
    JSONObject updateHeart(@RequestBody String requestBody);

    /**
     * 添加事件信息
     *
     * @return 添加结果
     */
    @PostMapping("/addEvent")
    JSONObject addEvent(@RequestBody String requestBody);

    /**
     * 获取事件信息
     *
     * @return 事件信息数组
     */
    @PostMapping("/getEvent")
    JSONObject getEvent(@RequestBody String requestBody);
}