package com.zcxk.core.common.pojo;

import lombok.Data;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author linqingwei
 * @date 2021-07-19 16:33
 */
@Data
public class UserCondition {

    /**
     * 租户
     */
    private String tenantId;

    /**
     * 公司
     */
    private Integer companyOrgId;

    /**
     * 部门
     */
    private Integer deptOrgId;

    /**
     * 小区
     */
    private Integer communityId;

    /**
     * 数据项
     */
    private List<ProgramItem> programItems;

    /**
     * 用户权限类型 1是公司，2是公司及以下，3部门，4部门及以下，5自定义
     */
    private Integer permissionType;

    /**
     * 用户类型(-9999 超管 -999普通用户 2普通用户)
     */
    private String userType;

    public boolean checkAuthority(){
        return !"-999".equals(userType) && !"-9999".equals(userType) && !CollectionUtils.isEmpty(programItems);
    }

    public List<Integer> getOrgIds (){
        return CollectionUtils.isEmpty(programItems) ? new ArrayList<>() :
                programItems.stream().map(ProgramItem::getOrgId).collect(Collectors.toList());
    }

}
