群组

群组相关功能

创建群组

    /**
     * 创建群组
     * @param groupName 群名称
     * @param members 群成员(eg:[{"user_id":123, "name":张三},{"user_id":123, "name":张三}])
     * @param icon 群图标url
     * @param callBack
     */
   createGroup(String groupName, String members, QDResultCallBack callBack)

   createGroup(String groupName, String members, String icon, QDResultCallBack callBack) 

解散群组(群主删除群组)

    /**
     * 退出群组
     * @param groupId 群组id
     * @param callBack
     */
    exitGroup(String groupId, QDResultCallBack callBack)

退出群组(群成员主动退群)

    /**
     * 退出群组
     * @param groupId 群组id
     * @param callBack
     */
    exitGroup(String groupId, QDResultCallBack callBack)

获取群信息(获取群成员列表)

     /**
     * 获取群组信息
     * @param groupId 群组id
     * @param callBack
     */
   getGroupInfo(String groupId, QDResultCallBack callBack) 

群组加人

     /**
     * 群组加人
     * @param groupId 群组id
     * @param memberList 群成员列表
     * @param callBack
     */
   addGroupMember(String groupId, List<QDGroupMember> memberList, QDResultCallBack callBack)

群组踢人

    /**
     * 群组踢人
     * @param groupId 群组id
     * @param ids 被踢的成员id(id1,id2,id3)
     * @param callBack
     */
   removeGroupMember(String groupId, String ids, QDResultCallBack callBack)

更新群组信息

    /**
     * 更新群组信息(群名称name和群描述intro)
     * @param groupId 群组id
     * @param map  map对象key值看上方
     * @param callBack
     */
   updateGroupInfo(String groupId, Map<String, String> map, QDResultCallBack callBack)

更新群昵称

    /**
     * 更新群昵称(修改登陆者在群组的昵称)
     * @param groupId 群组id
     * @param nickName 修改后的昵称
     * @param callBack
     */
    updateNickName(String groupId, String nickName, QDResultCallBack callBack) 

设置或取消管理员

/**
     * 设置或取消管理员
     * @param groupId 群组id
     * @param userId 群成员id
     * @param role    0:取消管理员,1:设置管理员
     * @param callBack
     */
    public void setManager(String groupId, String userId, int role, QDResultCallBack callBack)

群主转让

    /**
     * 群主转让
     * @param groupId 群组id
     * @param userId 被转让的成员id
     * @param callBack
     */
    changeOwner(String groupId, String userId, QDResultCallBack callBack)

屏蔽/取消新消息通知

    /**
     * 屏蔽/取消新消息通知
     * @param groupId     群组id
     * @param notifyType 1:取消;2屏蔽
     * @param callBack
     */
   setNotifyType(String groupId, int notifyType, QDResultCallBack callBack)

发布公告

    /**
     * 发布公告
     * @param groupId 群组id
     * @param notice 公告内容
     * @param callBack
     */
   issueNotice(String groupId, String notice, QDResultCallBack callBack) 

获取群文件

    /**
     * 获取群组文件
     * @param groupId 群组id
     * @param callBack
     */
    getGroupFiles(String groupId, QDResultCallBack callBack)

删除群文件

    /**
     * 删除群文件
     * @param groupId 群组id
     * @param fileId 被删的文件id
     * @param callBack
     */
   deleteGroupFile(String groupId, String fileId, QDResultCallBack callBack)

上传群文件

    /**
     * 上传群共享文件
     * @param file 需要上传的文件
     * @param groupId 群组id
     * @param callBack
     */
    uploadGroupFile(File file, String groupId, QDFileCallBack callBack)

群组相关对象

群组对象 QDGroup

    //群组类型
    TYPE_PERGROUP  //个人群组
    TYPE_ADMGROUP  //固定群组
    //屏蔽或取消新消息提醒
    NOTIFY_ON //关闭
    NOTIFY_OFF //打开

    String id;  //群组id
    String name;  //群名称
    String desc;  //群描述
    int limit;  //最大人数
    int count;  //当前人数
    String icon;  //头像
    String nameSP;  //群名称简拼
    String nameAP;  //群名称全拼
    int type;  //群类型(0:个人群 1:固定群 2:临时群)
    String ownerId;   //群主id
    String ownerName;  //群主名称
    String tag;  //群标签
    String createDate;  //创建时间
    int isPublic; //是否公开
    String notice; //群公告
    int notifyType; //是否屏蔽新消息提醒

群成员对象 QDGroupMember

    //群角色
    ROLE_OWNER //群主
    ROLE_MANAGER  //管理员
    ROLE_NORMAL//普通成员

    String uid; //成员id
    String name; //成员名称
    String icon;  //成员头像
    String groupId; //群组id
    String groupName; //群组名称
    int role;  //角色(0:普通成员,1:管理员,2:群主)
    String nickName; //群昵称
    String extData;  //扩展字段

群组相关数据库操作

/**
     * 插入一组数据
     * @param groupList
     */
    QDGroupHelper.insertGroupList(List<QDGroup> groupList) 

    /**
     * 插入一个数据
     * @param group
     */
    QDGroupHelper.insertGroup(QDGroup group) 

    /**
     * 根据群组id获取群信息
     * @param id  群组id
     * @return QDGroup
     */
    QDGroupHelper.getGroupById(String id) 

    /**
     * 删除群组表
     */
    QDGroupHelper.deleteGroupTable() 
    /**
     * 根据群组id删除群组
     * @param id 群组id
     */
    QDGroupHelper.deleteGroupById(String id) 

    /**
     * 获取群组数量
     * @return int
     */
    QDGroupHelper.getGroupCount() 

    /**
     * 更新群组信息
     * @param group
     */
    QDGroupHelper.updateGroup(QDGroup group) 

    /**
     * 获取所有群组
     * @return List<QDGroup> 
     */
    QDGroupHelper.getAllGroups() 

    /**
     * 获取自己创建的群
     * @return List<QDGroup> 
     */
    QDGroupHelper.getMineGroups() 

    /**
     * 获取加入的群
     * @return List<QDGroup>
     */
    QDGroupHelper.getJoinedGroups() 

    /**
     * 搜索群组
     * @param searchText 搜索字符串
     * @return  List<QDGroup>
     */
   QDGroupHelper.searchGroup(String searchText) 

    /**
     * 获取所有群组id列表
     * @return List<String>
     */
    QDGroupHelper.getAllGroupId()
    /**
     * 删除所有群组人员信息
     */
    QDGroupMemberHelper.deleteTable() 

    /**
     * 插入群成员列表
     * @param memberList
     */
   QDGroupMemberHelper.insertGroupMembers(List<QDGroupMember> memberList) 

    /**
     * 根据群组id和用户id获取成员信息
     * @param groupId 群组id
     * @param userId  成员id
     */
    QDGroupMemberHelper.getMemberInfoByGroupIdAndUserId(String groupId, String userId) 

    /**
     * 更新成员信息
     * @param member 群成员对象
     */
    QDGroupMemberHelper.updateMemberInfo(QDGroupMember member) 

    /**
     * 更新群昵称
     * @param groupId 群组id
     * @param userId 群成员id
     * @param nickName 昵称
     */
    QDGroupMemberHelper.updateNickName(String groupId, String userId, String nickName) 

    /**
     * 根据群组id获取某个群组的成员列表
     * @param groupId 群组id
     * @return List<QDGroupMember> 
     */
    QDGroupMemberHelper.getMembersByGroupId(String groupId) 

    /**
     * 删除某个群的群成员
     * @param groupId  群组id
     */
    QDGroupMemberHelper.deleteMembersByGroupId(String groupId)

    /**
     * 搜索群成员
     * @param groupId  群组 id
     * @param searchText 搜索字符串
     * @return List<QDGroupMember> 
     */
    QDGroupMemberHelper.searchMember(String groupId, String searchText)