会话

接口

一般情况下不需要调用以下接口,在创建消息的时候会自动创建或者更新会话信息

 /**
     * 创建会话
     * @param chatAccount 会话id(人员id、群组id、应用code等)
     * @param chatName 会话id(人员id、群组id、应用code等)
     * @param ctype 会话类型(QDSession.TYPE_PERSON 个人会话 QDSession.TYPE_GROUP 群组会话 QDSession.TYPE_APP 应用会话 QDSession.TYPE_SECRET 密聊会话)
     * @return QDSession 会话对象
     */
      QDSession session = QDClient.getInstance().createSession(String chatAccount, String chatName, int ctype)

注:创建会话会得到一个标题为空的会话,发送消息和接收消息自动更新会话

    /**
     * 替换会话
     * @param message 消息
     * @param chatId 会话id(人员id、群组id、应用code等)
     * @param chatName 会话id(人员id、群组id、应用code等)
     */
    QDClient.getInstance().replaceSession(QDMessage message, String chatId, String chatName)
    /**
     * 删除会话
     * @param content (userId + ";" + userName)高管模式下高管删除会话时会用到
     */
    public void deleteConversation(String content)

数据库操作

/**
* 获取所有会话
* @return
*/
List<QDSession> sessionList = QDSessionDao.getInstance().getAllSession()
/**
* 获取所有应用会话
* @return
*/
List<QDSession> sessionList = QDSessionDao.getInstance().getAppSessionList()
/**
* 获取所有密聊会话
* @return
*/
List<QDSession> sessionList = QDSessionDao.getInstance().getSecretSession()
/**
* 获取所有单人会话id列表
* @return
*/
List<String> idList = QDSessionDao.getInstance().getPersonSessionIdList()
/**
* 根据类型获取会话
* @param id 会话id 下同
* @return
*/
QDSession session = QDSessionDao.getInstance().getSessionByType(int type)
/**
* 根据id获取会话
* @param id 会话id 下同
* @return
*/
QDSession session = QDSessionDao.getInstance().getSessionById(String id)
/**
* 插入一个会话
* @param session
*/
QDSessionDao.getInstance().insertSession(QDSession session)
/**
* 更新会话信息
* @param session
*/
QDSessionDao.getInstance().updateSession(QDSession session)
/**
* 更新会话置顶状态
* @param id
* @param isTop
*/
QDSessionDao.getInstance().updateSessionIsTop(String id, int isTop)
/**
* 更新会话免打扰状态
* @param id
* @param isMute 
*/
QDSessionDao.getInstance().updateSessionIsMute(String id, int isMute)
/**
* 更新会话名称
* @param id
* @param name
*/
QDSessionDao.getInstance().updateSessionNameById(String id, String name)
/**
* 更新会话未读数量 当point为0时同时会将isAtSelf值设为0
* @param id
* @param point
*/
QDSessionDao.getInstance().updateSessionPoint(String id, int point)
/**
* 更新会话标题
* @param id
* @param subject
*/
QDSessionDao.getInstance().updateSessionSubject(String id, String subject)
/**
* 更新会话头像
* @param id
* @param icon
*/
QDSessionDao.getInstance().updateSessionIcon(String id, String icon)
/**
* 清空所有会话未读数量和标题
*
*/
QDSessionDao.getInstance().clearSessionPointAndSubject()
/**
* 根据id删除会话
* @param id
*/
QDSessionDao.getInstance().deleteSessionById(String id)

QDSession 类

TYPE_PERSON 单聊
TYPE_APP 应用会话
TYPE_GROUP 群聊
TYPE_SECRET 密聊会话

/**
* 会话id
*/
String id
/**
* 会话名称
*/
String name
/**
* 会话头像
*/
String icon
/**
* 创建时间
*/
long createTime
/**
* 未读消息数量
*/
int point
/**
* 标题
*/
String subject
/**
* 类型
*/
int type
/**
* 是否置顶
*/
int isTop
/**
* 是否免打扰
*/
int isMute
/**
* 最后一条消息id
*/
String msgId
/**
* 最后一条消息类型
*/
String msgType
/**
* 是否含有@自己的消息
*/
int isAtSelf  0 表示没有 其他表示有