package com.cm.common.plugin.interfaces;

import com.cm.common.plugin.pojo.bos.user.UserDepartmentResourceBO;
import com.cm.common.result.SuccessResultLayImData;

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

/**
 * When you feel like quitting. Think about why you started
 * 当你想要放弃的时候，想想当初你为何开始
 *
 * @ClassName: IUserImBaseService
 * @Description:
 * @Author: wanggeng
 * @Date: 2021/3/4 4:19 下午
 * @Version: 1.0
 */
public interface IUserImBaseService {

    /**
     * 用户默认头像
     */
    String DEFAULT_USER_AVATAR = "assets/images/chat_user.png";
    /**
     * 组默认头像
     */
    String DEFAULT_GROUP_AVATAR = "assets/images/chat_group.png";

    /**
     * 获取初始化数据
     *
     * @return
     */
    SuccessResultLayImData<SuccessResultLayImData.InitData> getInitData();

    /**
     * 部门用户列表
     *
     * @param params
     * @return
     */
    List<SuccessResultLayImData.Friend> listDepartmentUser(Map<String, Object> params);

    /**
     * 获取成员数据
     *
     * @param departmentId
     * @return
     */
    SuccessResultLayImData<SuccessResultLayImData.MemberData> getMemberData(String departmentId);

    /**
     * 部门用户列表（包含系统管理员）
     *
     * @param departmentIds
     * @return
     */
    List<UserDepartmentResourceBO> listUserDepartmentResource(List<String> departmentIds);

}
