好友聊天消息列表本地数据库封装
2016-11-02 11:38
232 查看
import com.xuehu365.xuehu.utils.DBHelp; import com.xuehu365.xuehu.utils.LogHelp; import org.xutils.ex.DbException; import java.util.List; /** * Created by Administrator on 2016/10/26. */ public class PersonalMessageListData { public static MessageChatEntity getById(String relationId) { try { return DBHelp.getInstance().getDbManager().selector(MessageChatEntity.class).where("relationId", "=", relationId).findFirst(); } catch (DbException e) { e.printStackTrace(); } return null; } /** * 获取所有未读消息数量 */ public static int getTotalPersonalMsgUnReadCount() { int total = 0; try { List<MessageChatEntity> allPersonalMsg = DBHelp.getInstance().getDbManager().findAll(MessageChatEntity.class); if (null != allPersonalMsg && allPersonalMsg.size() > 0) { for (MessageChatEntity entity : allPersonalMsg) { total += entity.getMsgCount(); } } } catch (DbException e) { e.printStackTrace(); } return total; } /** * 删除好友回话 */ public static void deletePersonalMessage(String relationId) { try { DBHelp.getInstance().getDbManager().deleteById(MessageChatEntity.class, relationId); } catch (DbException e) { e.printStackTrace(); } } /** * 设置未读消息 */ public static void setPersonalMsg(PrivateMessage message) { //更新用户消息 MessageChatEntity entity = getById(message.getConversationId()); //之前存在 if (null == entity) { entity = new MessageChatEntity(); entity.setRelationId(message.getConversationId()); } entity.setMsgCount(entity.getMsgCount() + 1); entity.setFriendId(message.getUserId()); entity.setImageUrl(message.getHeadUrl()); entity.setName(message.getUserName()); entity.setChatDate(Long.parseLong(message.getTime())); entity.setChatContent(message.getMsg()); entity.setIsFriend(message.getPersonalMsgType()); entity.setMsgType(message.getMsgType()); DBHelp.getInstance().saveOrUpdate(entity); } /** * 设置自己的消息 */ public static void setSelfPersonMsg(PrivateMessage message, FriendModel model) { //更新用户消息 MessageChatEntity entity = getById(message.getConversationId()); //之前存在 if (null == entity) { entity = new MessageChatEntity(); entity.setRelationId(message.getConversationId()); } entity.setMsgCount(0); entity.setFriendId(model.getFriendId()); entity.setImageUrl(model.getHeadUrl()); entity.setName(model.getFriendName()); entity.setChatDate(Long.parseLong(message.getTime())); entity.setChatContent(message.getMsg()); entity.setIsFriend(message.getPersonalMsgType()); entity.setMsgType(message.getMsgType()); DBHelp.getInstance().saveOrUpdate(entity); } /** * 查出所有好友消息 */ public static List<MessageChatEntity> getAllPersonalMessage() { try { return DBHelp.getInstance().getDbManager().selector(MessageChatEntity.class).orderBy("chatDate", true).findAll(); } catch (DbException e) { e.printStackTrace(); } return null; } /** * 设置好友消息已读 */ public static void setMessageRead(String relationId) { LogHelp.i("friend", "fadfagagr"); MessageChatEntity entity = getById(relationId); if (null != entity) { entity.setMsgCount(0); DBHelp.getInstance().saveOrUpdate(entity); } } }
相关文章推荐
- 使用java导入某个msn帐号的好友列表并发送消息
- (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画
- 仿QQ聊天(3)—好友列表的实现
- 城市列表导入本地数据库
- 使用融云聊天消息列表界面头像背景颜色
- QQ好友的列表恢复与聊天记录的恢复
- 环信SDK3.2.3和EaseUI消息列表和聊天的简单实现
- Mycat(5):聊天消息表数据库按月分表实践,平滑扩展
- xmpp-iOS-获取好友列表、聊天信息列表、聊天
- 如何破解微信加密数据库EnMicroMsg.db读取聊天消息
- (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画
- PHP 获取MSN好友列表 组信息 发送离线消息 (二)
- PHP 获取MSN好友列表 组信息 发送离线消息 (一)
- QQ好友列表数据模型封装
- 聊天列表接收到消息后没反应
- 使用JAVA导入某个MSN帐号的好友列表并发送消息
- Python小练习-自动登录人人发送消息并返回好友列表
- android 本地数据库sqlite的封装
- iOS个人整理36-即时通信2 XMPP 好友列表 聊天信息
- 基于XMPP开发学习------(3)好友列表、发送消息