package com.yd.csf.feign.fallback.salarysplit;

import com.yd.common.result.Result;
import com.yd.csf.feign.client.salarysplit.ApiSalarySplitFeignClient;
import com.yd.csf.feign.request.salarysplit.*;
import com.yd.csf.feign.response.salarysplit.ApiCalculateToAmountResponse;
import com.yd.csf.feign.response.salarysplit.ApiQueryRemainingResponse;
import com.yd.csf.feign.response.salarysplit.ApiSalarySplitQueryRateResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;

/**
 * 香港保险服务-薪资拆分应发信息Feign降级处理
 */
@Slf4j
@Component
public class ApiSalarySplitFeignFallbackFactory implements FallbackFactory<ApiSalarySplitFeignClient> {

    @Override
    public ApiSalarySplitFeignClient create(Throwable cause) {
        return new ApiSalarySplitFeignClient() {
            @Override
            public Result summaryPage(ApiSalarySplitSummaryPageRequest request) {
                return null;
            }

            @Override
            public Result page(ApiSalarySplitPageRequest request) {
                return null;
            }

            @Override
            public Result batchSave(ApiSalarySplitBatchSaveRequest request) {
                return null;
            }

            @Override
            public Result<ApiQueryRemainingResponse> queryRemaining(ApiQueryRemainingRequest request) {
                return null;
            }

            @Override
            public Result<ApiSalarySplitQueryRateResponse> queryRate(ApiSalarySplitQueryRateRequest request) {
                return null;
            }

            @Override
            public Result<ApiCalculateToAmountResponse> calculateToAmount(ApiCalculateToAmountRequest request) {
                return null;
            }

            @Override
            public Result export(ApiSalarySplitExportSummaryListRequest request) {
                return null;
            }
        };
    }
}
