mitao
2025-03-14 08f1b1f1804a8bd833d42f257908d80e88387b55
flower_city/src/main/java/com/dg/core/util/PermissionUtil.java
@@ -3,22 +3,19 @@
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.service.IOrganizationChartService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@RestController
public class PermissionUtil
{
    @Autowired(required = true)
    static IOrganizationChartService iOrganizationChartService;
    public static List<String> getPermission(SysUser sysUser) {
        if (StringUtils.equals("3", sysUser.getRoleIds())) {
    public static List<String> getPermission(SysUser sysUser,IOrganizationChartService iOrganizationChartService)
    {
        if (StringUtils.equals("3", sysUser.getUserType())) {
            if (StringUtils.isEmpty(sysUser.getDataPermission())) {
                return null;
            }
@@ -36,17 +33,36 @@
                }
                return ids;
            }
        }
        else if(StringUtils.equals("2", sysUser.getRoleIds()))
        } else if (StringUtils.equals("4", sysUser.getUserType())) {
            if (StringUtils.isEmpty(sysUser.getDataPermission())) {
                return null;
            }
            else
            {
                List<String> ids = new ArrayList<>();
                if (sysUser.getDataPermission().indexOf(",")>0)
                {
                    String[] idl=sysUser.getDataPermission().split(",");
                    Collections.addAll(ids,idl);
                }
                else
                {
                    ids.add(sysUser.getDataPermission());
                }
                return ids;
            }
        } else if(StringUtils.equals("2", sysUser.getUserType()))
        {
            //导办人员
            List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
//            List<String> ids=getStairDepartment(sysUser,iOrganizationChartService);
            return ids;
        }
        else if(StringUtils.equals("1", sysUser.getRoleIds()))
        else if(StringUtils.equals("1", sysUser.getUserType()))
        {
            //管理员
            List<String> ids=iOrganizationChartService.getIds(null);
//            List<String> ids=iOrganizationChartService.getIds("");
            List<String> ids=null;
            return ids;
        }
        else
@@ -55,4 +71,32 @@
        }
    }
    /**
     * 通过部门id 获取一级部门下的全部子部门以及一级部门
     * @param sysUser
     * @param iOrganizationChartService
     * @return
     */
    public static List<String> getStairDepartment(SysUser sysUser,IOrganizationChartService iOrganizationChartService)
    {
        if(StringUtils.equals("1", sysUser.getUserType()))
        {
            //管理员
            List<String> ids=null;
            return ids;
        }
        else
        {
            //获取一级部门id
            String stairId= iOrganizationChartService.getStairId(sysUser.getDepartmentId());
            List<String> ids=iOrganizationChartService.getIds(stairId);
            return ids;
        }
    }
}