package com.crm.custom.service;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.entity.base.SingleLongEntity;
import com.crm.rely.backend.model.dto.web.video.WebVideoSearchDto;
import com.crm.rely.backend.model.entity.custom.video.record.CustomVideoRecordAddEntity;
import com.crm.rely.backend.model.entity.web.video.WebVideoSearchListEntity;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

@FeignClient(name = "GOLDEN-WEB-SERVICE", path = "/web/video/custom")
public interface WebVideoFeignService {

    /**
     * @param entity
     * @return
     * @throws Exception
     */
    @PostMapping("/list")
    ResultWithPagerDto<WebVideoSearchDto> customList(WebVideoSearchListEntity entity) throws Exception;

    @PostMapping("/single")
    BaseResultDto<WebVideoSearchDto> customSingle(SingleLongEntity entity) throws Exception;

    @PostMapping("/read")
    BaseResultDto customRead(CustomVideoRecordAddEntity entity) throws Exception;

    @PostMapping("/validate")
    BaseResultDto<Boolean> customValidateRead() throws Exception;

    @PostMapping("/record/delete")
    BaseResultDto delete() throws Exception;
}
