package com.cjj.nices.db;
import java.util.ArrayList;
import java.util.List;
import org.litepal.crud.DataSupport;
import android.database.Cursor;
import android.text.TextUtils;
import com.cjj.nices.model.NicesNewsListEntity;
import com.cjj.nices.model.NicesNewsListEntity.NewsListEntity;
import com.cjj.nices.util.ListUtils;
import com.cjj.volley.utils.LogUtil;
import com.google.gson.Gson;
/**
* 数据库帮助类
* @author cjj
*
*/
public class NicesDBHelper {
/**
* 查询数据
* @param time
* @return
*/
public static ArrayList<NewsListEntity> queryNewsList(String time)
{
ArrayList<NewsListEntity> data = null;
// List<NewsListModel> list = DataSupport.findAll(NewsListModel.class);
List<NewsListModel> list = DataSupport.where("time=?",time).find(NewsListModel.class);
if(!ListUtils.isEmpty(list))
{
String content = list.get(0).getContent();
LogUtil.LogMsg_I("query=====>"+content);
if(!TextUtils.isEmpty(content))
{
LogUtil.LogMsg_I("query=====>find");
Gson gson = new Gson();
data = gson.fromJson(content, NicesNewsListEntity.class).stories;
return data;
}
}
return null;
}
/**
* 插入 or 更新数据库
* @param time
* @param content
*/
public static void insertOrUpdateNewsList(String time,String content)
{
if(TextUtils.isEmpty(content))return;
if(isContentExist(time))
{
updateNewsList(time,content);
LogUtil.LogMsg_I("iscontnt exist ture update Success ");
}else
{
LogUtil.LogMsg_I("iscontnt exist false insert Success");
insertNewsList(time,content);
}
}
/**
* 更新数据
* @param time
* @param content
*/
private static void updateNewsList(String time, String content) {
NewsListModel model = new NewsListModel();
model.setTime(time);
model.setContent(content);
model.updateAll("time=?",time);
LogUtil.LogMsg_I("update =" +model.getContent());
}
/**
* 插入数据
* @param time
* @param content
*/
private static void insertNewsList(String time, String content) {
NewsListModel model = new NewsListModel();
model.setTime(time);
model.setContent(content);
boolean is = model.save();
LogUtil.LOgMsg_W("insert = "+ is);
}
/**
* 判断内容是否存在
* @param time
* @return
*/
private static boolean isContentExist(String time) {
Cursor cursor = DataSupport.findBySQL("select * from NewsListModel where time="+time);
if(cursor!=null&&cursor.getCount()>0&&cursor.moveToFirst())
{
String content = cursor.getString(cursor.getColumnIndex("time"));
if(!TextUtils.isEmpty(content))
{
return true;
}
}
cursor.close();
return false;
}
/******************************************** 收藏的操作 ********************************************************/
/**
* query
* @param id
* @return
*/
public static boolean queryIsFavorite(String id)
{
Cursor cursor = DataSupport.findBySQL("select * from FavoriteTableModel where new_id="+id);
if(cursor != null && cursor.getCount()>0 && cursor.moveToFirst())
{
LogUtil.LOgMsg_W("query true");
return true;
}
cursor.close();
LogUtil.LOgMsg_W("query false");
return false;
}
/**
* 保存的收藏的content
* @param id
* @param title
* @param image
* @param url
*/
public static void insertFavoriteContent(String id,String title,String image,String url)
{
FavoriteTableModel model = new FavoriteTableModel();
model.setNew_id(id);
model.setTitle(title);
model.setImage(image);
model.setUrl(url);
boolean is = model.save();
LogUtil.LOgMsg_W("id="+is);
}
/**
* 根据id取消收藏
* @param id
*/
public static void deleteFavoriteById(String id)
{
DataSupport.deleteAll(FavoriteTableModel.class,"new_id=?", id);
}
/**
* 查询所有数据
* @return
*/
public static ArrayList<NewsListEntity> queryAllData()
{
ArrayList<NewsListEntity> newsList = new ArrayList<NewsListEntity>();
List<FavoriteTableModel> list = DataSupport.order("new_id desc").find(FavoriteTableModel.class);
for (int i = 0; i < list.size(); i++) {
NewsListEntity entity = new NewsListEntity();
entity.title = list.get(i).getTitle();
entity.share_url = list.get(i).getUrl();
// entity.images.add(list.get(i).getImage());
if (!TextUtils.isEmpty(entity.share_url)) {
ArrayList<String> images = new ArrayList<String>();
images.add(list.get(i).getImage());
entity.images = images;
}
entity.id = Long.parseLong(list.get(i).getNew_id());
newsList.add(entity);
}
return newsList;
}
}