Przeglądaj źródła

订阅号加入缓存机制

gongpm 9 lat temu
rodzic
commit
491bb85aa1

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/OtherSqliteHelper.java

@@ -10,7 +10,7 @@ import android.database.sqlite.SQLiteOpenHelper;
  */
 public class OtherSqliteHelper extends SQLiteOpenHelper {
     public static final String DATABASE_NAME = "other.db";
-    private static final int DATABASE_VERSION = 1;
+    private static final int DATABASE_VERSION = 2;
 
     public OtherSqliteHelper(Context context) {
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
@@ -19,7 +19,7 @@ public class OtherSqliteHelper extends SQLiteOpenHelper {
     @Override
     public void onCreate(SQLiteDatabase sqLiteDatabase) {
         String sql = "CREATE TABLE SubscriptionMessage(id_ PRIMARY KEY,num_id_,instance_id_ ,createdate_,title_," +
-                "son_title_,status_,EMP_ID_,RN_,SONTITLE_,SUMDATA_)";
+                "son_title_,status_,EMP_ID_,RN_,SONTITLE_,SUMDATA_,name)";
         sqLiteDatabase.execSQL(sql);
     }
 

+ 66 - 21
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java

@@ -34,7 +34,7 @@ public class SubscriptionDao {
     }
 
     //添加多个数据
-    public long addMessage(ArrayList<SubscriptionMessage> messages) {
+    public long addMessage(ArrayList<SubscriptionMessage> messages, String name) {
         long k = 0;
         SQLiteDatabase db = sqliteHelper.getWritableDatabase();
         db.beginTransaction();
@@ -43,7 +43,6 @@ public class SubscriptionDao {
             String nullColumn = null;
             SubscriptionMessage message = null;
             for (int i = 0; i < messages.size(); i++) {
-                Log.i("bbbb", "进来自此");
                 message = messages.get(i);
                 values = new ContentValues();
                 values.put("id_", message.getID_());
@@ -57,10 +56,8 @@ public class SubscriptionDao {
                 values.put("RN_", message.getRN());
                 values.put("SONTITLE_", message.getSONTITLE_());
                 values.put("SUMDATA_", message.getSUMDATA_());
-
+                values.put("name", name);
                 k += db.insert(titleName, nullColumn, values);
-                Log.i("bbbb", "进来自此" + k);
-
             }
             db.setTransactionSuccessful();
             return k;
@@ -73,8 +70,35 @@ public class SubscriptionDao {
         return 0;
     }
 
+    public void deleteMessageById(int id, String name) {
+        SQLiteDatabase db = sqliteHelper.getWritableDatabase();
+        String sql = "DELETE FROM SubscriptionMessage WHERE id_ = " + id  ;
+        try {
+            db.execSQL(sql);
+        } catch (SQLException e) {
+        } finally {
+            db.close();
+
+        }
+    }
+
+    public long deleteMessage(long date, long endDate, String name) {
+        long k = 0;
+        SQLiteDatabase db = sqliteHelper.getWritableDatabase();
+        String sql = "DELETE FROM SubscriptionMessage WHERE createdate_ > " + date + " and   createdate_ <" + endDate + " and name=" + name;
+        try {
+            String where = "createdate_>?,createdate_<=?";
+            String[] whereArg = {date + "", endDate + ""};
+            k = db.delete(titleName, where, whereArg);
+        } catch (SQLException e) {
+        } finally {
+            db.close();
+        }
+        return k;
+    }
+
     //添加单个数据
-    public long addMessage(SubscriptionMessage message) {
+    public long addMessage(SubscriptionMessage message, String name) {
         long k = 0;
         SQLiteDatabase db = sqliteHelper.getWritableDatabase();
         try {
@@ -92,6 +116,8 @@ public class SubscriptionDao {
             values.put("RN_", message.getRN());
             values.put("SONTITLE_", message.getSONTITLE_());
             values.put("SUMDATA_", message.getSUMDATA_());
+            values.put("name", name);
+
             k += db.insert(titleName, nullColumn, values);
 
         } catch (SQLException e) {
@@ -103,34 +129,52 @@ public class SubscriptionDao {
         return k;
     }
 
-    public long removeMessage(ArrayList<SubscriptionMessage> messages) {
-        long k = 0;
-        SQLiteDatabase db = sqliteHelper.getWritableDatabase();
-        db.beginTransaction();
+
+    public ArrayList<SubscriptionMessage> findAll() {
+        ArrayList<SubscriptionMessage> messages = new ArrayList<>();
+        SQLiteDatabase db = sqliteHelper.getReadableDatabase();
+        String[] colums = {"id_", "num_id_", "instance_id_", "createdate_", "title_", "son_title_", "status_", "EMP_ID_"
+                , "RN_", "SONTITLE_", "SUMDATA_"};
+        String selection = null;
+        String[] selectionArgs = null;
         try {
-            String where = "id_=?";
-            for (int i = 0; i < messages.size(); i++) {
-                String[] whereArg = {"" + messages.get(i).getID_()};
-                k += db.delete(titleName, where, whereArg);
+            SubscriptionMessage message = null;
+            Cursor values = db.query(titleName, colums, selection, selectionArgs, null, null, null);
+            while (values.moveToNext()) {
+                message = new SubscriptionMessage();
+                message.setID_(values.getInt(0));
+                message.setNUM_ID_(values.getInt(1));
+                message.setINSTANCE_ID_(values.getInt(2));
+                message.setCREATEDATE_(values.getString(3));
+                message.setTITLE_(values.getString(4));
+                message.setSON_TITLE_(values.getString(5));
+                message.setSTATUS_(values.getInt(6));
+                message.setEMP_ID_(values.getInt(7));
+                message.setRN(values.getInt(8));
+                message.setSONTITLE_(values.getString(9));
+                message.setSUMDATA_(values.getString(10));
+                messages.add(message);
             }
-            db.setTransactionSuccessful();
+
         } catch (SQLException e) {
             Log.i("gong", e.getMessage());
-            e.printStackTrace();
         } finally {
-            db.endTransaction();
             db.close();
         }
-        return k;
+        for (int i = 0; i < messages.size(); i++) {
+            Log.i("aaaaa", messages.get(i).getTITLE_());
+        }
+        return messages;
     }
 
-    public ArrayList<SubscriptionMessage> findAll() {
+
+    public ArrayList<SubscriptionMessage> findByDate(long date, long endDate, String name) {
         ArrayList<SubscriptionMessage> messages = new ArrayList<>();
         SQLiteDatabase db = sqliteHelper.getReadableDatabase();
         String[] colums = {"id_", "num_id_", "instance_id_", "createdate_", "title_", "son_title_", "status_", "EMP_ID_"
                 , "RN_", "SONTITLE_", "SUMDATA_"};
-        String selection = null;
-        String[] selectionArgs = null;
+        String selection = "createdate_>? and createdate_<?" + "  and name=?";
+        String[] selectionArgs = {date + "", "" + endDate, name};
         try {
             SubscriptionMessage message = null;
             Cursor values = db.query(titleName, colums, selection, selectionArgs, null, null, null);
@@ -147,6 +191,7 @@ public class SubscriptionDao {
                 message.setRN(values.getInt(8));
                 message.setSONTITLE_(values.getString(9));
                 message.setSUMDATA_(values.getString(10));
+
                 messages.add(message);
             }
 

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/WorksFragment.java

@@ -17,7 +17,7 @@ import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.base.XutilsFragment;
 import com.xzjmyk.pm.activity.ui.circle.BusinessCircleActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.ClientActivity;
-import com.xzjmyk.pm.activity.ui.erp.activity.OAActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.ErpMenActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
@@ -94,8 +94,8 @@ public class WorksFragment extends XutilsFragment implements View.OnClickListene
                 ViewUtil.WebLinks(ct, url, "我的商务");
                 break;
             case R.id.rl_uas_sys:
-//                ct.startActivity(new Intent(ct, ErpMenActivity.class));
-                ct.startActivity(new Intent(ct, OAActivity.class));
+                ct.startActivity(new Intent(ct, ErpMenActivity.class));
+//                ct.startActivity(new Intent(ct, OAActivity.class));
                 break;
             case R.id.my_client_rl:
                 ct.startActivity(new Intent(ct, ClientActivity.class));

+ 6 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/HttpClient.java

@@ -331,6 +331,8 @@ public class HttpClient {
             cookieStore = ((AbstractHttpClient) httpclient)
                     .getCookieStore();
             for (int i = 0; i < cookieStore.getCookies().size(); i++) {
+                Log.i("gongpengming", cookieStore.getCookies().get(i)
+                        .getDomain());
                 if ("www.ubtob.com".equals(cookieStore.getCookies().get(i)
                         .getDomain())) {
                     // 保存b2b平台的cookie
@@ -340,11 +342,14 @@ public class HttpClient {
                     MyApplication.cookie = cookieStore.getCookies()
                             .get(i);
                 } else if ("218.17.158.219".equals(cookieStore.getCookies().get(i)
-                        .getDomain())){
+                        .getDomain())) {
                     // 保存erp平台的cookie
                     Log.i("Jession_cookie", cookieStore.getCookies().get(i).getValue());
                     MyApplication.cookieERP = cookieStore.getCookies()
                             .get(i);
+                } else {
+                    MyApplication.cookieERP = cookieStore.getCookies()
+                            .get(i);
                 }
             }
 

+ 27 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -54,10 +54,10 @@ public class CommonUtil {
         for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
             if (appProcess.processName.equals(context.getPackageName())) {
                 if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
-                    Log.i("Process", "进入后台..."+appProcess.processName);
+                    Log.i("Process", "进入后台..." + appProcess.processName);
                     return true;
-                }else{
-                    Log.i("Process", "进入前台..."+appProcess.processName);
+                } else {
+                    Log.i("Process", "进入前台..." + appProcess.processName);
                     return false;
                 }
             }
@@ -66,13 +66,13 @@ public class CommonUtil {
     }
 
     //计算图片的缩放值
-    public static int calculateInSampleSize(BitmapFactory.Options options,int reqWidth, int reqHeight) {
+    public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {
         final int height = options.outHeight;
         final int width = options.outWidth;
         int inSampleSize = 1;
 
         if (height > reqHeight || width > reqWidth) {
-            final int heightRatio = Math.round((float) height/ (float) reqHeight);
+            final int heightRatio = Math.round((float) height / (float) reqHeight);
             final int widthRatio = Math.round((float) width / (float) reqWidth);
             inSampleSize = heightRatio < widthRatio ? heightRatio : widthRatio;
         }
@@ -104,9 +104,9 @@ public class CommonUtil {
     }
 
 
-
     /**
      * 显示图片的所有配置
+     *
      * @return
      */
     private DisplayImageOptions getWholeOptions() {
@@ -293,7 +293,7 @@ public class CommonUtil {
     }
 
     public static String getSharedPreferences(Context ct, String key) {
-        if (key == null||ct==null) {
+        if (key == null || ct == null) {
             return null;
         }
         SharedPreferences sPreferences = ct.getSharedPreferences(AppShareName, Context.MODE_PRIVATE);
@@ -319,6 +319,24 @@ public class CommonUtil {
         return value;
     }
 
+    public static long getSharedPreferencesLong(Context ct, String key) {
+        if (key == null) {
+            return 0;
+        }
+        SharedPreferences sPreferences = ct.getSharedPreferences(AppShareName, Context.MODE_PRIVATE);
+        long value = sPreferences.getLong(key, 0);
+        return value;
+    }
+
+    public static boolean putSharedPreferencesLong(Context ct, String key, long values) {
+        if (key == null) {
+            return false;
+        }
+        SharedPreferences sPreferences = ct.getSharedPreferences(AppShareName, Context.MODE_PRIVATE);
+        sPreferences.edit().putLong(key, values).commit();
+        return true;
+    }
+
     public static boolean getSharedPreferencesBoolean(Context ct, String key, boolean defalutValue) {
         if (key == null) {
             return false;
@@ -530,7 +548,7 @@ public class CommonUtil {
     /**
      * @注释:加载通用网页
      */
-    public static void loadWebView(Context context, String url, String title,String master,String masterId,String uu) {
+    public static void loadWebView(Context context, String url, String title, String master, String masterId, String uu) {
         Intent intent = new Intent(context, WebViewLoadActivity.class);
         intent.putExtra("url", url);
         intent.putExtra("p", title);
@@ -546,7 +564,7 @@ public class CommonUtil {
      * @desc:跳转到B2B
      * @author:Administrator on 2016/4/8 14:55
      */
-    public static void loadWebViewToB2B(Context ct,String url,String title){
+    public static void loadWebViewToB2B(Context ct, String url, String title) {
         Intent intent = new Intent(ct, WebViewCommActivity.class);
         intent.putExtra("url", url);
         intent.putExtra("p", title);
@@ -556,5 +574,4 @@ public class CommonUtil {
     }
 
 
-
 }

+ 138 - 76
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/SubscriptionActivity.java

@@ -5,7 +5,6 @@ import android.content.DialogInterface;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -27,6 +26,7 @@ import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
+import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.MyListView;
 
@@ -48,10 +48,10 @@ public class SubscriptionActivity extends BaseActivity {
     private SubscriptionAdapter adapter;
     private SubscriptionActivity activity = this;
     private ArrayList<SortSubsrciprion> sortSubsrciprions;
-    private int date = -1;
     private final long daylong = 24 * 60 * 60 * 1000;//一天的毫秒数
     private long newlong;  //当前指定位置的毫秒数
-    private boolean isRef = false;
+    private boolean isRef = true;
+    private long oldTime = 0;
     private int[] srcs = {
             R.drawable.list_01, R.drawable.list_02, R.drawable.list_03
     };
@@ -75,131 +75,195 @@ public class SubscriptionActivity extends BaseActivity {
                 //错误信息
                 if (listView != null)
                     listView.onRefreshComplete();
+            } else if (msg.what == RESULT_OK) {
+                if (adapter == null) {
+                    adapter = new SubscriptionAdapter();
+                    listView.setAdapter(adapter);
+                } else {
+                    adapter.notifyDataSetChanged();
+                }
+                listView.onRefreshComplete();
             }
         }
     };
     String mLoginUserId;
+    private String emCode;
 
     @Override//设置右划退出
     public void setTouch(boolean b) {
         super.setTouch(false);
     }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_subscription);
         getSupportActionBar().setTitle("订阅号");
-        mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
-        baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
+        initView();
+        init();
+    }
+
+    private void initView() {
         listView = (PullToRefreshListView) findViewById(R.id.listview);
         listView.setMode(PullToRefreshBase.Mode.BOTH);
         listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
             @Override
             public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                 isRef = true;
-                init();
+                //刷新时候优先获取网络
+                Calendar calendar = Calendar.getInstance();
+                calendar.set(Calendar.HOUR_OF_DAY, 0);
+                calendar.set(Calendar.MINUTE, 0);
+                calendar.set(Calendar.SECOND, 0);
+                newlong = calendar.getTimeInMillis();
+                loadNetData(newlong);//获取当天的网络数据
             }
 
             @Override
             public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
-                //TODo 加载前一天的数据
-                newlong -= daylong;
-                date = TimeUtils.int_long_2_str(newlong);
                 isRef = false;
-                initData(date);
+                //优先获取数据库
+                if (oldTime == 0) {
+                    newlong -= daylong;
+                } else {
+                    newlong = oldTime - daylong;
+                }
+                oldTime = newlong;
+                SubscriptionMessages = SubscriptionDao.getInstance().findByDate(newlong, daylong + newlong, emCode);//获取数据库
+                if (SubscriptionMessages == null || SubscriptionMessages.size() <= 0) {//数据库中没有数据
+                    loadNetData(newlong);
+                } else {//数据库中有数据
+                    loadMore();
+                }
             }
         });
-        init();
     }
 
     private void init() {
-        newlong = System.currentTimeMillis();
-        date = TimeUtils.int_long_2_str(newlong);
-        initData(date);
+        mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+        baseUrl = CommonUtil.getSharedPreferences(this, "erp_baseurl");
+        emCode = CommonUtil.getSharedPreferences(mContext, "erp_username");
+        //第一次进来获取数据库
+        //获取当天时间
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        newlong = calendar.getTimeInMillis();
+        SubscriptionMessages = SubscriptionDao.getInstance().findByDate(newlong, newlong + daylong, emCode);
+
+        if (SubscriptionMessages != null && SubscriptionMessages.size() > 0) {//当天数据库有数据
+            loadMore();
+        } else {//当天数据库没有数据
+            loadNetData(newlong);
+        }
+
     }
 
-    private void cancelData() {
-        if (sortSubsrciprions != null) {
-            sortSubsrciprions.clear();
-        }
-//        if (SubscriptionMessages != null) {
-//            SubscriptionMessages.clear();
-//        }
-        if (adapter != null)
-            adapter.notifyDataSetChanged();
+    private void refresh() {
+        ThreadPool.getThreadPool().addTask(new Runnable() {
+            @Override
+            public void run() {
+                SortSubsrciprion sortSubsrciprion = null;
+                for (int i = 0; i < SubscriptionMessages.size(); i++) {
+                    sortSubsrciprion = new SortSubsrciprion();
+                    sortSubsrciprion.num_id = SubscriptionMessages.get(i).getNUM_ID_();
+                    sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
+                    sortSubsrciprion.beans = new ArrayList<>();
+                    sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
+                    if (sortSubsrciprions.size() > 0) {
+                        for (int j = 0; j < sortSubsrciprions.size(); j++) {
+                            if (sortSubsrciprion.num_id == sortSubsrciprions.get(j).num_id) {//如果相同
+                                sortSubsrciprions.get(j).beans.add(SubscriptionMessages.get(i));
+                                break;
+                            } else if (j == (sortSubsrciprions.size() - 1)) {//如果到最后一个都不相同
+                                sortSubsrciprions.add(sortSubsrciprion);
+                                break;
+                            }
+                        }
+                    } else {
+                        sortSubsrciprions.add(sortSubsrciprion);
+                    }
+                }
+                handler.sendEmptyMessage(RESULT_OK);
+
+            }
+        });
+
     }
 
-    int pager = 0;
+    private void loadMore() {
+        ThreadPool.getThreadPool().addTask(new Runnable() {
+            @Override
+            public void run() {
+                if (sortSubsrciprions == null)
+                    sortSubsrciprions = new ArrayList<>();
+                ArrayList<SortSubsrciprion> chche = new ArrayList<>();
+                SortSubsrciprion sortSubsrciprion = null;
+                for (int i = 0; i < SubscriptionMessages.size(); i++) {
+                    sortSubsrciprion = new SortSubsrciprion();
+                    sortSubsrciprion.num_id = SubscriptionMessages.get(i).getNUM_ID_();
+                    sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
+                    sortSubsrciprion.beans = new ArrayList<>();
+                    sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
+                    if (chche.size() > 0) {
+                        for (int j = 0; j < chche.size(); j++) {
+                            if (sortSubsrciprion.num_id == chche.get(j).num_id) {//如果相同
+                                chche.get(j).beans.add(SubscriptionMessages.get(i));
+                                break;
+                            } else if (j == (chche.size() - 1)) {//如果到最后一个都不相同
+                                chche.add(sortSubsrciprion);
+                                break;
+                            }
+                        }
+                    } else {
+                        chche.add(sortSubsrciprion);
+                    }
+                }
+                sortSubsrciprions.addAll(chche);
+                handler.sendEmptyMessage(RESULT_OK);
+            }
+        });
+    }
 
-    private void setData() {
+    private void setData() {//网络获取数据时候
         if (SubscriptionMessages == null || SubscriptionMessages.size() <= 0) {
             ToastMessage("没有更多内容");
             listView.onRefreshComplete();
             View emptyView = LayoutInflater.from(mContext).inflate(R.layout.layout_list_empty_view, null);
             listView.setEmptyView(emptyView);
+            if (adapter != null)
+                adapter.notifyDataSetChanged();
             return;
         }
-        if (isRef) cancelData();
-        if (sortSubsrciprions == null)
-            sortSubsrciprions = new ArrayList<>();
 
-        ArrayList<SortSubsrciprion> chche = new ArrayList<>();
-
-//        clearDataToDB(date);
-//        saveDataToDB(SubscriptionMessages);
-
-        SortSubsrciprion sortSubsrciprion = null;
-        for (int i = 0; i < SubscriptionMessages.size(); i++) {
-            sortSubsrciprion = new SortSubsrciprion();
-            sortSubsrciprion.num_id = SubscriptionMessages.get(i).getNUM_ID_();
-            sortSubsrciprion.tiem = Long.parseLong(SubscriptionMessages.get(i).getCREATEDATE_());
-            sortSubsrciprion.beans = new ArrayList<>();
-            sortSubsrciprion.beans.add(SubscriptionMessages.get(i));
-            if (chche.size() > 0) {
-                for (int j = 0; j < chche.size(); j++) {
-                    if (sortSubsrciprion.num_id == chche.get(j).num_id) {//如果相同
-                        chche.get(j).beans.add(SubscriptionMessages.get(i));
-                        break;
-                    } else if (j == (chche.size() - 1)) {//如果到最后一个都不相同
-                        chche.add(sortSubsrciprion);
-                        break;
-                    }
-                }
-            } else {
-                chche.add(sortSubsrciprion);
-            }
-        }
-        sortSubsrciprions.addAll(chche);
-
-        if (adapter == null) {
-            adapter = new SubscriptionAdapter();
-            listView.setAdapter(adapter);
-        } else {
-            Log.i("gongpenging", "sortSubsrciprions=" + sortSubsrciprions.size());
-            adapter.notifyDataSetChanged();
+        //保存数据库
+        clearDataToDB(newlong, newlong + daylong);
+        saveDataToDB(SubscriptionMessages);
+        if (sortSubsrciprions == null) {
+            sortSubsrciprions = new ArrayList<>();
         }
-        listView.onRefreshComplete();
-    }
+        if (isRef) refresh();
+        else loadMore();
 
-    private void clearDataToDB(long date) {
-        //Todo  chear the db
+    }
 
+    private void clearDataToDB(long newlong, long date) {
+        long k = SubscriptionDao.getInstance().deleteMessage(newlong, date, emCode);
     }
 
     private void saveDataToDB(ArrayList<SubscriptionMessage> subscriptionMessages) {
-        // add message to db
-        long k = SubscriptionDao.getInstance().addMessage(subscriptionMessages);
+        long k = SubscriptionDao.getInstance().addMessage(subscriptionMessages, emCode);
     }
 
-    private ArrayList<SubscriptionMessage> findDataFromDB() {
-        return SubscriptionDao.getInstance().findAll();
-    }
 
     private void popWindou(final int position, final int i) {
         new AlertDialog.Builder(mContext).setTitle(R.string.app_name).setMessage(R.string.delete_item).setNegativeButton(R.string.cancel, null)
                 .setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
+                        int id = sortSubsrciprions.get(position).beans.get(i).getID_();
+                        SubscriptionDao.getInstance().deleteMessageById(id, emCode);
                         sortSubsrciprions.get(position).beans.remove(i);
                         if (!(sortSubsrciprions.get(position).beans.size() > 0)) {
                             sortSubsrciprions.remove(position);
@@ -209,12 +273,12 @@ public class SubscriptionActivity extends BaseActivity {
                 }).create().show();
     }
 
-    public void initData(int date) {
+    public void loadNetData(long date) {
+        //获取网络数据
         String url = baseUrl + "common/desktop/subs/getSubs.action";
         final Map<String, Object> param = new HashMap<>();
         param.put("count", 100);
-        if (date == -1) param.put("condition", "where 1=1");
-        else param.put("condition", "where to_char(createdate_,'yyyymmdd')='" + date + "'");
+        param.put("condition", "where to_char(createdate_,'yyyymmdd')='" + TimeUtils.int_long_2_str(date) + "'");
         param.put("sessionId", CommonUtil.getSharedPreferences(this, "sessionId"));
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(this, "sessionId"));
@@ -331,7 +395,6 @@ public class SubscriptionActivity extends BaseActivity {
                 } else {
                     isRe = "已读";
                     isReColor = R.color.text_color;
-
                 }
                 holder.big_isre_tv.setText(isRe);
                 holder.big_isre_tv.setTextColor(getResources().getColor(isReColor));
@@ -339,7 +402,6 @@ public class SubscriptionActivity extends BaseActivity {
                 Calendar c = Calendar.getInstance();
                 c.setTimeInMillis(Long.parseLong(beans.get(i).getCREATEDATE_()));
                 int mWay = c.get(Calendar.DAY_OF_WEEK);
-                Log.i("gonss", "mWay=" + mWay);
                 holder.big_img.setImageDrawable(getResources().getDrawable(srcsBig[mWay - 1]));
             } else {
                 holder.ll.setVisibility(View.VISIBLE);