Browse Source

1.修改朋友圈获取数据接口,完成在工作fragment是有新内容红点显示

gongpm 10 years ago
parent
commit
9d49ee26a7

+ 51 - 2
WeiChat/src/main/java/com/sk/weichat/ui/circle/BusinessCircleActivity.java

@@ -16,6 +16,7 @@ import android.widget.ImageView;
 import android.widget.ListView;
 
 import com.alibaba.fastjson.JSON;
+import com.android.volley.Response;
 import com.android.volley.Response.ErrorListener;
 import com.android.volley.VolleyError;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
@@ -28,6 +29,7 @@ import com.sk.weichat.MyApplication;
 import com.sk.weichat.R;
 import com.sk.weichat.adapter.PublicMessageAdapter;
 import com.sk.weichat.bean.MyPhoto;
+import com.sk.weichat.bean.circle.CircleMessage;
 import com.sk.weichat.bean.circle.Comment;
 import com.sk.weichat.bean.circle.PublicMessage;
 import com.sk.weichat.db.dao.CircleMessageDao;
@@ -37,6 +39,7 @@ import com.sk.weichat.helper.AvatarHelper;
 import com.sk.weichat.helper.FileDataHelper;
 import com.sk.weichat.ui.base.BaseActivity;
 import com.sk.weichat.ui.tool.MultiImagePreviewActivity;
+import com.sk.weichat.util.PreferenceUtils;
 import com.sk.weichat.util.ToastUtil;
 import com.sk.weichat.view.CarouselImageView;
 import com.sk.weichat.view.PMsgBottomView;
@@ -432,13 +435,59 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView{
 	}
 
 	private void requestMyBusiness(final boolean isPullDwonToRefersh) {
-		Log.i("gongpengming","请求网络"+isPullDwonToRefersh);
+
 		if (isPullDwonToRefersh) {
 			mPageIndex = 0;
 		}
+		HashMap<String, String> params = new HashMap<String, String>();
+		String messageId = null;
+		if (!isPullDwonToRefersh && mMessages.size() > 0) {
+			messageId = mMessages.get(mMessages.size() - 1).getMessageId();
+			params.put("messageId",messageId);
+		}
+		params.put("access_token", MyApplication.getInstance().mAccessToken);
+		params.put("pageSize", ""+10);
+		params.put("type", "0");
+		StringJsonArrayRequest<PublicMessage> request = new StringJsonArrayRequest<PublicMessage>(
+				mConfig.MSG_LIST, new Response.ErrorListener() {
+			@Override
+			public void onErrorResponse(VolleyError arg0) {
+				Log.i("gongpengmingTIME", "" + arg0.getMessage());
+				ToastUtil.showErrorNet(BusinessCircleActivity.this);
+			}
+		}, new StringJsonArrayRequest.Listener<PublicMessage>() {
+			@Override
+			public void onResponse(ArrayResult<PublicMessage> result) {
+				boolean success = Result.defaultParser(mContext, result, true);
+				if (success) {
+					List<PublicMessage> datas = result.getData();
+					if (isPullDwonToRefersh) {
+						mMessages.clear();
+					}
+					if (datas != null && datas.size() > 0) {// 没有更多数据
+						mPageIndex++;
+						if ( isPullDwonToRefersh) {
+							FileDataHelper.writeFileData(BusinessCircleActivity.this, mLoginUserId, FileDataHelper.FILE_BUSINESS_CIRCLE, result);
+						}
+						mMessages.addAll(datas);
+					}
+					mAdapter.notifyDataSetChanged();
 
-		List<String> msgIds = CircleMessageDao.getInstance().getCircleMessageIds(mLoginUserId, mPageIndex, AppConfig.PAGE_SIZE);
+				} else {
 
+				}
+				mPullToRefreshListView.onRefreshComplete();
+			}
+		}, PublicMessage.class, params);
+		addDefaultRequest(request);
+	}
+	//TODO 接口错误,后期整合如无用删除
+	private void requestMyBusiness(final boolean isPullDwonToRefersh,int i) {
+		Log.i("gongpengming","请求网络"+isPullDwonToRefersh);
+		if (isPullDwonToRefersh) {
+			mPageIndex = 0;
+		}
+		List<String> msgIds = CircleMessageDao.getInstance().getCircleMessageIds(mLoginUserId, mPageIndex, AppConfig.PAGE_SIZE);
 		if (msgIds == null || msgIds.size() <= 0) {
 			mPullToRefreshListView.onRefreshComplete(200);
 			return;

+ 2 - 0
WeiChat/src/main/java/com/sk/weichat/ui/circle/BusinessCircleFragment.java

@@ -207,9 +207,11 @@ public class BusinessCircleFragment extends EasyFragment implements showCEView {
 		return mLoginUserId.equals(mUserId);
 	}
 	private void downloadCircleMessage() {
+
 		HashMap<String, String> params = new HashMap<String, String>();
 		params.put("access_token", MyApplication.getInstance().mAccessToken);
 		final BaseActivity mContext= (BaseActivity) getActivity();
+
 		StringJsonArrayRequest<CircleMessage> request = new StringJsonArrayRequest<CircleMessage>(
 				(mContext.mConfig).MSG_LIST, new ErrorListener() {
 			@Override

+ 31 - 24
WeiChat/src/main/java/com/sk/weichat/ui/erp/fragment/WorksFragment.java

@@ -5,6 +5,7 @@ import android.app.Application;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.os.Handler;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -19,9 +20,12 @@ import com.sk.weichat.AppConfig;
 import com.sk.weichat.AppConstant;
 import com.sk.weichat.MyApplication;
 import com.sk.weichat.R;
+import com.sk.weichat.bean.circle.CircleMessage;
 import com.sk.weichat.bean.circle.PublicMessage;
 import com.sk.weichat.db.dao.CircleMessageDao;
+import com.sk.weichat.db.dao.OnCompleteListener;
 import com.sk.weichat.helper.FileDataHelper;
+import com.sk.weichat.ui.base.BaseActivity;
 import com.sk.weichat.ui.base.XutilsFragment;
 import com.sk.weichat.ui.circle.BusinessCircleActivity;
 import com.sk.weichat.ui.erp.activity.CommonFragmentActivity;
@@ -55,6 +59,8 @@ public class WorksFragment extends XutilsFragment implements View.OnClickListene
     @ViewInject(R.id.my_friend_rl)
     private RelativeLayout my_friend_rl;
     private FastVolley mFastVolley = MyApplication.getInstance().getFastVolley();
+    private AppConfig config;
+    private String mLoginUserId;
 
     @Override
     protected int inflateLayoutId() {
@@ -96,48 +102,49 @@ public class WorksFragment extends XutilsFragment implements View.OnClickListene
         requestMyBusiness();
     }
 
-    //TODO   请求朋友圈
     private void requestMyBusiness() {
-        AppConfig config = MyApplication.getInstance().getConfig();
-        final String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
-        List<String> msgIds = CircleMessageDao.getInstance().getCircleMessageIds(mLoginUserId, 0, AppConfig.PAGE_SIZE);
+        if (config == null) {
+            config = MyApplication.getInstance().getConfig();
+        }
+        if (mLoginUserId == null || mLoginUserId.length() <= 0) {
+            mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+        }
         HashMap<String, String> params = new HashMap<String, String>();
         params.put("access_token", MyApplication.getInstance().mAccessToken);
-        params.put("ids", JSON.toJSONString(msgIds));
-        StringJsonArrayRequest<PublicMessage> request = new StringJsonArrayRequest<PublicMessage>(config.MSG_GETS, new Response.ErrorListener() {
+        final BaseActivity mContext = (BaseActivity) getActivity();
+        StringJsonArrayRequest<CircleMessage> request = new StringJsonArrayRequest<CircleMessage>(
+                config.MSG_LIST, new Response.ErrorListener() {
             @Override
             public void onErrorResponse(VolleyError arg0) {
-                Log.i("gongpengmingTIME", "" + arg0.getMessage());
                 ToastUtil.showErrorNet(getActivity());
             }
-        }, new StringJsonArrayRequest.Listener<PublicMessage>() {
+        }, new StringJsonArrayRequest.Listener<CircleMessage>() {
             @Override
-            public void onResponse(ArrayResult<PublicMessage> result) {
-                boolean success = Result.defaultParser(getActivity(), result, true);
+            public void onResponse(ArrayResult<CircleMessage> result) {
+                boolean success = Result.defaultParser(mContext, result, true);
                 if (success) {
-                    List<PublicMessage> datas = result.getData();
-                    Log.i("gongpengmingTIME", "" + datas.get(0).getTime());
+                    List<CircleMessage> datas = result.getData();
                     if (datas != null && datas.size() > 0) { // 没有更多数据
-//                        FileDataHelper.writeFileData(getActivity(), mLoginUserId, FileDataHelper.FILE_BUSINESS_CIRCLE, result);
-                        if (datas.get(0).getTime() > 0){
-                           long time= PreferenceUtils.getLong(getActivity(), TIME_MILL);
-                            if (time!=datas.get(0).getTime()) {
+                        FileDataHelper.writeFileData(getActivity(), mLoginUserId, FileDataHelper.FILE_BUSINESS_CIRCLE, result);
+                        if (datas.get(0).getTime() > 0) {
+                            long time = PreferenceUtils.getLong(getActivity(), TIME_MILL);
+                            if (time != datas.get(0).getTime()) {
                                 PreferenceUtils.putLong(getActivity(), TIME_MILL, datas.get(0).getTime());
                                 iv_remain.setVisibility(View.VISIBLE);
-//                                iv_remain.setVisibility(View.GONE);   //正逻辑
-                                //TODO 处理时间不同情况
-                            }else{
+                            } else {
                                 iv_remain.setVisibility(View.GONE);
-//                                iv_remain.setVisibility(View.VISIBLE);   //反逻辑
-                                Log.i("gongpengmingTIME","时间相同"+time);
                             }
                         }
                     }
+
+                } else {
+
                 }
             }
-        }, PublicMessage.class, params);
-
+        }, CircleMessage.class, params);
+        if (mFastVolley == null) {
+            mFastVolley = MyApplication.getInstance().getFastVolley();
+        }
         mFastVolley.addDefaultRequest(HASHCODE, request);
     }
-
 }

+ 2 - 0
WeiChat/src/main/java/com/sk/weichat/ui/message/ChatActivity.java

@@ -950,6 +950,8 @@ public class ChatActivity extends ActionBackActivity
         //http://192.168.253.244:8092/tigase/notify
         String url = "http://113.105.74.140:8092/tigase/notify";
         Map<String, Object> params = new HashMap<String, Object>();
+//        int[] str;
+//        params.put("text", str);
         params.put("from", from);
         params.put("to", to);
         params.put("body", body);