package com.njcn.prepare.harmonic.api.line;

import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.line.fallback.IntegrityFeignClientFallbackFactory;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 自定义报表
 * @author qijian
 * @date 2022/10/20
 */
@FeignClient(
        value = ServerInfo.PREPARE_BOOT,//对应模块名
        path = "/integrity",//对应controller请求类
        fallbackFactory = IntegrityFeignClientFallbackFactory.class//服务降级处理类
)
public interface IntegrityFeignClient {

    /**
     * 批量处理报表
     * @author qijian
     * @date 2022/10/19
     */
    @PostMapping("/computeDataIntegrity")
    HttpResult<String> computeDataIntegrity(@RequestBody @Validated LineParam lineParam);

    @PostMapping("/dataIntegrity")
    HttpResult<String> dataIntegrity(@RequestBody @Validated LineParam lineParam);

}
