package org.aisen.weibo.sina.support.sqlit; import com.alibaba.fastjson.JSON; import org.aisen.android.component.orm.extra.Extra; import org.aisen.android.component.orm.utils.FieldUtils; import org.aisen.weibo.sina.sinasdk.bean.WeiBoUser; import org.aisen.weibo.sina.support.bean.PublishBean; import org.aisen.weibo.sina.support.bean.PublishBean.PublishStatus; import java.util.ArrayList; import java.util.List; public class PublishDB { public static void addPublish(PublishBean bean, WeiBoUser user) { Extra extra = new Extra(user.getIdstr(), null); SinaDB.getDB().insertOrReplace(extra, bean); } public static void deletePublish(PublishBean bean, WeiBoUser user) { Extra extra = new Extra(user.getIdstr(), null); SinaDB.getDB().deleteById(extra, PublishBean.class, bean.getId()); } public static void updatePublish(PublishBean bean, WeiBoUser user) { Extra extra = new Extra(user.getIdstr(), null); SinaDB.getDB().insertOrReplace(extra, bean); } public static ArrayList<PublishBean> getPublishList(WeiBoUser user) { String selection = String.format(" %s = ? and %s != ? and %s != ? and %s != ? ", FieldUtils.OWNER, "status", "status", "status"); String[] selectionArgs = { user.getIdstr(), JSON.toJSONString(PublishStatus.create), JSON.toJSONString(PublishStatus.sending), JSON.toJSONString(PublishStatus.waiting) }; return (ArrayList<PublishBean>) SinaDB.getDB().select(PublishBean.class, selection, selectionArgs, null, null, FieldUtils.CREATEAT + " desc ", null); } /** * 获取添加状态的发布消息 * * @param user * @return */ public static List<PublishBean> getPublishOfAddStatus(WeiBoUser user) { try { String selection = String.format(" %s = ? and %s = ? ", FieldUtils.OWNER, "status"); String[] selectionArgs = { user.getIdstr(), PublishStatus.create.toString() }; return SinaDB.getDB().select(PublishBean.class, selection, selectionArgs); } catch (Exception e) { } return new ArrayList<PublishBean>(); } /** * 定时任务 * * @param user * @return */ public static List<PublishBean> getTimingPublishStatus(WeiBoUser user) { try { String selection = String.format(" %s = ? and %s = ? and %s > ? ", FieldUtils.OWNER, "status", "timing"); String[] selectionArgs = { user.getIdstr(), PublishStatus.draft.toString(), "0" }; return SinaDB.getDB().select(PublishBean.class, selection, selectionArgs); } catch (Exception e) { } return new ArrayList<PublishBean>(); } }