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);
            }
    
        }
    
    }

     

  • 相关阅读:
    week2 About BuildTools
    week2 GIT and Version Control
    学习RFC相关知识以及心得
    Week 1 Functional Language
    8.C语言_中文字符存储问题
    7.C语言_字符与字符串
    6.C语言_整数类型
    4.C语言_变量与参数的内存布局
    3.C语言_变量
    2.C语言_参数传递与返回值
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/6022350.html
Copyright © 2011-2022 走看看