package com.xunmei.system.api; import com.xunmei.common.core.constant.ServiceNameConstants; import com.xunmei.common.core.domain.host.remote.DiskInfoGetReq; import com.xunmei.common.core.domain.host.remote.VideoIntegrityGetReq; import com.xunmei.common.core.domain.work.dto.ControlDeviceDto; import com.xunmei.common.core.domain.work.dto.WorkDayDto; import com.xunmei.common.core.web.domain.AjaxResult; import com.xunmei.system.api.Eto.BreakerControlEto; import com.xunmei.system.api.Eto.SubSystemControlEto; import com.xunmei.system.api.factory.RemoteHostFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @FeignClient(contextId = "remoteHostService", value = ServiceNameConstants.HOST, fallbackFactory = RemoteHostFallbackFactory.class) public interface RemoteHostService { @PostMapping("/getRecordInfo") AjaxResult getRecordInfo(@RequestBody VideoIntegrityGetReq req); @PostMapping("/getDiskInfos") AjaxResult getDiskInfos(@RequestBody DiskInfoGetReq req); @GetMapping("/getDevices") AjaxResult getDevices(); @GetMapping("/closeSession") AjaxResult closeSession(@RequestParam(value = "iotCode") String iotCode); @GetMapping("/delData") AjaxResult delData(@RequestParam(value = "iotCode") String iotCode); @PostMapping("/subSystemControl") AjaxResult subSystemControl(@RequestBody SubSystemControlEto eto); @PostMapping("/breakerControlByOrgId") AjaxResult breakerControlByOrgId(@RequestBody BreakerControlEto eto); @PostMapping("/breakerControlByDeviceId") AjaxResult breakerControlByDeviceId(@RequestBody BreakerControlEto eto); /** * 通知主机执行上下班操作 * @param eto * @return */ @PostMapping("/startWork") AjaxResult startWork(@RequestBody WorkDayDto eto); /** * 通知主机对单个设备执行控制 * @param eto * @return */ @PostMapping("/changeDevice") AjaxResult changeDevice(@RequestBody ControlDeviceDto eto); /** * 向主机同步告警规则 * @param eto * @return */ @PostMapping("/syncRule/{id}") AjaxResult syncAlarmRuleToHost(@PathVariable("id") Long id); }