MailBookingLiveHelper.java 2.93 KB
package com.wd.room;

import android.content.Context;

import com.wd.room.dao.MailBookingLiveDao;
import com.wd.room.entity.MailBookingliveModel;

import java.util.List;


/**
 * 需要异步操作数据库
 *
 * @author : wd
 * @since: 2023/3/10
 */
public class MailBookingLiveHelper {


    public static MailBookingLiveHelper instance;
    /**
     * 不对外暴露
     */
    private static MailBookingLiveDao dao;


    public static MailBookingLiveHelper getInstance(Context context){
        if (null == instance){
            synchronized (MailBookingLiveHelper.class){
                if (null == instance){
                    instance = new MailBookingLiveHelper();
                    build(context);
                }
            }
        }
        return instance;
    }


    private static void build(Context context){
        dao = RoomUtils.getInstance().getMailBookingLiveDao(context);
    }


    public void delete(int ids) {
        if (null != dao){
            dao.delete(ids);
        }
    }


    public void deleteByUserId(String userId) {
        if (null != dao){
            dao.deleteByUserId(userId);
        }
    }

    public List<MailBookingliveModel> queryAllByUserId(String userId){
        if (null != dao){
            return dao.queryAllByUserId(userId);
        }
        return null;
    }


    public String queryIsReadByNewsTitle(String newsTitle, String userId){
        if (null != dao){
            MailBookingliveModel model = dao.queryByKey(newsTitle, userId);
            if(model != null){
                return model.isread;
            }
        }
        return "";
    }

    public List<MailBookingliveModel> queryReadByUserId(String userId){
        if (null != dao){
           return dao.queryReadByUserId(userId,"1");
        }
        return null;
    }

    /**
     * 获取总数
     * */
    public int getTotalUnReadCount(String userId){
        if(null != dao){
//            int count = dao.getTotalCount(userId,"0");
//            int counttotal = dao.getTotalCount();
            List<MailBookingliveModel> models = dao.queryReadByUserId(userId,"0");
            if(models != null){
                return models.size();
            }
        }
        return 0;
    }

    public void insertOrUpdate(MailBookingliveModel[] model) {
        if (null != dao){
            dao.insertOrUpdate(model);
        }
    }

    public void update(MailBookingliveModel model) {
        if (null != dao){
            dao.update(model);
        }
    }

    public void updateReadStateByKey(String newsTitle, String userId){
        if (null != dao){
            dao.updateReadStateByKey(newsTitle, userId,"1");
        }
    }

    /**
     * 删除所以记录
     */
    public void deleteAll(){
        if (null != dao){
            dao.clear();
        }
    }

    /**
     * 删除所以记录
     */
    public void clear(Context context){
        RoomUtils.getInstance().getMailBookingLiveDao(context).clear();
    }
}