

package com.lideeyunji.tool.framework.yunji.adapter;

import com.lideeyunji.tool.framework.yunji.model.lideeYunjiDept;
import com.lideeyunji.tool.framework.yunji.model.lideeYunjiDict;
import com.lideeyunji.tool.framework.yunji.model.lideeYunJiRole;
import com.lideeyunji.tool.framework.yunji.model.LideeTenant;
import com.lideeyunji.tool.framework.yunji.params.lideeYunJiDeptParam;
import com.lideeyunji.tool.framework.yunji.params.lideeYunJiDictParam;
import com.lideeyunji.tool.framework.yunji.params.lideeYunJiUserParam;

import java.util.List;
import java.util.Map;

/**
 * 适配器 相关接口
 */
public interface IlideeYunjiAdapter {

    //获取当前在线人id
    Long getOnlineUserId();

    //获取当前在线人账号
    String getOnlineUserName();
    String getOnlineUserName(Long userId);

    //获取当前在线人名称
    String getOnlineUserNickName();

    //获取当前在线人部门id
    Long getOnlineUserDeptId();
    String getOnlineUserDeptName();

    //获取当前在线角色列表
    List<String> getOnlineRoleCodeList();
    List<Long> getOnlineRoleIdList();


    //获取当前在线人id
    Long getTenantId();


    //获取所有租户列表
    List<LideeTenant> getTenantList();

    //获取字典列表
    List<lideeYunjiDict> getDictList(lideeYunJiDictParam param);

    //获取部门列表
    List<lideeYunjiDept> getDeptList(lideeYunJiDeptParam param);

    //获取所有角色列表
    List<lideeYunJiRole> getRoleList();

    List<Map<String,Object>> getUserInfoList(List<Long> userIdList);

    //回显用户
    List<Map<String,Object>> getUserViewList(List<Long> userIdList);
    //回显部门
    List<Map<String,Object>> getDeptViewList(List<Long> deptIdList);


    //获取用户分页列表
    Object getUserPage(Integer pageNo, Integer pageSize, lideeYunJiUserParam param);

    //初始化-新增数据默认项
    void initSaveDefaultData(Map<String, Object> map);

    //初始化-修改数据默认项
    void initUpdateDefaultData(Map<String, Object> map);


}
