package com.sckw.system.api.feign;

import com.sckw.system.api.model.dto.req.DataPermissionFilterReqDto;
import com.sckw.system.api.model.dto.res.DataPermissionDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 数据权限远程Feign接口
 * <p>
 * 供其他模块获取当前用户的数据权限过滤条件（企业数据权限 + 个人数据权限并集），
 * 适用于贸易合同、贸易订单、物流订单、运单等业务数据查询过滤。
 * @author cxf
 * @date 2026-03-31
 */
@FeignClient(name = "sckw-ng-system", contextId = "DataPermissionFeignService")
public interface DataPermissionFeignService {

    /**
     * 获取数据权限过滤条件
     *
     * @param req 查询参数（用户ID、角色ID、是否平台管理员）
     * @return 数据权限过滤DTO
     */
    @PostMapping("/server/dataPermission/filter")
    DataPermissionDTO getDataPermissionFilter(@RequestBody DataPermissionFilterReqDto req);

}
