Browse Source

Merge branch 'developer_master' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer_master

gongpm 10 years ago
parent
commit
0b2ed7716a
19 changed files with 237 additions and 39 deletions
  1. 2 5
      WeiChat/src/main/AndroidManifest.xml
  2. 3 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/BaseActivity.java
  3. 3 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CommonFragmentActivity.java
  4. 1 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/SaleSelectActivity.java
  5. 14 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java
  6. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBOpenHelper.java
  7. 13 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/entity/HrorgsEntity.java
  8. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/net/ViewUtil.java
  9. 18 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java
  10. 2 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java
  11. 72 13
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/AutoCreateChatFragment.java
  12. 2 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/GroupChatFragment.java
  13. 14 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/SelectContactsActivity.java
  14. 7 3
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/ChatActivity.java
  15. 7 5
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java
  16. 70 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java
  17. 5 2
      WeiChat/src/main/java/com/xzjmyk/pm/activity/xmpp/CoreService.java
  18. 1 0
      WeiChat/src/main/java/com/xzjmyk/pm/activity/xmpp/XMucChatManager.java
  19. 1 1
      build.gradle

+ 2 - 5
WeiChat/src/main/AndroidManifest.xml

@@ -222,8 +222,7 @@ b
             android:name="com.baidu.location.f"
             android:enabled="true"
             android:process=":remote" />
-
-        <meta-data
+       <meta-data
             android:name="com.baidu.lbsapi.API_KEY"
             android:value="KxANrz9HRWVqGGCm2cN8mXarpW0bBuYA" />
         <!-- 文件选择的activity -->
@@ -387,9 +386,7 @@ b
         </receiver>
 
         <activity android:name=".ui.erp.activity.CompanyActivity" />
-        <activity android:name=".ui.erp.activity.BaseInfoActivity" />
-        <activity android:name=".ui.message.SelectActivity" >
-        </activity>
+        <activity android:name=".ui.erp.activity.BaseInfoActivity"/>
     </application>
 
 </manifest>

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/BaseActivity.java

@@ -2,6 +2,7 @@ package com.xzjmyk.pm.activity.ui.base;
 
 import android.content.pm.ActivityInfo;
 import android.os.Bundle;
+import android.util.Log;
 
 import com.android.volley.Request;
 import com.android.volley.RetryPolicy;
@@ -43,7 +44,8 @@ public abstract class BaseActivity extends ActionBackActivity {
 	@Override
 	protected void onStop() {
 		super.onStop();
-		PreferenceUtils.putBoolean(this, Constants.IS_NOTIFICATION, true);//进行通知
+		Log.i("Arison","BaseActivity onStop()");
+		//PreferenceUtils.putBoolean(this, Constants.IS_NOTIFICATION, true);//进行通知
 	}
 
 	@Override

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CommonFragmentActivity.java

@@ -25,7 +25,7 @@ public class CommonFragmentActivity extends BaseActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_common_fragment);
-        getSupportActionBar().setTitle("商务群");
+
         ViewUtils.inject(this);
         initView();
     }
@@ -42,12 +42,14 @@ public class CommonFragmentActivity extends BaseActivity {
               FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
               fragmentTransaction.replace(R.id.fl_content, groupChatFrament);
               fragmentTransaction.commit();
+              getSupportActionBar().setTitle("商务群");
               break;
          case Constants.TYPE_CHAT_MANAGE:
              AutoCreateChatFragment manageChatFrament = new AutoCreateChatFragment();
              fragmentTransaction = getSupportFragmentManager().beginTransaction();
              fragmentTransaction.replace(R.id.fl_content, manageChatFrament);
              fragmentTransaction.commit();
+             getSupportActionBar().setTitle("管理群");
             break;
        }
     }

+ 1 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/SaleSelectActivity.java

@@ -666,8 +666,7 @@ public class SaleSelectActivity extends BaseActivity implements OnClickListener
                 tViews[1][j].setText(dmap.get(map.get("dataIndex")).toString());
             }
             if (tViews[0][0] != null) {
-
-                tViews[0][0].setText(dmap.get("RN").toString());
+             //   tViews[0][0].setText(dmap.get("RN").toString());
             }
             return convertView;
         }

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

@@ -32,8 +32,8 @@ public class DBManager {
      */
     public void saveHrogrs(List<HrorgsEntity> hrorgsList) {
         String sql = "replace into hrorgs"
-                + "(or_code,whichsys,or_subof,company,or_isleaf,or_name,or_id,or_flag,or_headmanname,or_headmancode)"
-                + " values (?, ?, ?, ?, ?, ?, ?,?,?,?);";
+                + "(or_code,whichsys,or_subof,company,or_isleaf,or_name,or_id,or_flag,or_headmanname,or_headmancode,or_remark)"
+                + " values (?, ?, ?, ?, ?, ?, ?,?,?,?,?);";
         SQLiteStatement sta = db.compileStatement(sql);
         db.beginTransaction();
         for (int i = 0; i < hrorgsList.size(); i++) {
@@ -48,6 +48,7 @@ public class DBManager {
             sta.bindString(8, entity.getFlag());
             sta.bindString(9, entity.getOr_headmanname()==null?"":entity.getOr_headmanname());
             sta.bindString(10,entity.getOr_headmancode()==null?"":entity.getOr_headmancode());
+            sta.bindLong(11, entity.getOr_remark());
             sta.executeInsert();
         }
 
@@ -57,6 +58,16 @@ public class DBManager {
     }
 
 
+    public void updateHrogrRemark(int or_id,int or_remark){
+        String sql = "update hrorgs"
+                + " set or_remark=?"
+                + " where or_id=?;";
+        SQLiteStatement sta = db.compileStatement(sql);
+        sta.bindLong(1, or_remark);
+        sta.bindLong(2, or_id);//更新关键字段
+        sta.executeInsert();
+    }
+
     /**
      * @author Administrator
      * @功能:更新组织架构---批量 根据or_code来更新数据
@@ -337,6 +348,7 @@ public class DBManager {
             hrorgsEntity.setOr_headmancode(cursor.getString(cursor.getColumnIndex("or_headmancode")));
             hrorgsEntity.setOr_headmanname(cursor.getString(cursor.getColumnIndex("or_headmanname")));
             hrorgsEntity.setWhichsys(cursor.getString(cursor.getColumnIndex("whichsys")));
+            hrorgsEntity.setOr_remark(cursor.getInt(cursor.getColumnIndex("or_remark")));
             hrorgsEntities.add(hrorgsEntity);
         }
         cursor.close();

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBOpenHelper.java

@@ -13,7 +13,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.Constants;
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
 
-    private static final int DATABASE_VERSION = 37;//数据库版本号
+    private static final int DATABASE_VERSION = 38;//数据库版本号
     public static String dataBaseName = "erp.db";//数据库名称
     public Context context;
 

+ 13 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/entity/HrorgsEntity.java

@@ -15,12 +15,15 @@ public class HrorgsEntity {
     private String or_name;
 
     private int or_id;
-    //领导人名字
-    private String or_headmanname;
+
 
     private String flag;
     //领导人编号
     private String or_headmancode;
+    //领导人名字
+    private String or_headmanname;
+    //1代表是创建管理群 ,null代表没有
+    private int or_remark;
 
 
     public String getOr_code() {
@@ -103,4 +106,12 @@ public class HrorgsEntity {
     public void setOr_headmancode(String or_headmancode) {
         this.or_headmancode = or_headmancode;
     }
+
+    public int getOr_remark() {
+        return or_remark;
+    }
+
+    public void setOr_remark(int or_remark) {
+        this.or_remark = or_remark;
+    }
 }

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

@@ -369,6 +369,7 @@ public class ViewUtil {
                     if (mdProcessDialog != null && mdProcessDialog.isShowing()) {
                         mdProcessDialog.dismiss();
                     }
+                    ToastMessage(MyApplication.getInstance(),"服务器拒绝访问!");
                     break;
                 default:
                     break;

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

@@ -18,6 +18,7 @@ import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.os.Build;
 import android.util.DisplayMetrics;
+import android.util.Log;
 import android.util.Patterns;
 
 import com.nostra13.universalimageloader.core.DisplayImageOptions;
@@ -47,6 +48,23 @@ public class CommonUtil {
 
     private final static String AppShareName = "setting";
 
+    public static boolean isBackground(Context context) {
+        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
+        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
+            if (appProcess.processName.equals(context.getPackageName())) {
+                if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
+                    Log.i("Arison", "进入后台..."+appProcess.processName);
+                    return true;
+                }else{
+                    Log.i("Arison", "进入前台..."+appProcess.processName);
+                    return false;
+                }
+            }
+        }
+        return false;
+    }
+
     //计算图片的缩放值
     public static int calculateInSampleSize(BitmapFactory.Options options,int reqWidth, int reqHeight) {
         final int height = options.outHeight;

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

@@ -65,7 +65,8 @@ public class Constants {
             + "whichsys varchar(50),"
             + "or_flag varchar(50),"
             + "or_headmanname varchar(50),"
-            + "or_headmancode varchar(50)"+
+            + "or_headmancode varchar(50),"
+            + "or_remark integer"+
            ")";
     //更新时间表
     public static final String SQL_empdate_CREATETABLE = "CREATE TABLE empdate "

+ 72 - 13
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/AutoCreateChatFragment.java

@@ -9,7 +9,9 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.IBinder;
+import android.os.Message;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -25,6 +27,7 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.parser.deserializer.IntegerFieldDeserializer;
 import com.android.volley.Response;
 import com.android.volley.Response.ErrorListener;
 import com.android.volley.VolleyError;
@@ -46,7 +49,10 @@ import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
 import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
 import com.xzjmyk.pm.activity.ui.erp.entity.HrorgsEntity;
+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.erp.util.JsonValidator;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.message.MucChatActivity;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
@@ -64,6 +70,7 @@ import com.xzjmyk.pm.activity.xmpp.CoreService;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -274,6 +281,8 @@ public class AutoCreateChatFragment extends EasyFragment {
 		params.put("pageIndex", String.valueOf(mPageIndex));
 		params.put("pageSize", String.valueOf(AppConfig.PAGE_SIZE));
 		params.put("access_token", MyApplication.getInstance().mAccessToken);
+		Log.i("Arison", "获取群主列表:" + mActivity.mConfig.ROOM_LIST_HIS);
+		Log.i("Arison", "参数:" + JSON.toJSONString(params));
 		StringJsonArrayRequest<MucRoom> request = new StringJsonArrayRequest<MucRoom>(
 				mActivity.mConfig.ROOM_LIST_HIS, new ErrorListener() {
 					@Override
@@ -293,8 +302,16 @@ public class AutoCreateChatFragment extends EasyFragment {
 								mMucRooms.clear();
 							}
 							List<MucRoom> datas = result.getData();
+							Log.i("Arison","datas:"+JSON.toJSONString(datas));
+							//只展示类别是1的管理群
+							List<MucRoom> dataTemp=new ArrayList<>();
 							if (datas != null && datas.size() > 0) {
-								mMucRooms.addAll(datas);
+								for (int i=0;i<datas.size();i++){
+									if (datas.get(i).getCategory()==1){
+										dataTemp.add(datas.get(i));
+									}
+								}
+								mMucRooms.addAll(dataTemp);
 							}
 							mAdapter.notifyDataSetChanged();
 						}
@@ -362,8 +379,14 @@ public class AutoCreateChatFragment extends EasyFragment {
 		 DBManager db=new DBManager(mContext);
 		 String master= CommonUtil.getSharedPreferences(mContext, "erp_master");
 		 String emCode=CommonUtil.getSharedPreferences(mContext,"erp_username");
+		 //查找本地数据库,管理群存在,则不创建
 		 List<HrorgsEntity> hlist=db.queryHrorgList(new String[]{master,emCode}, "whichsys=? and or_headmancode=?");
 		 if(!ListUtils.isEmpty(hlist)){
+			 if (hlist.get(0).getOr_remark()==1){
+				 Log.i("Arison", "管理群已经创建");
+				 mPullToRefreshListView.setPullDownRefreshing(200);
+				 return;
+			 }
 			 String roomdesc="本群为管理群!";
             for (int i=0;i<hlist.size();i++){
 				List<String> inviteUsers = new ArrayList<String>();//群组人员
@@ -404,7 +427,7 @@ public class AutoCreateChatFragment extends EasyFragment {
 						}
 						inviteUsers=removeDuplicate(inviteUsers);//去除重复数据
 						String userId=MyApplication.getInstance().mLoginUser.getUserId();
-						createGroupChat(or_headmanname,or_name,null,roomdesc,inviteUsers);
+						createGroupChat(or_headmanname,or_name,null,roomdesc,inviteUsers,or_id);
 					}
 				}
 
@@ -416,14 +439,6 @@ public class AutoCreateChatFragment extends EasyFragment {
 	}
 
 
-//	/**
-//	 * @desc:自动创建
-//	 * @author:Administrator on 2016/5/17 8:49
-//	 */
-//	public void autoCreateChatGroup(){
-//		//根据用户身份创建群
-//		//
-//	}
 
 	private int getEmployeeIMID(DBManager db, String master, String or_headmancode) {
 		List<EmployeesEntity> elist = db.select_getEmployee(new String[]{or_headmancode,master}, "EM_CODE=? and WHICHSYS=?");
@@ -450,7 +465,7 @@ public class AutoCreateChatFragment extends EasyFragment {
 	 * @author:Administrator on 2016/5/16 9:35
 	 */
 	private void createGroupChat(String nickName,final String roomName, String roomSubject, final String roomDesc,
-								 List<String> inviteUsers) {
+								 List<String> inviteUsers,final int or_id) {
 		Log.i("Arison","nickName:"+nickName);
 		Log.i("Arison","roomName:"+roomName);
 		Log.i("Arison","roomDesc:"+roomDesc);
@@ -466,6 +481,7 @@ public class AutoCreateChatFragment extends EasyFragment {
 		params.put("access_token", MyApplication.getInstance().mAccessToken);
 		params.put("jid", roomJid);
 		params.put("name", roomName);
+		params.put("category","1");
 		params.put("desc", roomDesc);
 		params.put("countryId", String.valueOf(Area.getDefaultCountyId()));// 国家Id
 
@@ -489,11 +505,11 @@ public class AutoCreateChatFragment extends EasyFragment {
 		if (longitude != 0)
 			params.put("longitude", String.valueOf(longitude));
 
-//		List<String> inviteUsers = new ArrayList<String>();
-		//inviteUsers 群成员
 		params.put("text", JSON.toJSONString(inviteUsers));
 
 		ProgressDialogUtil.show(mProgressDialog);
+		Log.i("Arison", "创建群url:" + mConfig.ROOM_ADD);
+		Log.i("Arison","创建群参数:"+JSON.toJSONString(params));
 		StringJsonObjectRequest<MucRoom> request = new StringJsonObjectRequest<MucRoom>(mConfig.ROOM_ADD,
 				new Response.ErrorListener() {
 					@Override
@@ -507,6 +523,8 @@ public class AutoCreateChatFragment extends EasyFragment {
 				boolean parserResult = Result.defaultParser(mContext, result, true);
 				if (parserResult && result.getData() != null) {
 					//createRoomSuccess(result.getData().getId(), roomJid, roomName, roomDesc);
+					mPullToRefreshListView.setPullDownRefreshing(200);//加载列表
+					updateCreateFalgToERP(or_id);
 				}
 				ProgressDialogUtil.dismiss(mProgressDialog);
 			}
@@ -515,6 +533,47 @@ public class AutoCreateChatFragment extends EasyFragment {
 		MyApplication.getInstance().getFastVolley().addDefaultRequest(HASHCODE, request);
 	}
 
+ 
+    /**
+     * @desc:自动创建群后,避免重复,需要更新标识
+     * @author:Administrator on 2016/5/17 16:59
+     */
+	public void updateCreateFalgToERP(int or_id){
+        String url= Constants.getAppBaseUrl(mContext)+"/mobile/update_hrorgmobile.action";
+		Map<String, Object> params=new HashMap<>();
+		params.put("orid", or_id);
+		params.put("kind",1);
+		params.put("sessionId", CommonUtil.getSharedPreferences(mContext, "sessionId"));
+		LinkedHashMap<String, Object> headers=new LinkedHashMap<>();
+		headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
+		com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(
+			   mContext,url,params,handler,headers,1,null,null,"get");
+	}
+
+	private Handler handler=new Handler(){
+		@Override
+		public void handleMessage(Message msg) {
+			switch (msg.what){
+				case 1:
+                   String result=msg.getData().getString("result");
+                   Log.i("Arison", "result:" + result);
+
+					if (new JsonValidator().validate(result)){
+						String or_id=JSON.parseObject(result).getString("or_id");
+                        if (!StringUtils.isEmpty(or_id)){
+							DBManager db=new DBManager(mContext);
+							db.updateHrogrRemark(Integer.valueOf(or_id),1);
+							ViewUtil.ToastMessage(mContext,"系统创建您的管理群成功!");
+						}
+					}
+					break;
+				case Constants.APP_SOCKETIMEOUTEXCEPTION:
+					result=msg.getData().getString("result");
+					ViewUtil.ToastMessage(mContext,result);
+					break;
+			}
+		}
+	};
 
 	private ServiceConnection mServiceConnection = new ServiceConnection() {
 		@Override

+ 2 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/GroupChatFragment.java

@@ -19,6 +19,7 @@ import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
 import com.android.volley.Response.ErrorListener;
 import com.android.volley.VolleyError;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
@@ -267,6 +268,7 @@ public class GroupChatFragment extends EasyFragment {
 								mMucRooms.clear();
 							}
 							List<MucRoom> datas = result.getData();
+							Log.i("Arison","datas:"+ JSON.toJSONString(datas));
 							if (datas != null && datas.size() > 0) {
 								mMucRooms.addAll(datas);
 							}

+ 14 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/groupchat/SelectContactsActivity.java

@@ -6,7 +6,9 @@ import android.content.ComponentName;
 import android.content.Intent;
 import android.content.ServiceConnection;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.IBinder;
+import android.os.Message;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -37,9 +39,14 @@ import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.db.dao.UserDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+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.JsonValidator;
 import com.xzjmyk.pm.activity.ui.message.MucChatActivity;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 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;
 import com.xzjmyk.pm.activity.view.ClearEditText;
@@ -54,6 +61,7 @@ import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -393,6 +401,8 @@ public class SelectContactsActivity extends BaseActivity {
         addDefaultRequest(request);
     }
 
+
+
     private void createRoomSuccess(String roomId, String roomJid, String roomName, String roomDesc) {
         Friend friend = new Friend();// 将房间也存为好友
         friend.setOwnerId(mLoginUserId);
@@ -439,4 +449,8 @@ public class SelectContactsActivity extends BaseActivity {
         startActivity(intent);
         finish();
     }
+
+
+
+
 }

+ 7 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/ChatActivity.java

@@ -46,6 +46,7 @@ import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
 import com.xzjmyk.pm.activity.ui.circle.SendBaiDuLocate;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;
 import com.xzjmyk.pm.activity.util.CameraUtil;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.ChatBottomView;
 import com.xzjmyk.pm.activity.view.ChatContentView;
@@ -316,12 +317,13 @@ public class ChatActivity extends ActionBackActivity
     @Override
     protected void onPause() {
         mChatContentView.reset();
+        Log.i("Arison", "onPause()");
+        PreferenceUtils.putBoolean(this, Constants.IS_NOTIFICATION, true);
         super.onPause();
     }
 
     @Override
     protected void onStart() {
-        // TODO Auto-generated method stub
         super.onStart();
 
         mBlackList = FriendDao.getInstance().getAllBlacklists(mLoginUserId);
@@ -331,8 +333,10 @@ public class ChatActivity extends ActionBackActivity
 
     @Override
     protected void onResume() {
-        // TODO Auto-generated method stub
         super.onResume();
+        Log.i("Arison", "chatActivity onResume()");
+        PreferenceUtils.putBoolean(getApplicationContext(), Constants.IS_NOTIFICATION, false);//不进行通知
+        Log.i("Arison","isNotify"+PreferenceUtils.getBoolean(getApplicationContext(),Constants.IS_NOTIFICATION));
 
     }
 
@@ -509,7 +513,7 @@ public class ChatActivity extends ActionBackActivity
 
             mService.sendChatMessage(mFriend.getUserId(), message);
             //进行百度推送
-            sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
+           // sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
 
         }
     }

+ 7 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MucChatActivity.java

@@ -38,6 +38,7 @@ import com.xzjmyk.pm.activity.helper.UploadEngine;
 import com.xzjmyk.pm.activity.ui.base.ActionBackActivity;
 import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
 import com.xzjmyk.pm.activity.ui.circle.SendBaiDuLocate;
+import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.view.ChatBottomView;
 import com.xzjmyk.pm.activity.view.ChatContentView;
 import com.xzjmyk.pm.activity.xmpp.CoreService;
@@ -311,8 +312,9 @@ public class MucChatActivity extends ActionBackActivity
 
     @Override
     protected void onResume() {
-        // TODO Auto-generated method stub
+        PreferenceUtils.putBoolean(this, Constants.IS_NOTIFICATION, false);//不进行通知
         super.onResume();
+
         /*
          * String roomName = MyApplication.getInstance().roomName;
 		 * updateUi(roomName);
@@ -377,6 +379,7 @@ public class MucChatActivity extends ActionBackActivity
             super.onPause();
             return;
         }
+        PreferenceUtils.putBoolean(this, Constants.IS_NOTIFICATION, true);
         mChatContentView.reset();
         super.onPause();
     }
@@ -544,8 +547,7 @@ public class MucChatActivity extends ActionBackActivity
         } else {
             send(message);
         }
-        loadMembers(message.getContent());
-//		sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
+//        loadMembers(message.getContent());//百度推送,过滤本用户
     }
 
     //把信息转发百度推送
@@ -586,10 +588,10 @@ public class MucChatActivity extends ActionBackActivity
                         }
                     }
                     //TODO 获取完群组成员id后发送百度推送
-                    sendPushTask(mLoginUserId, mFriend.getUserId(), body, str);
+                   // sendPushTask(mLoginUserId, mFriend.getUserId(), body, str);
                 } else {
                     //TODO 当获取群成员失败时候 重新获取 直到获取成功
-                    loadMembers(body);
+                  //  loadMembers(body);
                 }
             }
         }, MucRoom.class, params);

+ 70 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/RoomInfoActivity.java

@@ -9,6 +9,7 @@ import android.content.ServiceConnection;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
+import android.os.Message;
 import android.text.InputFilter;
 import android.text.TextUtils;
 import android.util.Log;
@@ -32,7 +33,13 @@ import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.helper.AvatarHelper;
 import com.xzjmyk.pm.activity.ui.circle.BasicInfoActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.CommonFragmentActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+import com.xzjmyk.pm.activity.ui.erp.entity.HrorgsEntity;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.util.ProgressDialogUtil;
+import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.xmpp.CoreService;
 import com.xzjmyk.pm.activity.xmpp.ListenerManager;
 import com.xzjmyk.pm.activity.AppConstant;
@@ -56,7 +63,9 @@ import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest.Listener;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @项目名称: SkWeiChat-Baidu
@@ -748,6 +757,9 @@ public class RoomInfoActivity extends BaseActivity {
 
     //删除
     private void deleteRoom(final Friend sortFriend) {
+        //根据mLoginuerId获取or_id,删除群需要去更新erp服务器数据
+       final int or_id = getOr_id();
+
         boolean deleteRoom = false;
         if (mLoginUserId.equals(sortFriend.getRoomCreateUserId())) {
             deleteRoom = true;
@@ -779,6 +791,8 @@ public class RoomInfoActivity extends BaseActivity {
                 boolean success = Result.defaultParser(RoomInfoActivity.this, result, true);
                 if (success) {
                     deleteFriend(sortFriend);
+                    Log.i("Arison","删除房间or_id:"+or_id);
+                    updateCreateFalgToERP(or_id);
                 }
                 ProgressDialogUtil.dismiss(dialog);
                 ToastUtil.showToast(RoomInfoActivity.this, "操作成功!");
@@ -793,6 +807,19 @@ public class RoomInfoActivity extends BaseActivity {
         this.addDefaultRequest(request);
     }
 
+    private int getOr_id() {
+        DBManager db=new DBManager(mContext);
+        String master= CommonUtil.getSharedPreferences(mContext, "erp_master");
+        String emCode=CommonUtil.getSharedPreferences(mContext,"erp_username");
+        //查找本地数据库,管理群存在,则不创建
+        List<HrorgsEntity> hlist=db.queryHrorgList(new String[]{master,emCode}, "whichsys=? and or_headmancode=?");
+        int or_id=0;
+        if (!ListUtils.isEmpty(hlist)) {
+               or_id=hlist.get(0).getOr_id();
+        }
+        return or_id;
+    }
+
 
     private void deleteFriend(final Friend sortFriend) {
 
@@ -1004,4 +1031,47 @@ public class RoomInfoActivity extends BaseActivity {
             loadMembers();
         }
     }
+
+
+
+
+    /**
+     * @desc:自动创建群后,避免重复,需要更新标识
+     * @author:Administrator on 2016/5/17 16:59
+     */
+    public void updateCreateFalgToERP(int or_id){
+        String url= com.xzjmyk.pm.activity.ui.erp.util.Constants.getAppBaseUrl(mContext)+"/mobile/update_hrorgmobile.action";
+        Map<String, Object> params=new HashMap<>();
+        params.put("orid", or_id);
+        params.put("kind",0);//删除
+        params.put("sessionId", CommonUtil.getSharedPreferences(mContext, "sessionId"));
+        LinkedHashMap<String, Object> headers=new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
+        com.xzjmyk.pm.activity.ui.erp.util.ViewUtil.httpSendRequest(
+                mContext, url, params, handler, headers, 1, null, null, "get");
+    }
+
+
+    private Handler handler=new Handler(){
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what){
+                case 1:
+                    String result=msg.getData().getString("result");
+                    Log.i("Arison","result:"+result);
+                    if (new JsonValidator().validate(result)){
+                        String or_id=JSON.parseObject(result).getString("or_id");
+                        if (!StringUtils.isEmpty(or_id)){
+                            DBManager db=new DBManager(mContext);
+                            db.updateHrogrRemark(Integer.valueOf(or_id),0);
+                        }
+                    }
+                    break;
+                case com.xzjmyk.pm.activity.ui.erp.util.Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    result=msg.getData().getString("result");
+                    ViewUtil.ToastMessage(mContext, result);
+                    break;
+            }
+        }
+    };
 }

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

@@ -14,6 +14,7 @@ import android.text.TextUtils;
 import android.util.Log;
 
 import com.xzjmyk.pm.activity.bean.message.NewFriendMessage;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.xmpp.listener.AuthStateListener;
 import com.xzjmyk.pm.activity.MyApplication;
 import com.xzjmyk.pm.activity.R;
@@ -68,7 +69,9 @@ public class CoreService extends Service {
 
     public void notificationMesage(ChatMessage chatMessage) {
         int messageType = chatMessage.getType();
-        boolean isNotification = PreferenceUtils.getBoolean(this, Constants.IS_NOTIFICATION);//进行通知
+        boolean isNotification = PreferenceUtils.getBoolean(getApplicationContext(), Constants.IS_NOTIFICATION);//进行通知
+        isNotification= CommonUtil.isBackground(getApplicationContext());
+        Log.i("Arison","isNotification:"+isNotification);
         if (!isNotification) {
             return;
         }
@@ -122,7 +125,7 @@ public class CoreService extends Service {
                 .setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级
                  .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
                 .setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
-                .setDefaults(Notification.DEFAULT_VIBRATE).setDefaults(Notification.DEFAULT_SOUND)
+                .setDefaults(Notification.DEFAULT_ALL)
                 //向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
                 //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
                 .setSmallIcon(R.drawable.uuu);//设置通知小ICON

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/xmpp/XMucChatManager.java

@@ -436,6 +436,7 @@ public class XMucChatManager {
 				Log.e("roamer", "TimeStamp:" + changeTimeSend);
 				message.setTimeSend(changeTimeSend);
 			}
+			mService.notificationMesage(message);
 			if (ChatMessageDao.getInstance().saveNewSingleChatMessage(mLoginUserId, XmppStringUtil.getRoomJIDPrefix(from), message)) {
 				ListenerManager.getInstance().notifyNewMesssage(mLoginUserId, XmppStringUtil.getRoomJIDPrefix(roomJid), message, true);
 			}

+ 1 - 1
build.gradle

@@ -5,7 +5,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.0.0'
+        classpath 'com.android.tools.build:gradle:1.3.0'
     }
 }