|
|
@@ -1,6 +1,5 @@
|
|
|
package com.xzjmyk.pm.activity.ui.message;
|
|
|
|
|
|
-import android.app.ProgressDialog;
|
|
|
import android.content.BroadcastReceiver;
|
|
|
import android.content.Context;
|
|
|
import android.content.Intent;
|
|
|
@@ -11,11 +10,12 @@ import android.os.Message;
|
|
|
import android.text.Editable;
|
|
|
import android.text.TextUtils;
|
|
|
import android.text.TextWatcher;
|
|
|
-import android.util.Log;
|
|
|
+import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
import android.widget.AdapterView;
|
|
|
import android.widget.ImageView;
|
|
|
+import android.widget.RelativeLayout;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
@@ -32,7 +32,6 @@ import com.xzjmyk.pm.activity.MyApplication;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.bean.AttentionUser;
|
|
|
import com.xzjmyk.pm.activity.bean.Friend;
|
|
|
-import com.xzjmyk.pm.activity.bean.message.ChatMessage;
|
|
|
import com.xzjmyk.pm.activity.bean.message.XmppMessage;
|
|
|
import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
|
|
|
import com.xzjmyk.pm.activity.broadcast.MucgroupUpdateUtil;
|
|
|
@@ -45,9 +44,7 @@ import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.MainActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.base.EasyFragment;
|
|
|
-import com.xzjmyk.pm.activity.ui.erp.activity.NewsTwoActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.NoticeMenuActivity;
|
|
|
-import com.xzjmyk.pm.activity.ui.erp.activity.NoticesActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.ScheduleActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.activity.TaskActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.AllProcess;
|
|
|
@@ -58,8 +55,8 @@ import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.Constants;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.ObjectUtils;
|
|
|
+import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
|
|
|
import com.xzjmyk.pm.activity.util.HtmlUtils;
|
|
|
-import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
|
|
|
import com.xzjmyk.pm.activity.util.StringUtils;
|
|
|
import com.xzjmyk.pm.activity.util.TimeUtils;
|
|
|
import com.xzjmyk.pm.activity.util.ToastUtil;
|
|
|
@@ -67,18 +64,14 @@ import com.xzjmyk.pm.activity.util.ViewHolder;
|
|
|
import com.xzjmyk.pm.activity.view.ClearEditText;
|
|
|
import com.xzjmyk.pm.activity.view.PullToRefreshSlideListView;
|
|
|
import com.xzjmyk.pm.activity.volley.ArrayResult;
|
|
|
-import com.xzjmyk.pm.activity.volley.ObjectResult;
|
|
|
import com.xzjmyk.pm.activity.volley.Result;
|
|
|
import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
|
|
|
-import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
|
|
|
-import com.xzjmyk.pm.activity.xmpp.listener.ChatMessageListener;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.UUID;
|
|
|
|
|
|
/**
|
|
|
* @desc:消息列表
|
|
|
@@ -159,19 +152,14 @@ public class MessageFragment extends EasyFragment {
|
|
|
public void run() {
|
|
|
if (mNeedUpdate) {
|
|
|
mNeedUpdate = false;
|
|
|
- // loadData();
|
|
|
- FriendDao.getInstance().markUserMessageRead(MyApplication.getInstance().mLoginUser.getUserId(), Friend.ID_ERP_ZHIHUI);
|
|
|
- loadERPMsgNum(getActivity());//另外的线程网络请求
|
|
|
- loadGongGaoCount(getActivity());
|
|
|
- loadNoticeCount(getActivity());
|
|
|
- loadERPNewsNum(getActivity());
|
|
|
+ refreshUI();
|
|
|
}
|
|
|
}
|
|
|
}, 100);
|
|
|
}
|
|
|
|
|
|
private void initView() {
|
|
|
- initHeaderView();
|
|
|
+
|
|
|
mClearEditText = (ClearEditText) findViewById(R.id.search_edit);
|
|
|
mClearEditText.addTextChangedListener(new TextWatcher() {
|
|
|
@Override
|
|
|
@@ -214,7 +202,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
refreshUI();
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
+ mPullToRefreshListView.getRefreshableView().addHeaderView(getHeaderView());
|
|
|
mPullToRefreshListView.getRefreshableView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
@Override
|
|
|
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
|
|
|
@@ -222,19 +210,6 @@ public class MessageFragment extends EasyFragment {
|
|
|
if (friend.getRoomFlag() == 0) {
|
|
|
if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友消息
|
|
|
startActivity(new Intent(getActivity(), NewFriendActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)) {//待办事宜
|
|
|
- //ViewUtil.ShowMessageFDialogAutoDismiss(getActivity(),"待审批流程",2000);
|
|
|
- startActivity(new Intent(getActivity(), ScheduleActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_TASK)) {//我的任务
|
|
|
- startActivity(new Intent(getActivity(), TaskActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)) {//我的知会
|
|
|
- startActivity(new Intent(getActivity(), NoticeMenuActivity.class));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_NEWS)) {//新闻
|
|
|
- startActivity(new Intent(getActivity(), NewsTwoActivity.class).putExtra("type", 0));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_NOTICE)) {//通知
|
|
|
- startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 1));
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_GONGGAO)) {//公告
|
|
|
- startActivity(new Intent(getActivity(), NoticesActivity.class).putExtra("type", 2));
|
|
|
} else {
|
|
|
Intent intent = new Intent(getActivity(), ChatActivity.class);
|
|
|
intent.putExtra(ChatActivity.FRIEND, friend);
|
|
|
@@ -255,17 +230,72 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- private void initHeaderView() {
|
|
|
- //将头部四个放在这里
|
|
|
|
|
|
+ /**
|
|
|
+ * 头视图相关
|
|
|
+ * by gongpm 2016/06/15
|
|
|
+ */
|
|
|
+ private TextView schedule_num_tv, schedule_content_tv, schedule_time_tv;
|
|
|
+ private TextView task_num_tv, task_content_tv, task_time_tv;
|
|
|
+ private TextView notice_num_tv, notice_content_tv, notice_time_tv;
|
|
|
+ private TextView num_tv, content_tv, time_tv;
|
|
|
+ private RelativeLayout schedule_rl, task_rl, _rl, notice_rl;
|
|
|
+
|
|
|
+ private View getHeaderView() {
|
|
|
+ View view = LayoutInflater.from(getActivity()).inflate(R.layout.message_header, null);
|
|
|
+ schedule_num_tv = (TextView) view.findViewById(R.id.schedule_num_tv);
|
|
|
+ schedule_content_tv = (TextView) view.findViewById(R.id.schedule_content_tv);
|
|
|
+ schedule_time_tv = (TextView) view.findViewById(R.id.schedule_time_tv);
|
|
|
+
|
|
|
+ task_num_tv = (TextView) view.findViewById(R.id.task_num_tv);
|
|
|
+ task_content_tv = (TextView) view.findViewById(R.id.task_content_tv);
|
|
|
+ task_time_tv = (TextView) view.findViewById(R.id.task_time_tv);
|
|
|
+
|
|
|
+ notice_num_tv = (TextView) view.findViewById(R.id.notice_num_tv);
|
|
|
+ notice_content_tv = (TextView) view.findViewById(R.id.notice_content_tv);
|
|
|
+ notice_time_tv = (TextView) view.findViewById(R.id.notice_time_tv);
|
|
|
+
|
|
|
+ num_tv = (TextView) view.findViewById(R.id.num_tv);
|
|
|
+ content_tv = (TextView) view.findViewById(R.id.content_tv);
|
|
|
+ time_tv = (TextView) view.findViewById(R.id.time_tv);
|
|
|
+
|
|
|
+ view.findViewById(R.id.schedule_rl).setOnClickListener(listener);
|
|
|
+ view.findViewById(R.id.task_rl).setOnClickListener(listener);
|
|
|
+ view.findViewById(R.id.notice_rl).setOnClickListener(listener);
|
|
|
+ view.findViewById(R.id._rl).setOnClickListener(listener);
|
|
|
+ return view;
|
|
|
+ }
|
|
|
+
|
|
|
+ View.OnClickListener listener = new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View view) {
|
|
|
+ switch (view.getId()) {
|
|
|
+ case R.id.schedule_rl:
|
|
|
+ startActivity(new Intent(getActivity(), ScheduleActivity.class));
|
|
|
+ break;
|
|
|
+ case R.id.task_rl:
|
|
|
+ startActivity(new Intent(getActivity(), TaskActivity.class));
|
|
|
+ break;
|
|
|
+ case R.id.notice_rl:
|
|
|
+ Intent intent = new Intent(getActivity(), NoticeMenuActivity.class);
|
|
|
+ intent.putExtra(NoticeMenuActivity.GONGGAO, GONGGAO_count);
|
|
|
+ intent.putExtra(NoticeMenuActivity.NOTICE, NOTICE_count);
|
|
|
+ intent.putExtra(NoticeMenuActivity.NES, NES_count);
|
|
|
+ startActivity(intent);
|
|
|
+ break;
|
|
|
+ case R.id._rl:
|
|
|
+ startActivity(new Intent(getActivity(), SubscriptionActivity.class));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
- }
|
|
|
|
|
|
//by gongpm 刷新数据提取方法
|
|
|
private void refreshUI() {
|
|
|
- //upDataFriend();
|
|
|
loadData();
|
|
|
FriendDao.getInstance().markUserMessageRead(
|
|
|
MyApplication.getInstance().mLoginUser.getUserId(),
|
|
|
@@ -278,7 +308,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 更新朋友信息
|
|
|
+ * TODO 获取关注列表(需调式查看访问数据内容) 更新朋友信息
|
|
|
*/
|
|
|
private void upDataFriend() {
|
|
|
isRefeshed = true;
|
|
|
@@ -392,51 +422,6 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 删除房间
|
|
|
- *
|
|
|
- * @param sortFriend
|
|
|
- */
|
|
|
- private void deleteRoom(final String loginUserId, final BaseSortModel<Friend> sortFriend) {
|
|
|
- BaseActivity activity = (BaseActivity) getActivity();
|
|
|
- boolean deleteRoom = false;
|
|
|
- if (loginUserId.equals(sortFriend.getBean().getRoomCreateUserId())) {
|
|
|
- deleteRoom = true;
|
|
|
- }
|
|
|
- String url = null;
|
|
|
- if (deleteRoom) {
|
|
|
- url = activity.mConfig.ROOM_DELETE;
|
|
|
- } else {
|
|
|
- url = activity.mConfig.ROOM_MEMBER_DELETE;
|
|
|
- }
|
|
|
- HashMap<String, String> params = new HashMap<String, String>();
|
|
|
- params.put("access_token", MyApplication.getInstance().mAccessToken);
|
|
|
- params.put("roomId", sortFriend.getBean().getRoomId());
|
|
|
- if (!deleteRoom) {
|
|
|
- params.put("userId", loginUserId);
|
|
|
- }
|
|
|
-
|
|
|
- final ProgressDialog dialog = ProgressDialogUtil.init(getActivity(), null, getString(R.string.please_wait));
|
|
|
- ProgressDialogUtil.show(dialog);
|
|
|
- StringJsonObjectRequest<Void> request = new StringJsonObjectRequest<Void>(url, new ErrorListener() {
|
|
|
- @Override
|
|
|
- public void onErrorResponse(VolleyError arg0) {
|
|
|
- ProgressDialogUtil.dismiss(dialog);
|
|
|
- ToastUtil.showErrorNet(getActivity());
|
|
|
- }
|
|
|
- }, new StringJsonObjectRequest.Listener<Void>() {
|
|
|
- @Override
|
|
|
- public void onResponse(ObjectResult<Void> result) {
|
|
|
- boolean success = Result.defaultParser(getActivity(), result, true);
|
|
|
- if (success) {
|
|
|
- deleteFriend(loginUserId, sortFriend);
|
|
|
- sendBroadcast();
|
|
|
- }
|
|
|
- ProgressDialogUtil.dismiss(dialog);
|
|
|
- }
|
|
|
- }, Void.class, params);
|
|
|
- activity.addDefaultRequest(request);
|
|
|
- }
|
|
|
|
|
|
private void deleteFriend(final String loginUserId, final BaseSortModel<Friend> sortFriend) {
|
|
|
Friend friend = sortFriend.getBean();
|
|
|
@@ -504,55 +489,26 @@ public class MessageFragment extends EasyFragment {
|
|
|
|
|
|
final Friend friend = mFriendList.get(position).getBean();
|
|
|
|
|
|
+ avatar_img.setBackgroundResource(R.color.gray_light);
|
|
|
if (friend.getRoomFlag() == 0) {// 这是单个人
|
|
|
- if (friend.getUserId().equals(Friend.ID_SYSTEM_MESSAGE)) {// 系统消息的头像
|
|
|
- avatar_img.setImageResource(R.drawable.system_img);
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_NEW_FRIEND_MESSAGE)) {// 新朋友的头像
|
|
|
- avatar_img.setImageResource(R.drawable.friend_u);
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_PROCESS)) { //待办
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- avatar_img.setImageResource(R.drawable.home_image_01_u);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_TASK)) { //我的任务
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- avatar_img.setImageResource(R.drawable.home_image_02_u);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_ZHIHUI)) {//通知公告
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- avatar_img.setImageResource(R.drawable.home_image_03_u);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_NEWS)) {
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- avatar_img.setImageResource(R.drawable.iconfont_bokexinwen);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_NOTICE)) {
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- avatar_img.setImageResource(R.drawable.iconfont_tongzhi);
|
|
|
- } else if (friend.getUserId().equals(Friend.ID_ERP_GONGGAO)) {
|
|
|
- avatar_img.setBackgroundResource(android.R.color.transparent);
|
|
|
- avatar_img.setImageResource(R.drawable.iconfont_gonggao);
|
|
|
- } else {// 其他
|
|
|
- avatar_img.setBackgroundResource(R.color.gray_light);
|
|
|
- if (isRefeshed) {
|
|
|
- AvatarHelper.getInstance().display(friend.getUserId(), avatar_img, false, true);//每次刷新都会去删除此人缓存
|
|
|
- isRefeshed = false;
|
|
|
|
|
|
- } else {
|
|
|
-
|
|
|
- AvatarHelper.getInstance().displayAvatar(friend.getUserId(), avatar_img, false);
|
|
|
- }
|
|
|
+ if (isRefeshed) {
|
|
|
+ AvatarHelper.getInstance().display(friend.getUserId(), avatar_img, false, true);//每次刷新都会去删除此人缓存
|
|
|
+ isRefeshed = false;
|
|
|
+ } else {
|
|
|
+ AvatarHelper.getInstance().displayAvatar(friend.getUserId(), avatar_img, false);
|
|
|
}
|
|
|
- } else {// 这是1个房间
|
|
|
- avatar_img.setBackgroundResource(R.color.gray_light);
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
if (TextUtils.isEmpty(friend.getRoomCreateUserId())) {
|
|
|
- // avatar_img.setImageResource(R.drawable.avatar_normal);
|
|
|
avatar_img.setImageResource(R.drawable.qunliao);
|
|
|
} else {
|
|
|
if (position >= 3)
|
|
|
AvatarHelper.getInstance().displayAvatarPng(friend.getRoomCreateUserId(), avatar_img, false);// 目前在备注名放房间的创建者Id
|
|
|
- // avatar_img.setImageResource(R.drawable.qunliao);
|
|
|
}
|
|
|
}
|
|
|
nick_name_tv.setText(friend.getRemarkName() != null ? friend.getRemarkName() : friend.getNickName());
|
|
|
- // nick_name_tv.setText(friend.getShowName());
|
|
|
time_tv.setText(TimeUtils.getFriendlyTimeDesc(getActivity(), friend.getTimeSend()));
|
|
|
|
|
|
CharSequence content = "";
|
|
|
@@ -569,11 +525,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
num_tv.setText(numStr);
|
|
|
num_tv.setVisibility(View.VISIBLE);
|
|
|
} else {
|
|
|
-// if (friend.getUnReadNum()==0) {
|
|
|
-// num_tv.setVisibility(View.VISIBLE);
|
|
|
-// }else{
|
|
|
num_tv.setVisibility(View.GONE);
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
delete_tv.setOnClickListener(new View.OnClickListener() {
|
|
|
@@ -596,7 +548,6 @@ public class MessageFragment extends EasyFragment {
|
|
|
// 消息表中删除
|
|
|
ChatMessageDao.getInstance().deleteMessageTable(mLoginUserId, friend.getUserId());
|
|
|
} else {
|
|
|
- //deleteRoom(mLoginUserId, mFriendList.get(position));
|
|
|
deleteFriend(mLoginUserId, mFriendList.get(position));
|
|
|
}
|
|
|
|
|
|
@@ -619,11 +570,9 @@ public class MessageFragment extends EasyFragment {
|
|
|
|
|
|
@Override
|
|
|
public int getFrontViewId(int position) {
|
|
|
-// if (position%2==0) {
|
|
|
+
|
|
|
return R.layout.row_nearly_message;
|
|
|
-// }else{
|
|
|
-// return R.layout.row_nearly_message1;
|
|
|
-// }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -638,81 +587,6 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * @desc:获取erp 流程数据的条数
|
|
|
- * @author:Administrator on 2016/3/10 14:25
|
|
|
- */
|
|
|
- public Map<String, Object> getErpMsgNums(Message msg) {
|
|
|
- Map<String, Object> numMap = new HashMap<String, Object>();
|
|
|
- String reString = msg.getData().getString("result");
|
|
|
- //Log.i("MessageFragment", "result:" + reString);
|
|
|
- if (reString != null && !reString.equals("500")) {
|
|
|
- Map<String, Object> results = FlexJsonUtil.fromJson(reString);
|
|
|
- if (results.get("allProcess") != null) {
|
|
|
- List<AllProcess> allProcesses = new ArrayList<AllProcess>();
|
|
|
- try {
|
|
|
- allProcesses = FlexJsonUtil.fromJsonArray(
|
|
|
- FlexJsonUtil.toJson(results.get("allProcess")),
|
|
|
- AllProcess.class);
|
|
|
- } catch (Exception e) {
|
|
|
- }
|
|
|
- int task_num = 0, pagin_num = 0, daiban_num = 0;
|
|
|
- for (int i = 0; i < allProcesses.size(); i++) {
|
|
|
- if (allProcesses.get(i).getTypecode().contains("task")) {
|
|
|
- task_num++;
|
|
|
- } else if (allProcesses.get(i).getTypecode()
|
|
|
- .contains("pagingrelease")) {
|
|
|
- pagin_num++;
|
|
|
- } else {
|
|
|
- daiban_num++;
|
|
|
- }
|
|
|
- }
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- //clear
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
- //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
-// Log.i("MessageFragment", "任务:" + task_num);
|
|
|
-// Log.i("MessageFragment", "流程:" + daiban_num);
|
|
|
-// Log.i("MessageFragment", "知会:" + pagin_num);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_PROCESS, daiban_num);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_TASK, task_num);
|
|
|
- if (daiban_num > 0) {
|
|
|
- updateProcessMsg("您有" + daiban_num + "条新的待审批流程");
|
|
|
- } else {
|
|
|
- updateProcessMsg("暂无待审批流程");
|
|
|
- }
|
|
|
- if (task_num > 0) {
|
|
|
- updateTaskMsg("您有" + task_num + "条新的任务");
|
|
|
- } else {
|
|
|
- updateTaskMsg("暂无任务");
|
|
|
- }
|
|
|
- //FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, pagin_num);
|
|
|
- //MsgBroadcast.broadcastMsgUiUpdate(MyApplication.getInstance());//刷新界面
|
|
|
- //MsgBroadcast.broadcastMsgNumUpdate(MyApplication.getInstance(), true, 1);
|
|
|
- return numMap;
|
|
|
- } else {
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
- //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- return numMap;
|
|
|
- }
|
|
|
- } else {
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
- //FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- return numMap;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * @desc:加载通知,获取未读数量
|
|
|
- * @author:Administrator on 2016/3/24 14:58
|
|
|
- */
|
|
|
public void loadNoticeCount(Context ct) {
|
|
|
String url = Constants.getAppBaseUrl(ct) + "common/desktop/note/inform.action";
|
|
|
final Map<String, Object> param = new HashMap<>();
|
|
|
@@ -723,10 +597,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.LOAD_SUCCESS, null, null, "get");
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @desc加载公告,获取未读数量
|
|
|
- * @author:Administrator on 2016/3/24 15:01
|
|
|
- */
|
|
|
+
|
|
|
public void loadGongGaoCount(Context ct) {
|
|
|
String url = Constants.getAppBaseUrl(ct) + "common/desktop/note/notice.action";
|
|
|
final Map<String, Object> param = new HashMap<>();
|
|
|
@@ -737,7 +608,6 @@ public class MessageFragment extends EasyFragment {
|
|
|
ViewUtil.httpSendRequest(ct, url, param, handler, headers, Constants.SUCCESS_LOGIN, null, null, "get");
|
|
|
}
|
|
|
|
|
|
- //String url=Constants.getAppBaseUrl(ct)+"common/desktop/news/getNews.action";
|
|
|
|
|
|
public void loadERPMsgNum(Context ct) {
|
|
|
String url = Constants.getAppBaseUrl(ct) + "mobile/getallprocess.action";
|
|
|
@@ -768,29 +638,83 @@ public class MessageFragment extends EasyFragment {
|
|
|
public void handleMessage(final Message msg) {
|
|
|
switch (msg.what) {
|
|
|
case Constants.SUCCESS_LOGIN://公告
|
|
|
- Log.i("MessageFragment", "接收公告");
|
|
|
updateGongGao(msg);
|
|
|
break;
|
|
|
case load_success_erpMsgNum://待办
|
|
|
getErpMsgNums(msg);
|
|
|
break;
|
|
|
case Constants.LOAD_SUCCESS://通知
|
|
|
- Log.i("MessageFragment", "接收通知");
|
|
|
updateNotice(msg);
|
|
|
break;
|
|
|
case Constants.SUCCESS_INITDATA://新闻
|
|
|
- Log.i("MessageFragment", "接收新闻");
|
|
|
updateNews(msg);
|
|
|
break;
|
|
|
+
|
|
|
+ case GONGGAO_MSG:
|
|
|
+ setNOTICE_count(GONGGAO_count + NOTICE_count + NES_count);
|
|
|
+ break;
|
|
|
+ case NOTICE_MSG:
|
|
|
+ setNOTICE_count(GONGGAO_count + NOTICE_count + NES_count);
|
|
|
+ break;
|
|
|
+ case NES_MSG:
|
|
|
+ setNOTICE_count(GONGGAO_count + NOTICE_count + NES_count);
|
|
|
+ break;
|
|
|
+ case TASK_MSG:
|
|
|
+ if (TASK_count > 0) {
|
|
|
+ task_num_tv.setText(TASK_count + "");
|
|
|
+ task_num_tv.setVisibility(View.VISIBLE);
|
|
|
+ task_content_tv.setText("您有" + TASK_count + "条任务未阅读");
|
|
|
+ task_time_tv.setText("刚刚");
|
|
|
+ } else {
|
|
|
+ task_num_tv.setVisibility(View.GONE);
|
|
|
+ content_tv.setText("您有暂无未阅读任务");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case DAIBAN_MSG:
|
|
|
+ if (DAIBAN_count > 0) {
|
|
|
+ schedule_num_tv.setText(DAIBAN_count + "");
|
|
|
+ schedule_num_tv.setVisibility(View.VISIBLE);
|
|
|
+ schedule_content_tv.setText("您有" + DAIBAN_count + "条待审批流程为未阅读");
|
|
|
+ schedule_time_tv.setText("刚刚");
|
|
|
+ } else {
|
|
|
+ schedule_num_tv.setVisibility(View.GONE);
|
|
|
+ content_tv.setText("您有暂无未阅读待审批流程");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case SUBRICE_MSG:
|
|
|
+ if (SUBRICE_count > 0) {
|
|
|
+ num_tv.setText(SUBRICE_count + "");
|
|
|
+ num_tv.setVisibility(View.VISIBLE);
|
|
|
+ content_tv.setText("您有" + SUBRICE_count + "条订阅消息未阅读");
|
|
|
+ time_tv.setText("刚刚");
|
|
|
+ } else {
|
|
|
+ num_tv.setVisibility(View.GONE);
|
|
|
+ content_tv.setText("您有暂无未阅读订阅消息");
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ private void setNOTICE_count(int count) {
|
|
|
+ if (count > 0) {
|
|
|
+ notice_num_tv.setText(count + "");
|
|
|
+ notice_num_tv.setVisibility(View.VISIBLE);
|
|
|
+ notice_content_tv.setText("您有" + count + "条通知未阅读");
|
|
|
+ notice_time_tv.setText("刚刚");
|
|
|
+ } else {
|
|
|
+ notice_num_tv.setVisibility(View.GONE);
|
|
|
+ content_tv.setText("您有暂无未阅读通知");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private final int GONGGAO_MSG = 0X00a, NOTICE_MSG = 0X00b, NES_MSG = 0X00c, TASK_MSG = 0X00d, DAIBAN_MSG = 0X00e, SUBRICE_MSG = 0xf;
|
|
|
+ private int GONGGAO_count = 0, NOTICE_count = 0, NES_count = 0, TASK_count = 0, DAIBAN_count = 0, SUBRICE_count = 0;
|
|
|
|
|
|
private void updateGongGao(Message msg) {
|
|
|
final String result = msg.getData().getString("result");
|
|
|
- new Handler().postDelayed(new Runnable() {
|
|
|
+ ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
NoticeEntity newsEntity =
|
|
|
@@ -820,25 +744,15 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (count != 0) {
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_GONGGAO, count);
|
|
|
- updateGonggaoMsg("收到" + count + "条公告");
|
|
|
- updateZhihuMsg("通知,公告,新闻信息");
|
|
|
- } else {
|
|
|
- updateGonggaoMsg("暂无未读公告");
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
- }
|
|
|
+ GONGGAO_count = count;
|
|
|
+ handler.sendEmptyMessage(GONGGAO_MSG);
|
|
|
}
|
|
|
- }, 1);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private void updateNotice(Message msg) {
|
|
|
final String result = msg.getData().getString("result");
|
|
|
- new Handler().postDelayed(new Runnable() {
|
|
|
+ ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
NoticeEntity newsEntity;
|
|
|
@@ -871,29 +785,15 @@ public class MessageFragment extends EasyFragment {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (count != 0) {
|
|
|
- Log.i("MessageFragment", " 通知 标注红点" + count);
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NOTICE, count);
|
|
|
- updateNoticeMsg("收到" + count + "条通知");
|
|
|
- updateZhihuMsg("通知,公告,新闻信息");
|
|
|
- } else {
|
|
|
- updateNoticeMsg("暂无未读通知");
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
- }
|
|
|
-
|
|
|
- MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
- loadData();
|
|
|
+ NOTICE_count = count;
|
|
|
+ handler.sendEmptyMessage(NOTICE_MSG);
|
|
|
}
|
|
|
- }, 30);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private void updateNews(Message msg) {
|
|
|
final String result = msg.getData().getString("result");
|
|
|
- new Handler().postDelayed(new Runnable() {
|
|
|
+ ThreadPool.getThreadPool().addTask(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
int size;
|
|
|
@@ -913,122 +813,43 @@ public class MessageFragment extends EasyFragment {
|
|
|
count++;//数据为空,算是未读
|
|
|
}
|
|
|
}
|
|
|
- if (count != 0) {
|
|
|
- Log.i("MessageFragment", "新闻 标注红点" + count);
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);
|
|
|
- FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_NEWS, count);
|
|
|
- updateNewsMsg("收到" + count + "条新闻");
|
|
|
- updateZhihuMsg("通知,公告,新闻信息");
|
|
|
- } else {
|
|
|
- updateNewsMsg("暂无未读新闻");
|
|
|
- updateZhihuMsg("通知,公告,新闻信息");
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
|
|
|
- }
|
|
|
- MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
- loadData();
|
|
|
+ NES_count = count;
|
|
|
+ handler.sendEmptyMessage(NES_MSG);
|
|
|
}
|
|
|
- }, 50);
|
|
|
- }
|
|
|
-
|
|
|
- private int processMsgTime;
|
|
|
-
|
|
|
- public void updateProcessMsg(String msg) {
|
|
|
- String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- ChatMessage chatMessage = new ChatMessage();
|
|
|
- chatMessage.setType(XmppMessage.TYPE_TIP);
|
|
|
- chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
- chatMessage.setFromUserId(Friend.ID_ERP_PROCESS);
|
|
|
- chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
- // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- processMsgTime = TimeUtils.sk_time_current_time();
|
|
|
- chatMessage.setTimeSend(processMsgTime);
|
|
|
- chatMessage.setContent(msg);
|
|
|
- chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
- // 往消息表里插入一条记录
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_PROCESS, chatMessage);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
- private int taskMsgTime;
|
|
|
-
|
|
|
- public void updateTaskMsg(String msg) {
|
|
|
- String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- ChatMessage chatMessage = new ChatMessage();
|
|
|
- chatMessage.setType(XmppMessage.TYPE_TIP);
|
|
|
- chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
- chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
- // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- taskMsgTime = processMsgTime - 1;
|
|
|
- chatMessage.setTimeSend(taskMsgTime);
|
|
|
- chatMessage.setContent(msg);
|
|
|
- chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
- chatMessage.setFromUserId(Friend.ID_ERP_TASK);
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_TASK, chatMessage);
|
|
|
- }
|
|
|
+ public void getErpMsgNums(Message msg) {
|
|
|
+ String reString = msg.getData().getString("result");
|
|
|
+ if (reString != null && !reString.equals("500")) {
|
|
|
+ Map<String, Object> results = FlexJsonUtil.fromJson(reString);
|
|
|
+ if (results.get("allProcess") != null) {
|
|
|
+ List<AllProcess> allProcesses = new ArrayList<AllProcess>();
|
|
|
+ try {
|
|
|
+ allProcesses = FlexJsonUtil.fromJsonArray(
|
|
|
+ FlexJsonUtil.toJson(results.get("allProcess")),
|
|
|
+ AllProcess.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ int task_num = 0, pagin_num = 0, daiban_num = 0;
|
|
|
+ for (int i = 0; i < allProcesses.size(); i++) {
|
|
|
+ if (allProcesses.get(i).getTypecode().contains("task")) {
|
|
|
+ task_num++;
|
|
|
+ } else if (allProcesses.get(i).getTypecode()
|
|
|
+ .contains("pagingrelease")) {
|
|
|
+ pagin_num++;
|
|
|
+ } else {
|
|
|
+ daiban_num++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ TASK_count = task_num;
|
|
|
+ handler.sendEmptyMessage(TASK_MSG);
|
|
|
+ DAIBAN_count = daiban_num;
|
|
|
+ handler.sendEmptyMessage(DAIBAN_MSG);
|
|
|
|
|
|
- public void updateZhihuMsg(String msg) {
|
|
|
- String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- ChatMessage chatMessage = new ChatMessage();
|
|
|
- chatMessage.setType(XmppMessage.TYPE_TIP);
|
|
|
- chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
- chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
- // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- if (taskMsgTime != 0) {
|
|
|
- chatMessage.setTimeSend(taskMsgTime - 1);
|
|
|
- } else {
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
+ }
|
|
|
}
|
|
|
- chatMessage.setContent(msg);
|
|
|
- chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
- chatMessage.setFromUserId(Friend.ID_ERP_ZHIHUI);
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_ZHIHUI, chatMessage);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- public void updateNewsMsg(String msg) {
|
|
|
- String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- ChatMessage chatMessage = new ChatMessage();
|
|
|
- chatMessage.setType(XmppMessage.TYPE_TIP);
|
|
|
- chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
- chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
- // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
- chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
- chatMessage.setFromUserId(Friend.ID_ERP_NEWS);
|
|
|
- chatMessage.setContent(msg);
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_NEWS, chatMessage);
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void updateNoticeMsg(String msg) {
|
|
|
- String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- ChatMessage chatMessage = new ChatMessage();
|
|
|
- chatMessage.setType(XmppMessage.TYPE_TIP);
|
|
|
- chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
- chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
- // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
- chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
- chatMessage.setFromUserId(Friend.ID_ERP_NOTICE);
|
|
|
- chatMessage.setContent(msg);
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_NOTICE, chatMessage);
|
|
|
- }
|
|
|
-
|
|
|
- public void updateGonggaoMsg(String msg) {
|
|
|
- String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- ChatMessage chatMessage = new ChatMessage();
|
|
|
- chatMessage.setType(XmppMessage.TYPE_TIP);
|
|
|
- chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
- chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
- // 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
- chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
- chatMessage.setFromUserId(Friend.ID_ERP_GONGGAO);
|
|
|
- chatMessage.setContent(msg);
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_GONGGAO, chatMessage);
|
|
|
- }
|
|
|
-
|
|
|
}
|