package com.jy.system.dao;

import com.jy.framework.model.base.BaseDao;
import com.jy.system.mapper.SysRoleDeptMapper;
import com.jy.system.model.entity.SysRoleDept;
import org.springframework.stereotype.Service;

import java.util.Collection;
import java.util.List;

@Service
public class SysRoleDeptDao extends BaseDao<SysRoleDeptMapper, SysRoleDept> {

    /**
     * 获取角色拥有的部门id列表
     */
    public List<Long> getDeptIdListByRoleId(Long roleId) {
        return lambdaQuery().eq(SysRoleDept::getRoleId, roleId).list()
                .stream().map(SysRoleDept::getDeptId).toList();
    }

    /**
     * 获取角色拥有的部门id列表
     */
    public List<Long> getDeptIdListByRoleId(Collection<Long> roleIds) {
        return lambdaQuery().in(SysRoleDept::getRoleId, roleIds).list()
                .stream().map(SysRoleDept::getDeptId).toList();
    }

    /**
     * 根据角色id删除
     */
    public void removeByRoleId(Long roleId) {
        lambdaUpdate().eq(SysRoleDept::getRoleId, roleId).remove();
    }

    /**
     * 根据角色id删除
     */
    public void removeByRoleId(Collection<Long> roleIds) {
        lambdaUpdate().in(SysRoleDept::getRoleId, roleIds).remove();
    }

}
