|
|
@@ -8,6 +8,7 @@ import android.content.IntentFilter;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
+import android.provider.Settings;
|
|
|
import android.text.Editable;
|
|
|
import android.text.TextUtils;
|
|
|
import android.text.TextWatcher;
|
|
|
@@ -29,6 +30,7 @@ import com.roamer.slidelistview.SlideListView;
|
|
|
import com.roamer.slidelistview.SlideListView.SlideMode;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.ObjectUtils;
|
|
|
+import com.xzjmyk.pm.activity.util.SystemUtil;
|
|
|
import com.xzjmyk.pm.activity.view.PullToRefreshSlideListView;
|
|
|
import com.xzjmyk.pm.activity.volley.StringJsonArrayRequest;
|
|
|
import com.xzjmyk.pm.activity.AppConstant;
|
|
|
@@ -554,6 +556,9 @@ public class MessageFragment extends EasyFragment {
|
|
|
String numStr = friend.getUnReadNum() >= 99 ? "99+" : friend.getUnReadNum() + "";
|
|
|
num_tv.setText(numStr);
|
|
|
num_tv.setVisibility(View.VISIBLE);
|
|
|
+ if (friend.getUserId()==Friend.ID_ERP_ZHIHUI){
|
|
|
+ content_tv.setText("您有" + numStr + "条新的消息");
|
|
|
+ }
|
|
|
} else {
|
|
|
// if (friend.getUnReadNum()==0) {
|
|
|
// num_tv.setVisibility(View.VISIBLE);
|
|
|
@@ -630,7 +635,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
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);
|
|
|
+ //Log.i("MessageFragment", "result:" + reString);
|
|
|
if (reString != null && !reString.equals("500")) {
|
|
|
Map<String, Object> results = FlexJsonUtil.fromJson(reString);
|
|
|
if (results.get("allProcess") != null) {
|
|
|
@@ -657,10 +662,9 @@ public class MessageFragment extends EasyFragment {
|
|
|
FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_PROCESS);
|
|
|
FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_TASK);
|
|
|
//FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
- //update
|
|
|
- Log.i("MessageFragment", "任务:" + task_num);
|
|
|
- Log.i("MessageFragment", "流程:" + daiban_num);
|
|
|
- Log.i("MessageFragment", "知会:" + pagin_num);
|
|
|
+// 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) {
|
|
|
@@ -691,6 +695,7 @@ public class MessageFragment extends EasyFragment {
|
|
|
//FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_ZHIHUI);
|
|
|
return numMap;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -749,71 +754,32 @@ public class MessageFragment extends EasyFragment {
|
|
|
|
|
|
private final int load_success_erpMsgNum = 5;
|
|
|
|
|
|
- //开启三个线程
|
|
|
- private Thread td_process;
|
|
|
- private Thread td_news;
|
|
|
- private Thread td_gonggao;
|
|
|
- private Thread td_notice;
|
|
|
-
|
|
|
private Handler handler = new Handler() {
|
|
|
@Override
|
|
|
public void handleMessage(final Message msg) {
|
|
|
switch (msg.what) {
|
|
|
case Constants.SUCCESS_LOGIN://公告
|
|
|
-// td_gonggao =new Thread(new Runnable() {
|
|
|
-// @Override
|
|
|
-// public void run() {
|
|
|
-// try {
|
|
|
-// td_notice.join();
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
- updateGongGao(msg);
|
|
|
-// }
|
|
|
-// });
|
|
|
-// td_gonggao.start();
|
|
|
+ Log.i("MessageFragment", "接收公告");
|
|
|
+ updateGongGao(msg);
|
|
|
+
|
|
|
break;
|
|
|
case load_success_erpMsgNum://待办
|
|
|
-// td_process=new Thread(new Runnable() {
|
|
|
-// @Override
|
|
|
-// public void run() {
|
|
|
- getErpMsgNums(msg);
|
|
|
-// }
|
|
|
-// });
|
|
|
-// td_process.start();
|
|
|
+ getErpMsgNums(msg);
|
|
|
break;
|
|
|
case Constants.LOAD_SUCCESS://通知
|
|
|
-// td_notice =new Thread(new Runnable() {
|
|
|
-// @Override
|
|
|
-// public void run() {
|
|
|
-// try {
|
|
|
-// td_process.join();
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
- updateNotice(msg);
|
|
|
-// }
|
|
|
-// });
|
|
|
-// td_notice.start();
|
|
|
+ Log.i("MessageFragment", "接收通知");
|
|
|
+ updateNotice(msg);
|
|
|
+
|
|
|
break;
|
|
|
case Constants.SUCCESS_INITDATA://新闻
|
|
|
-// td_news =new Thread(new Runnable() {
|
|
|
-// @Override
|
|
|
-// public void run() {
|
|
|
-// try {
|
|
|
-// td_gonggao.join();
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
- updateNews(msg);
|
|
|
-// }
|
|
|
-//});
|
|
|
-// td_news.start();
|
|
|
- break;
|
|
|
+ Log.i("MessageFragment", "接收新闻");
|
|
|
+ updateNews(msg);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+
|
|
|
private void updateGongGao(Message msg) {
|
|
|
final String result = msg.getData().getString("result");
|
|
|
new Handler().postDelayed(new Runnable() {
|
|
|
@@ -855,13 +821,12 @@ public class MessageFragment extends EasyFragment {
|
|
|
updateZhihuMsg("您有新的消息");
|
|
|
updateGonggaoMsg("收到" + count + "条公告");
|
|
|
} else {
|
|
|
- updateZhihuMsg("暂无消息");
|
|
|
updateGonggaoMsg("暂无未读公告");
|
|
|
String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_GONGGAO);
|
|
|
}
|
|
|
}
|
|
|
- }, 10);
|
|
|
+ }, 1);
|
|
|
}
|
|
|
|
|
|
private void updateNotice(Message msg) {
|
|
|
@@ -913,53 +878,56 @@ public class MessageFragment extends EasyFragment {
|
|
|
String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
|
|
|
}
|
|
|
+
|
|
|
+ MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
+ loadData();
|
|
|
}
|
|
|
- }, 50);
|
|
|
+ }, 30);
|
|
|
}
|
|
|
|
|
|
private void updateNews(Message msg) {
|
|
|
final String result = msg.getData().getString("result");
|
|
|
new Handler().postDelayed(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- int size;
|
|
|
- int count;
|
|
|
- NewsEntity news = JSON.parseObject(result, NewsEntity.class);
|
|
|
- size = 0;
|
|
|
- if (news != null) {
|
|
|
- size = news.getData().size();
|
|
|
- }
|
|
|
- count = 0;
|
|
|
- for (int i = 0; i < size; i++) {
|
|
|
- if (!ObjectUtils.isEquals(news.getData().get(i).getSTATUS(), null)) {
|
|
|
- if (((int) news.getData().get(i).getSTATUS()) != -1) {
|
|
|
- count++;
|
|
|
- }
|
|
|
- } else {
|
|
|
- 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);
|
|
|
- updateZhihuMsg("您有新的消息");
|
|
|
- updateNewsMsg("收到" + count + "条新闻");
|
|
|
- } else {
|
|
|
- updateZhihuMsg("暂无消息");
|
|
|
- updateNewsMsg("暂无未读新闻");
|
|
|
- String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
- FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
|
|
|
- }
|
|
|
- MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
- loadData();
|
|
|
- }
|
|
|
- }, 500);
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ int size;
|
|
|
+ int count;
|
|
|
+ NewsEntity news = JSON.parseObject(result, NewsEntity.class);
|
|
|
+ size = 0;
|
|
|
+ if (news != null) {
|
|
|
+ size = news.getData().size();
|
|
|
+ }
|
|
|
+ count = 0;
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ if (!ObjectUtils.isEquals(news.getData().get(i).getSTATUS(), null)) {
|
|
|
+ if (((int) news.getData().get(i).getSTATUS()) != -1) {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ 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);
|
|
|
+ updateZhihuMsg("您有新的消息");
|
|
|
+ updateNewsMsg("收到" + count + "条新闻");
|
|
|
+ } else {
|
|
|
+ updateZhihuMsg("暂无消息");
|
|
|
+ updateNewsMsg("暂无未读新闻");
|
|
|
+ String owerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
+ FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NEWS);
|
|
|
+ }
|
|
|
+ MsgBroadcast.broadcastMsgNumReset(MyApplication.getInstance());//重置,从数据库查询
|
|
|
+ loadData();
|
|
|
+ }
|
|
|
+ }, 50);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ private int processMsgTime;
|
|
|
public void updateProcessMsg(String msg) {
|
|
|
String ownerId = MyApplication.getInstance().mLoginUser.getUserId();
|
|
|
ChatMessage chatMessage = new ChatMessage();
|
|
|
@@ -968,13 +936,16 @@ public class MessageFragment extends EasyFragment {
|
|
|
chatMessage.setFromUserId(Friend.ID_ERP_PROCESS);
|
|
|
chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
// 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
+ 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();
|
|
|
@@ -982,7 +953,8 @@ public class MessageFragment extends EasyFragment {
|
|
|
chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
// 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
+ taskMsgTime = processMsgTime - 10;
|
|
|
+ chatMessage.setTimeSend(taskMsgTime);
|
|
|
chatMessage.setContent(msg);
|
|
|
chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
chatMessage.setFromUserId(Friend.ID_ERP_TASK);
|
|
|
@@ -996,7 +968,11 @@ public class MessageFragment extends EasyFragment {
|
|
|
chatMessage.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));// 随机产生一个PacketId
|
|
|
chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
|
|
|
// 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
|
|
|
- chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
+ if (taskMsgTime != 0) {
|
|
|
+ chatMessage.setTimeSend(taskMsgTime - 10);
|
|
|
+ } else {
|
|
|
+ chatMessage.setTimeSend(TimeUtils.sk_time_current_time());
|
|
|
+ }
|
|
|
chatMessage.setContent(msg);
|
|
|
chatMessage.setMySend(false);// 表示不是自己发的
|
|
|
chatMessage.setFromUserId(Friend.ID_ERP_ZHIHUI);
|