package cn.ey.biz.module.system.api.code;

import cn.ey.biz.common.pojo.R;
import cn.ey.biz.module.system.api.code.dto.*;
import cn.ey.biz.module.system.enums.ApiConstants;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

@FeignClient(name = ApiConstants.NAME)
@Api(tags = "RPC 服务 - Code规则")
public interface CodeApi {

    String PREFIX = ApiConstants.PREFIX + "/code";

    @GetMapping(PREFIX + "/customer/get")
    @ApiOperation("获取生效的客户信息配置")
    R<CodeCustomerDTO> getCodeCustomer();

    @GetMapping(PREFIX + "/blocking/get")
    @ApiOperation("获取生效的BlockingLevel配置")
    R<CodeBlockingLevelDTO> getCodeBlockingLevel();

    @GetMapping(PREFIX + "/ep/get")
    @ApiOperation("获取生效的项目Ep校验配置")
    R<CodeEpDTO> getCodeEpLevel();

    @GetMapping(PREFIX + "/other/get")
    @ApiOperation("获取生效的其他规则配置")
    R<CodeOtherDTO> getCodeOther();

    @GetMapping(PREFIX + "/project/get")
    @ApiOperation("获取生效的项目名称配置")
    R<CodeProjectDTO> getCodeProject();

}
