package com.sckw.system.controller.server;

import com.sckw.system.api.model.dto.req.DataPermissionFilterReqDto;
import com.sckw.system.api.model.dto.res.DataPermissionDTO;
import com.sckw.system.service.DataPermissionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 数据权限内部Feign接口（服务端）
 * <p>
 * 供其他微服务模块通过Feign调用，获取数据权限过滤条件。
 * 对应Feign客户端：{@link com.sckw.system.api.feign.DataPermissionFeignService}
 *
 * @author cxf
 * @date 2026-03-31
 */
@RestController
@RequestMapping("/server/dataPermission")
public class DataPermissionServerController {

    @Autowired
    private DataPermissionHelper dataPermissionHelper;

    /**
     * 获取数据权限过滤条件（企业数据权限 + 个人数据权限并集）
     *
     * @param req 查询参数（用户ID、角色ID、是否平台管理员）
     * @return 数据权限过滤DTO
     */
    @PostMapping("/filter")
    public DataPermissionDTO getDataPermissionFilter(@RequestBody DataPermissionFilterReqDto req) {

        DataPermissionDTO dto = new DataPermissionDTO();
        dto.setAllVisible(true);
        dto.setPersonalDataEnabled(false);
        return dto;
//        return dataPermissionHelper.buildPermissionDTO(req.getUserId(), req.getRoleId(), req.isManager());
    }

}
