| | |
| | | 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; |
| | | } |
| | |
| | | } |
| | | 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 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 通过部门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; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |