PermissionTool.java 2.38 KB
package com.xiniunet.web.tool;

import com.xiniunet.ebusiness.domain.PermissionGroup;
import com.xiniunet.ebusiness.enumication.SystemTypeEnum;
import com.xiniunet.ebusiness.request.PermissionGroupFindRequest;
import com.xiniunet.ebusiness.service.EbusinessService;
import com.xiniunet.framework.security.Passport;

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

/**
 * Created by Administrator on 2017/6/27.
 *
 */
public class PermissionTool {

    /**
     * 获取用户数据权限列表
     */
    public static List<SystemTypeEnum> getPermissionList(EbusinessService ebusinessService,Passport passport) {
        List<SystemTypeEnum> mySystemTypeList = new ArrayList<>(); //我的所有数据权限

        PermissionGroupFindRequest permissionGroupFindRequest = new PermissionGroupFindRequest();
        permissionGroupFindRequest.setPageSize(0);
        permissionGroupFindRequest.setUserId(passport.getUserId());
        List<PermissionGroup> permissionGroupList = ebusinessService.findPermissionGroup(permissionGroupFindRequest,passport).getResult();
        if (permissionGroupList != null && permissionGroupList.size() > 0){
            for(PermissionGroup permissionGroup: permissionGroupList){
                if (permissionGroup.getIsB2B()){
                    if (!mySystemTypeList.contains(SystemTypeEnum.B2B)){
                        mySystemTypeList.add(SystemTypeEnum.B2B);
                    }
                }
                if (permissionGroup.getIsB2C()){
                    if (!mySystemTypeList.contains(SystemTypeEnum.B2C)){
                        mySystemTypeList.add(SystemTypeEnum.B2C);
                    }
                }
                if (permissionGroup.getIsPoint()){
                    if (!mySystemTypeList.contains(SystemTypeEnum.POINT)){
                        mySystemTypeList.add(SystemTypeEnum.POINT);
                    }
                }
                if (permissionGroup.getIsWfx()){
                    if (!mySystemTypeList.contains(SystemTypeEnum.WFX)){
                        mySystemTypeList.add(SystemTypeEnum.WFX);
                    }
                }
                if (permissionGroup.getIsWm()){
                    if (!mySystemTypeList.contains(SystemTypeEnum.FOREIGN)){
                        mySystemTypeList.add(SystemTypeEnum.FOREIGN);
                    }
                }
            }
        }
        return mySystemTypeList;
    }
}