SpringBoots 8 лет назад
Родитель
Сommit
70f02b1f40

+ 4 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/broadcast/MsgBroadcast.java

@@ -6,6 +6,7 @@ import android.support.v4.content.LocalBroadcastManager;
 
 import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 
 /**
  * 用于聊天消息的广播,更新MainActivity Tab栏显示的未读数量 和 消息界面数据的更新
@@ -26,7 +27,9 @@ public class MsgBroadcast {
      * @return
      */
     public static void broadcastMsgUiUpdate(Context context) {
-        context.sendBroadcast(new Intent(ACTION_MSG_UI_UPDATE));
+        LogUtil.d("roamer","广播:ACTION_MSG_UI_UPDATE");
+       // context.sendBroadcast(new Intent(ACTION_MSG_UI_UPDATE));
+        LocalBroadcastManager.getInstance(MyApplication.getInstance()).sendBroadcast(new Intent(ACTION_MSG_UI_UPDATE));
     }
 
     public static void broadcastMsgNumReset(Context context) {

+ 3 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BasicInfoActivity.java

@@ -762,6 +762,9 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
                         model.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
                         model.setWhichsys(CommonUtil.getSharedPreferences(MyApplication.getInstance(),"erp_master"));
                         model.setType(1);
+                        if (StringUtils.isEmpty(model.getWhichsys())){
+                            model.setWhichsys("");
+                        }
                         ContactsDao.getInstance().update(model);
                         // 由陌生或者关注变为好友了,那么右上角更多操作可以显示了
                         initFriendMoreAction();

+ 30 - 20
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/contanct/ContactsActivity.java

@@ -205,11 +205,13 @@ public class ContactsActivity extends OABaseActivity implements ContactsAdapter.
             @Override
             public void afterTextChanged(Editable s) {
                 searchKey = s.toString();
+                LogUtil.d("arison"," searchKey:"+searchKey);
                 if (!StringUtils.isEmpty(s.toString())) {
                     mlist.setMode(PullToRefreshBase.Mode.DISABLED);
                     List<ContactsModel> cacheData = contactsDao.find(s.toString());
                     if (adapter != null) {
                         if (ListUtils.isEmpty(cacheData)) {
+                            LogUtil.d("arison","searchContactsByNet:"+searchKey);
                             searchContactsByNet(s.toString());
                             return;
                         }
@@ -226,6 +228,7 @@ public class ContactsActivity extends OABaseActivity implements ContactsAdapter.
                     }
                 } else {
                     mlist.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
+                    getCaceData(false);
                 }
 
             }
@@ -572,10 +575,11 @@ public class ContactsActivity extends OABaseActivity implements ContactsAdapter.
         LogUtil.i("invite");
         final String name = CommonUtil.getName();
         final String phone = user.getPhone().trim().replaceAll(" ", "");
-        if (!com.xzjmyk.pm.activity.util.StringUtils.isMobileNumber(phone)) {
-            showToast("选择人员电话号码为空或是格式不正确", R.color.load_submit);
-            return;
-        }
+        ;
+//        if (!com.xzjmyk.pm.activity.util.StringUtils.isMobileNumber(phone)) {
+//            showToast("选择人员电话号码为空或是格式不正确", R.color.load_submit);
+//            return;
+//        }
         StringJsonObjectRequest<AddAttentionResult> request = new StringJsonObjectRequest<AddAttentionResult>(
                 Request.Method.POST, "http://message.ubtob.com/sms/send", new Response.ErrorListener() {
             @Override
@@ -725,28 +729,34 @@ public class ContactsActivity extends OABaseActivity implements ContactsAdapter.
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case 0x01:
-                    String result = msg.getData().getString("result");
-                    String root = JSON.parseObject(result).getString("result");
-                    JSONArray array = JSON.parseArray(root);
-                    List<ContactsModel> xmodels = new ArrayList<>();
-                    for (int i = 0; i < array.size(); i++) {
-                        ContactsModel model = new ContactsModel();
-                        model.setType(2);
-                        model.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
-                        model.setImid(array.getJSONObject(i).getString("imid"));
-                        model.setName(array.getJSONObject(i).getString("nickname"));
-                        model.setPhone(array.getJSONObject(i).getString("telephone"));
-                        xmodels.add(model);
-                    }
-                    if (!ListUtils.isEmpty(models)) {
-                        models.clear();
-                        models.addAll(xmodels);
+                    try {
+                        String result = msg.getData().getString("result");
+                        String root = JSON.parseObject(result).getString("result");
+                        JSONArray array = JSON.parseArray(root);
+                        List<ContactsModel> xmodels = new ArrayList<>();
+                        for (int i = 0; i < array.size(); i++) {
+                            ContactsModel model = new ContactsModel();
+                            model.setType(2);
+                            model.setOwnerId(MyApplication.getInstance().mLoginUser.getUserId());
+                            model.setImid(array.getJSONObject(i).getString("imid"));
+                            model.setName(array.getJSONObject(i).getString("nickname"));
+                            model.setPhone(array.getJSONObject(i).getString("telephone"));
+                            xmodels.add(model);
+                        }
+                        if (!ListUtils.isEmpty(models)) {
+                            models.clear();
+                            models.addAll(xmodels);
+                        }else{
+                            models.addAll(xmodels); 
+                        }
                         if (adapter != null) {
                             adapter.notifyDataSetChanged();
                         }
                         if (adapter.getCount() == 0) {
                             emptyLayout.showEmpty();
                         }
+                    } catch (Exception e) {
+                       
                     }
                     break;
             }

+ 20 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/BookingDetailActivity.java

@@ -257,11 +257,17 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
     }
     
     public void updateBookingState(Button button){
-      
         String map="{\"ab_confirmstatus \":\"已确认\",\"ab_bmanid\":\""+model.getAb_bmanid()+"\"}";
+        String time=model.getAb_starttime().substring(0,16)+"-"+model.getAb_endtime().substring(11,16);
        if (button.getText().equals("变更")){
-           String content=model.getAb_recordman()+"变更了您"+model.getAb_starttime()+"的预约计划";
-           sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
+           if (MyApplication.getInstance().mLoginUser.getUserId().equals(model.getAb_bmanid())){
+               String content=model.getAb_bman()+"变更了您"+time+"的预约计划";
+               sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
+           }else{
+               String content=model.getAb_recordman()+"变更了您"+time+"的预约计划";
+               sendMessage(model.getAb_recordid(),model.getAb_recordman(),model.getAb_bmanid(),content);
+           }
+          
            Bundle bundle=new Bundle();
            bundle.putParcelable("model",model);
            startActivity(new Intent(mContext,BookingAddActivity.class)
@@ -270,18 +276,23 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
        }
         showLoading();
         if (button.getText().equals("确认")){
-            String content=model.getAb_recordman()+"确认了您"+model.getAb_starttime()+"的预约计划";
+            String content=model.getAb_bman()+"确认了您"+time+"的预约计划";
             sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
             map="{\"ab_confirmstatus \":\"已确认\",\"ab_bmanid\":\""+model.getAb_bmanid()+"\"}";
         }
         if (button.getText().equals("拒绝")){
-            String content=model.getAb_recordman()+"拒绝了您"+model.getAb_starttime()+"的预约计划";
+            String content=model.getAb_bman()+"拒绝了您"+time+"的预约计划";
             sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
             map="{\"ab_confirmstatus \":\"已拒绝\",\"ab_bmanid\":\""+model.getAb_bmanid()+"\"}";
         }
         if (button.getText().equals("取消")){
-            String content=model.getAb_recordman()+"取消了您"+model.getAb_starttime()+"的预约计划";
-            sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
+            if (MyApplication.getInstance().mLoginUser.getUserId().equals(model.getAb_bmanid())){
+                String content=model.getAb_bman()+"取消了您"+time+"的预约计划";
+                sendMessage(model.getAb_bmanid(),model.getAb_bman(),model.getAb_recordid(),content);
+            }else{
+                String content=model.getAb_recordman()+"取消了您"+time+"的预约计划";
+                sendMessage(model.getAb_recordid(),model.getAb_recordman(),model.getAb_bmanid(),content);
+            }
             map="{\"ab_confirmstatus\":\"已取消\",\"ab_sharestatus\":\"未共享\",\"ab_bmanid\":\"" + model.getAb_bmanid() + "\"}";
         }
         String url = Constants.IM_BASE_URL + "user/appUpdateBooking";
@@ -403,11 +414,11 @@ public class BookingDetailActivity extends OABaseActivity implements HttpImp,Vie
 
             } else {
                 Log.d("roamer", "sendChatMessage....");
-                mService.sendChatMessage(ownerId, message);
+                mService.sendChatMessage(objectId, message);
             }
         } else {
             Log.d("roamer", "sendChatMessage");
-            mService.sendChatMessage(ownerId, message);
+            mService.sendChatMessage(objectId, message);
 
         }
     }

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/dao/ContactsDao.java

@@ -141,8 +141,8 @@ public class ContactsDao {
         String sql="(select min(id) from tbl_contacts where tf_phone=a.tf_phone) and (tf_phone<>'未填写' and tf_phone<>'')";
         Cursor cursor =db.rawQuery("select * from tbl_contacts a where id=" +
                 "(select min(id) from tbl_contacts where tf_phone=a.tf_phone and tf_ownerId=? ) and (tf_phone<> ? and tf_phone<> ?) " +
-                "and tf_name like ?   and (tf_whichSys=? or tf_whichSys=? ) ", 
-                new String[]{ownerId,"未填写"," ",key,master,""});
+                "and (tf_name like ? or tf_phone like ? ) and (tf_whichSys=? or tf_whichSys=? ) ", 
+                new String[]{ownerId,"未填写"," ",key,key,master,""});
         while (cursor.moveToNext()) {
             ContactsModel model=new ContactsModel();
             model.setName(cursor.getString(cursor.getColumnIndex("tf_name")));

+ 12 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/MessagePresenter.java

@@ -31,6 +31,7 @@ import com.xzjmyk.pm.activity.ui.erp.model.MessageModel;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IMessageView;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.UserRoleUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
@@ -80,7 +81,8 @@ public class MessagePresenter implements OnHttpResultListener {
 
     private String filter;//搜索数据
     private int emnewsNum, subsNum, processNum, taskNum, bookingNum;//红点消息分类数量
-    private String[] RECEIVER_LIST = {ConnectivityManager.CONNECTIVITY_ACTION, AUTO_SIGIN_ALART, MsgBroadcast.ACTION_MSG_COMPANY_UPDATE, "com.app.home.update"};
+    private String[] RECEIVER_LIST = {ConnectivityManager.CONNECTIVITY_ACTION, AUTO_SIGIN_ALART, MsgBroadcast.ACTION_MSG_COMPANY_UPDATE, "com.app.home.update"
+    ,MsgBroadcast.ACTION_MSG_UI_UPDATE};
     private BroadcastReceiver dataChangeReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
@@ -90,7 +92,8 @@ public class MessagePresenter implements OnHttpResultListener {
                 iMessageView.changeNet(CommonUtil.isNetWorkConnected(MyApplication.getInstance()));
             } else if (AUTO_SIGIN_ALART.equals(action)) {
                 loadNews(isB2b);//获取消息
-            } else if (action.equals("com.app.home.update") || action.equals(MsgBroadcast.ACTION_MSG_COMPANY_UPDATE)) {
+            } else if (action.equals("com.app.home.update") || action.equals(MsgBroadcast.ACTION_MSG_COMPANY_UPDATE)
+        ||action.equals(MsgBroadcast.ACTION_MSG_UI_UPDATE)) {
                 loadData();
             }
         }
@@ -118,6 +121,7 @@ public class MessagePresenter implements OnHttpResultListener {
             if ("1".equals(UserRoleUtils.getUserRole())){
                 //个人用户
                 loadBookingNewNum();//预约红点接口
+                saveErp2DB(null);
             }else{
                 loadB2bNewsCount();
             }
@@ -127,15 +131,19 @@ public class MessagePresenter implements OnHttpResultListener {
             subReadTime = PreferenceUtils.getString(SUB_READ_TIME);
             if ("1".equals(UserRoleUtils.getUserRole())){
                 //个人用户
+                LogUtil.d("roamer","个人用户消息加载!");
                 loadBookingNewNum();//预约红点接口
+               
             }else{
                 loadTaskData();//获取任务接口
                 loadProcessToDo();//获取审批流接口
                 loadSubData();
                 loadBookingNewNum();//预约红点接口
+                
             }
+            loadNews(isB2b);//获取消息
         }
-        loadNews(isB2b);//获取消息
+        
     }
 
     private void loadB2bNewsCount() {
@@ -556,6 +564,7 @@ public class MessagePresenter implements OnHttpResultListener {
                 if (!ListUtils.isEmpty(models))
                     MessageDao.getInstance().createOrinstart(models, true);
                 final List<BaseSortModel<Friend>> chche = loadDataByImAsync();//loadDataByImAsync()
+                LogUtil.d("roamer","saveErp2DB:"+JSON.toJSONString(chche));
                 OAHttpHelper.getInstance().post(new Runnable() {
                     @Override
                     public void run() {

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/ContactsUtils.java

@@ -120,7 +120,11 @@ public class ContactsUtils {
                 
                 Contacts model = new Contacts();
                 if (!StringUtils.isEmpty(phoneNum)) {
-                    model.setPhone(phoneNum.replace(" ", "").replace("-", ""));
+                    String phone=  phoneNum.replace(" ", "").replace("-", "");
+                    if (phone.length()>=11) {
+                        phone = phone.substring(phone.length() - 11, phone.length());
+                    }
+                    model.setPhone(phone);
                 }else{
                     model.setPhone("0");
                 }

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/xmpp/CoreService.java

@@ -8,6 +8,7 @@ import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.graphics.BitmapFactory;
 import android.os.Binder;
 import android.os.IBinder;
 import android.support.v7.app.NotificationCompat;
@@ -129,7 +130,10 @@ public class CoreService extends Service {
                 .setDefaults(Notification.DEFAULT_ALL)
                 //向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
                 //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
-                .setSmallIcon(R.drawable.uuu);//设置通知小ICON
+                .setSmallIcon(R.drawable.uuu)//设置通知小ICON
+                .setLargeIcon(BitmapFactory.decodeResource(
+                getResources(), R.drawable.uuu));
+              
 
         if (!"不明确类型".equals(content)) {
             mNotificationManager.notify(notifyId, mBuilder.build());

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/xmpp/ListenerManager.java

@@ -11,6 +11,7 @@ import com.xzjmyk.pm.activity.bean.message.NewFriendMessage;
 import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.db.dao.ChatMessageDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.xmpp.listener.AuthStateListener;
 import com.xzjmyk.pm.activity.xmpp.listener.ChatMessageListener;
 import com.xzjmyk.pm.activity.xmpp.listener.MucListener;
@@ -130,13 +131,16 @@ public class ListenerManager {
 	}
 
 	public void notifyMessageSendStateChange(String loginUserId, String toUserId, final int msgId, final int messageState) {
+		LogUtil.d("roamer","loginUserId:"+loginUserId+" toUserId:"+toUserId+" msgId:"+ msgId+" messageState:"+ messageState);
+		ChatMessageDao.getInstance().updateMessageSendState(loginUserId, toUserId, msgId, messageState);
 		if (mChatMessageListeners.size() <= 0) {
+			LogUtil.d("roamer","mChatMessageListeners.size():"+mChatMessageListeners.size());
 			return;
 		}
-		ChatMessageDao.getInstance().updateMessageSendState(loginUserId, toUserId, msgId, messageState);
 		mHandler.post(new Runnable() {
 			public void run() {
 				for (ChatMessageListener listener : mChatMessageListeners) {
+					LogUtil.d("roamer","消息界面更新回调:onMessageSendStateChange()");
 					listener.onMessageSendStateChange(messageState, msgId);
 				}
 			}

+ 5 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/xmpp/XReconnectionManager.java

@@ -10,6 +10,7 @@ import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.bean.LoginAuto;
 import com.xzjmyk.pm.activity.helper.LoginHelper;
 import com.xzjmyk.pm.activity.sp.UserSp;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.util.DeviceInfoUtil;
 import com.xzjmyk.pm.activity.volley.Result;
 
@@ -123,6 +124,7 @@ public class XReconnectionManager extends AbstractConnectionListener {
 					while (isReconnectionAllowed() && checkTokenStatus == 0) {
 						checkTokenStatus = syncCheckToken();
 						if (checkTokenStatus == 0) {// 表示检查失败,继续循环检查
+							LogUtil.d("Token","0:表示检查失败,继续循环检查");
 							try {
 								Thread.sleep(5000);
 							} catch (InterruptedException e) {
@@ -130,9 +132,11 @@ public class XReconnectionManager extends AbstractConnectionListener {
 							}
 						} else if (checkTokenStatus == 1) {// 表示检查成功Token过期(或出现不能继续请求Token状态的异常),停止重新登陆
 							doReconnecting = false;
+							LogUtil.d("Token","1:表示检查成功Token过期");
 							//TODO 关闭自动登录  可能出现账号异常情况
 //							conflict();
 						} else if (checkTokenStatus == 2) {// 2、表示检查成功,Token没有改变,可以继续下面的重新登陆
+							LogUtil.d("Token","2:表示检查成功,Token没有改变,可以继续下面的重新登陆");
 							break;
 						}
 					}
@@ -275,6 +279,7 @@ public class XReconnectionManager extends AbstractConnectionListener {
 					}
 
 					LoginAuto loginAuto = JSON.parseObject(jsonObject.getString(Result.DATA), LoginAuto.class);
+					LogUtil.d("Token","loginAuto:"+JSON.toJSONString(loginAuto));
 					if (loginAuto != null) {// 判断时候要继续重新登陆
 						int tokenExists = loginAuto.getTokenExists();// 1=令牌存在、0=令牌不存在
 						int serialStatus = loginAuto.getSerialStatus();// 1=没有设备号、2=设备号一致、3=设备号不一致

+ 2 - 2
WeiChat/src/main/res/raw/versionconfiguration.properties

@@ -1,3 +1,3 @@
 #发布版本状态改为true,测试版本状态为false
-#release_version = false
-release_version=true
+release_version = false
+#release_version=true