// fs-service模块
package com.fs.common.config;


import com.fs.common.enums.DataScopeEnum;

/**
 * 登录上下文回调接口
 */
public interface LoginContextCallback {

    /**
     * 获取当前用户ID
     */
    Long getUserId();

    /**
     * 获取companyUserId
     * 销售端有值
     */
    Long getCompanyUserId();

    /**
     * 获取用户名
     */
    String getUsername();

    /**
     * 获取当前销售用户名
     * @return String
     */
    String getCompanyUserName();

    /**
     * 获取租户ID
     */
    Long getCompanyId();

    /**
     * 获取部门ID
     * @return 部门ID
     */
    Long getDeptId();

    /**
     * 获取当前登录用户数据权限
     * @return DataScopeEnum
     */
    DataScopeEnum getDataScope();

    /**
     * 当前用户是否拥有某个权限
     * @param permission 权限字符
     * @return boolean
     */
    boolean hasPermission(String permission);
}
