package com.sdtool.common.api;

import com.sdtool.common.entity.base.BaseEntity;
import com.sdtool.common.entity.site.ERPTokenUser;
import com.sdtool.common.entity.site.LoginRequest;
import com.sdtool.common.entity.site.LoginResult;
import com.sweetfish.service.RetResult;
import org.rex.RMap;

public interface LoginService extends ScriptService {

    /**
     * 登录
     *
     * @param bean 登录信息
     * @return 登录信息
     */
    RetResult<LoginResult> login(LoginRequest bean, String clientIp);


    /**
     * ERP系统登录用户检查
     * 主要用于servlet中的身份验证，检查用户是否禁用了，过期了之类的
     */
    RetResult<BaseEntity> checkUser(ERPTokenUser tokenUser);

    /**
     * 当前用户获取首页基础内容
     * 包括 用户信息，菜单信息，一些基本的配置信息
     *
     * @param currentUser 登录用户
     * @return 首页内容
     */
    @SuppressWarnings({"rawtypes"})
    RMap getIndexContent(ERPTokenUser currentUser, String dataSourceId, long supplierCode);
}
