package com.ard.vtdu.api; import com.ard.common.core.constant.SecurityConstants; import com.ard.common.core.constant.ServiceNameConstants; import com.ard.common.core.domain.R; import com.ard.vtdu.api.domian.ArdVtdu; import com.ard.vtdu.api.factory.RemoteArdVtduFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 流媒体服务 * * @author ard */ @FeignClient(contextId = "remoteArdVtduService", value = ServiceNameConstants.VTDU_SERVICE, fallbackFactory = RemoteArdVtduFallbackFactory.class) public interface RemoteArdVtduService { /** * 添加流媒体 * * @param ardVtdu 流媒体管理对象 * @return 结果 */ @PostMapping(value = "/system/list", consumes = MediaType.APPLICATION_JSON_VALUE) public R> selectVtduList(@RequestBody ArdVtdu ardVtdu, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 添加流媒体 * * @param ardVtdu 流媒体管理对象 * @return 结果 */ @PostMapping(value = "/system/media", consumes = MediaType.APPLICATION_JSON_VALUE) public R insertVtdu(@RequestBody ArdVtdu ardVtdu, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 更新流媒体 * * @param ardVtdu 流媒体管理对象 * @return 结果 */ @PutMapping(value = "/system/media", consumes = MediaType.APPLICATION_JSON_VALUE) public R updateVtdu(@RequestBody ArdVtdu ardVtdu, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 删除流媒体 * * @param name 流媒体主键 * @return 结果 */ @DeleteMapping(value = "/system/media/{name}", consumes = MediaType.APPLICATION_JSON_VALUE) public R removeVtdu(@PathVariable("name") String name, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 获取流媒体 * * @param name 相机id_通道号 * @return 结果 */ @GetMapping(value = "/system/media/{name}") public R getInfo(@PathVariable("name") String name, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 删除相机的所有流媒体 * * @param name 流媒体主键 * @return 结果 */ @DeleteMapping(value = "/system/media/{name}") public R delete(@PathVariable("name") String name, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 删除相机的所有流媒体 * * @param cameraId 相机id * @return 结果 */ @DeleteMapping(value = "/system/media/deleteArdVtduByCameraId/{cameraId}") public R deleteArdVtduByCameraId(@PathVariable("cameraId") String cameraId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); }