package com.shzg.common.utils;

import com.shzg.common.utils.spring.SpringUtils;
import com.shzg.project.system.service.ISysDeptService;

import java.util.ArrayList;
import java.util.List;

/**
 * 部门数据范围工具类
 */
public class DeptScopeUtils
{
    /**
     * 获取当前用户部门 + 子部门ID集合
     */
    public static List<Long> getDeptScope()
    {
        Long deptId = SecurityUtils.getDeptId();

        // 查询子部门
        List<Long> deptIds = SpringUtils.getBean(ISysDeptService.class)
                .selectDeptAndChildIds(deptId);

        // 防止返回null
        if (deptIds == null)
        {
            deptIds = new ArrayList<>();
        }

        if (!deptIds.contains(deptId))
        {
            deptIds.add(deptId);
        }

        return deptIds;
    }
}