Browse Source

修改测试部门提出bug

Bitliker 8 years ago
parent
commit
29e0123c49

+ 72 - 14
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/secretary/SelectPContactsPresenter.java

@@ -5,15 +5,16 @@ import android.text.Editable;
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.xzjmyk.pm.activity.MyApplication;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.android.volley.AuthFailureError;
+import com.android.volley.Request;
 import com.android.volley.Response;
 import com.android.volley.VolleyError;
 import com.xzjmyk.pm.activity.MyApplication;
-import com.xzjmyk.pm.activity.bean.AddAttentionResult;
 import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.AddAttentionResult;
 import com.xzjmyk.pm.activity.bean.Friend;
 import com.xzjmyk.pm.activity.bean.oa.SelectEmUser;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
@@ -23,7 +24,9 @@ import com.xzjmyk.pm.activity.sortlist.PingYinUtil;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.entity.SelectCollisionTurnBean;
 import com.xzjmyk.pm.activity.ui.erp.model.contacts.Contacts;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.presenter.imp.ISelectActiveView;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ContactsUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
@@ -39,7 +42,9 @@ import com.xzjmyk.pm.activity.volley.StringJsonObjectRequest;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by Arison on 2017/6/19.
@@ -65,7 +70,7 @@ public class SelectPContactsPresenter {
         this.selectBean = selectBean;
         allList = new ArrayList<>();
         mBaseComparator = new BaseComparator<>();
-        switch (type){
+        switch (type) {
             case 0:
                 initdata();
                 break;
@@ -74,19 +79,19 @@ public class SelectPContactsPresenter {
                 loadDataForFriend();
                 break;
         }
-       
+
     }
 
-    private void loadDataForFriend(){
+    private void loadDataForFriend() {
         iSelectActiveView.showLoading();
-     ThreadPool.getThreadPool().addTask(new Runnable() {
-         @Override
-         public void run() {
-             String  mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
-             List<Friend> friends = FriendDao.getInstance().getFriends(mLoginUserId);
-             handlerFriendData(friends);
-         }
-     });
+        ThreadPool.getThreadPool().addTask(new Runnable() {
+            @Override
+            public void run() {
+                String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
+                List<Friend> friends = FriendDao.getInstance().getFriends(mLoginUserId);
+                handlerFriendData(friends);
+            }
+        });
     }
 
     private void handlerFriendData(List<Friend> employees) {
@@ -106,7 +111,7 @@ public class SelectPContactsPresenter {
         }
         setUser2Sort(users, false);
     }
-    
+
     private void initdata() {
         List<SelectEmUser> selects = selectBean.getSelectList();
         if (!StringUtils.isEmpty(selectBean.getSureText()))
@@ -248,7 +253,9 @@ public class SelectPContactsPresenter {
         }
         setUser2Sort(users, false);
     }
+
     int numSelect;
+
     private void setUser2Sort(List<SelectEmUser> list, boolean isClickAll) {
         numSelect = 0;
         for (SelectEmUser e : list) {
@@ -431,6 +438,57 @@ public class SelectPContactsPresenter {
 
     //TODO 邀请好友注册
     private void invite(SelectEmUser user, int position) {
+        LogUtil.i("invite");
+        final String name = CommonUtil.getName();
+        final String phone = user.getPosition();
+        if (!com.xzjmyk.pm.activity.util.StringUtils.isMobileNumber(phone)) {
+            iSelectActiveView.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
+            public void onErrorResponse(VolleyError arg0) {
+                iSelectActiveView.dimssLoading();
+            }
+        }, new StringJsonObjectRequest.Listener<AddAttentionResult>() {
+            @Override
+            public void onResponse(ObjectResult<AddAttentionResult> result) {
+                String message = result.toString();
+                iSelectActiveView.showToast("短信发送成功", R.color.load_submit);
+                LogUtil.i("message=" + message);
+            }
+        }, AddAttentionResult.class, null) {
+            @Override
+            public byte[] getBody() throws AuthFailureError {
+                String param = "{\"receiver\":\"" + phone + "\",\"params\":[\"" + name + "\"],\"templateId\":\"4b60e18b-de2e-410f-9de1-819265d9e636\"}";
+                LogUtil.i("param=" + param);
+                return param.getBytes();
+            }
+
+            @Override
+            public Map<String, String> getHeaders() {
+                HashMap<String, String> headers = new HashMap<String, String>();
+                headers.put("Accept", "application/json");
+                headers.put("Content-Type", "application/json; charset=UTF-8");
+                return headers;
+            }
+        };
+        MyApplication.getInstance().getFastVolley().addDefaultRequest("Volley", request);
+    }
+
+    private void invite2(SelectEmUser user, int position) {
+        LogUtil.i("invite2");
+        final HashMap<String, Object> params = new HashMap<>();
+        params.put("receiver", "15915408583");
+        params.put("params", "[\"下载吧\"]");
+        params.put("templateId", "4b60e18b-de2e-410f-9de1-819265d9e636");
+        String url = "http://message.ubtob.com/sms/send";
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Content-Type", "application/json; charset=UTF-8");
+        ViewUtil.httpSendRequest(MyApplication.getInstance(), url, params, OAHttpHelper.getInstance(), headers, 1022, null, null, "post");
 
     }
+
+
 }

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

@@ -2,7 +2,9 @@ package com.xzjmyk.pm.activity.ui.erp.net;
 
 import android.util.Log;
 
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ObjectUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.hmac.HmacUtils;
 
 import org.apache.http.HttpResponse;
@@ -14,6 +16,7 @@ import org.apache.http.conn.ssl.AllowAllHostnameVerifier;
 import org.apache.http.conn.ssl.SSLSocketFactory;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.protocol.HTTP;
 
@@ -39,6 +42,8 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
+import static com.loopj.android.http.RequestParams.APPLICATION_JSON;
+
 
 /**
  * @author :Administrator   2015年12月16日 上午11:09:31
@@ -99,6 +104,11 @@ public class HttpUtil {
             Map<String, Object> params,
             LinkedHashMap<String, Object> headers,
             boolean sign) throws Exception {
+        if (url.contains("sms/send")) {
+            return httpPostWithJSON(url, StringUtils.mapToJson(params));
+
+        }
+
         SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());
         DefaultHttpClient httpClient = MyHttpClient.getNewHttpClient();
         HttpResponse response = null;
@@ -134,6 +144,20 @@ public class HttpUtil {
         }
     }
 
+    public static Response httpPostWithJSON(String url, String json) throws Exception {
+        // 将JSON进行UTF-8编码,以便传输中文
+        String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
+        LogUtil.i("json=" + json);
+        DefaultHttpClient httpClient = new DefaultHttpClient();
+        HttpPost httpPost = new HttpPost(url);
+        httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
+        StringEntity se = new StringEntity(encoderJson);
+//        se.setContentType(HTTP.CONTENT_TYPE_TEXT_JSON);
+        se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
+        httpPost.setEntity(se);
+        HttpResponse response = httpClient.execute(httpPost);
+        return Response.getResponse(response);
+    }
 
     public static Response sendPostRequest(
             String url,

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

@@ -330,6 +330,23 @@ public class StringUtils {
         return builder.toString();
     }
 
+    public static String map2Json(Map<String, String> map) {
+        if (map == null) return "";
+        StringBuilder builder = new StringBuilder("{\n");
+        for (Map.Entry<String, String> e : map.entrySet()) {
+            builder.append("\"" + e.getKey() + "\":");
+            if (e.getValue() instanceof String || e.getValue() instanceof CharSequence) {
+                builder.append("\"" + e.getValue() + "\",\n");
+            } else {
+                builder.append(e.getValue() + ",\n");
+            }
+        }
+        builder.deleteCharAt(builder.length() - 1);
+        builder.deleteCharAt(builder.length() - 1);
+        builder.append("\n}");
+        return builder.toString();
+    }
+
     public static String mapToJsons(Map<String, String> map) {
         if (map == null) return "";
         StringBuilder builder = new StringBuilder("{\n");

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/volley/StringJsonObjectRequest.java

@@ -116,7 +116,7 @@ public class StringJsonObjectRequest<T> extends Request<String> {
         if (mGzipEnable) {
             Map<String, String> headers = new HashMap<String, String>();
             headers.put("Charset", "UTF-8");
-            headers.put("Content-Type", "application/x-javascript");
+            headers.put("Content-Type", "application/json");
             headers.put("Accept-Encoding", "gzip,deflate");
             if (mParams != null) {
                 headers.put("Cookie", "JSESSIONID=" + mParams.get("sessionId"));