zoukankan      html  css  js  c++  java
  • 好友聊天消息列表本地数据库封装

     

    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的参数传递是值传递还是引用传递
    10张图带你深入理解Docker容器和镜像
    Java 如何有效地避免OOM:善于利用软引用和弱引用
    事务与一致性:刚性or柔性
    Java 面试题史上最强整理
    三张图秒懂Redis集群设计原理
    iOS开发笔记系列-基础4(变量与数据类型)
    iOS开发笔记系列-基础3(多态、动态类型和动态绑定)
    iOS开发笔记系列-基础2(类)
    iOS开发笔记系列-基础1(数据类型与表达式)
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/6022350.html
Copyright © 2011-2022 走看看