package com.zxdmy.excite.system.service.impl.cloud.space;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zxdmy.excite.system.entity.SysUser;
import com.zxdmy.excite.system.entity.cloud.space.CloudFileRole;
import com.zxdmy.excite.system.entity.req.space.ReqCloudFileRole;
import com.zxdmy.excite.system.entity.vo.space.CloudFileRoleVo;
import com.zxdmy.excite.system.entity.vo.space.CloudRoleFileVo;
import com.zxdmy.excite.system.mapper.cloud.space.CloudFileRoleMapper;
import com.zxdmy.excite.system.service.cloud.space.ICloudFileRoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 文件用户权限表 服务实现类
 * </p>
 *
 * @author 沈松
 * @since 2026-01-30
 */
@Service
@AllArgsConstructor
public class CloudFileRoleServiceImpl extends ServiceImpl<CloudFileRoleMapper, CloudFileRole> implements ICloudFileRoleService {
    CloudFileRoleMapper cloudFileRoleMapper;
    @Override
    public List<CloudFileRoleVo> getFileRole(String id) {
        return cloudFileRoleMapper.getFileRole(id);
    }
    @Override
    public List<CloudRoleFileVo> getRoleFile(String id) {
        return cloudFileRoleMapper.getRoleFile(id);
    }
    @Override
    public List<CloudRoleFileVo> getRoleFileCheck(String id) {
        return cloudFileRoleMapper.getRoleFileCheck(id);
    }
    @Override
    public CloudFileRole getData(ReqCloudFileRole data) {
        QueryWrapper<CloudFileRole> wrapper = new QueryWrapper<>();
        wrapper.eq("user_id",data.getUserId());
        wrapper.eq("file_id",data.getFileId());
        List<CloudFileRole> cloudFileRole = cloudFileRoleMapper.selectList(wrapper);
        if(cloudFileRole.size()>0){
            return cloudFileRole.get(0);
        }
        return null;
    }

    @Override
    public List<CloudFileRole> getFileRoleByUseId(Integer id) {
        QueryWrapper<CloudFileRole> wrapper = new QueryWrapper<>();
        wrapper.eq("user_id",id);
        List<CloudFileRole> cloudFileRole = cloudFileRoleMapper.selectList(wrapper);
        return cloudFileRole;
    }
}
