|  | @ -1,6 +1,6 @@
 | 
	
		
			
				|  |  | package com.yihu.wlyy.statistics.task;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.wlyy.statistics.util.http.HttpResponse;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.statistics.util.HttpClientUtil;
 | 
	
		
			
				|  |  | import net.sf.json.JSONArray;
 | 
	
		
			
				|  |  | import net.sf.json.JSONObject;
 | 
	
		
			
				|  |  | import org.apache.http.NameValuePair;
 | 
	
	
		
			
				|  | @ -94,12 +94,13 @@ public class PushMsgTask {
 | 
	
		
			
				|  |  | 				while (true) {
 | 
	
		
			
				|  |  | 					// 如果queue为空,则当前线程会堵塞,直到有新数据加入
 | 
	
		
			
				|  |  | 					JSONObject json = queue.take();
 | 
	
		
			
				|  |  | 					System.out.println("发送前:"+json);
 | 
	
		
			
				|  |  | 					// 推送平台消息
 | 
	
		
			
				|  |  | 					String receiver = json.has("receiver") ? json.getString("receiver") : "";
 | 
	
		
			
				|  |  | 					String type = json.has("type") ? json.getString("type") : "";
 | 
	
		
			
				|  |  | 					String title = json.has("title") ? json.getString("title") : "";
 | 
	
		
			
				|  |  | 					String msg = json.has("msg") ? json.getString("msg") : "";
 | 
	
		
			
				|  |  | 					String data = json.has("data") ? json.getString("data") : "";
 | 
	
		
			
				|  |  | 					String receiver = json.containsKey("receiver") ? json.getString("receiver") : "";
 | 
	
		
			
				|  |  | 					String type = json.containsKey("type") ? json.getString("type") : "";
 | 
	
		
			
				|  |  | 					String title = json.containsKey("title") ? json.getString("title") : "";
 | 
	
		
			
				|  |  | 					String msg = json.containsKey("msg") ? json.getString("msg") : "";
 | 
	
		
			
				|  |  | 					String data = json.containsKey("data") ? json.getString("data") : "";
 | 
	
		
			
				|  |  | 					boolean res = pushMessage(receiver, type, title, msg, data);
 | 
	
		
			
				|  |  | 					if (res) {
 | 
	
		
			
				|  |  | 						logger.info("消息推送成功!");
 | 
	
	
		
			
				|  | @ -130,62 +131,11 @@ public class PushMsgTask {
 | 
	
		
			
				|  |  | 			params.add(new BasicNameValuePair("contentType", msgType));
 | 
	
		
			
				|  |  | 			params.add(new BasicNameValuePair("title", title));
 | 
	
		
			
				|  |  | 			params.add(new BasicNameValuePair("summary", data));
 | 
	
		
			
				|  |  | 			HttpResponse response = post(url, params);
 | 
	
		
			
				|  |  | 			if (response != null && response.getStatusCode() == 200) {
 | 
	
		
			
				|  |  | 				JSONObject json = JSONObject.fromObject(response.getBody());
 | 
	
		
			
				|  |  | 				if (!"200".equals(json.optString("status"))) {
 | 
	
		
			
				|  |  | 					throw new Exception(json.optString("msg"));
 | 
	
		
			
				|  |  | 				}
 | 
	
		
			
				|  |  | 			} else {
 | 
	
		
			
				|  |  | 				throw new Exception("接口调用错误!"+response.getBody());
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			String response = HttpClientUtil.post(url, params, "UTF-8");
 | 
	
		
			
				|  |  | 			return true;
 | 
	
		
			
				|  |  | 		} catch (Exception e) {
 | 
	
		
			
				|  |  | 			logger.error("push message error:", e);
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		return false;
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	private static HttpResponse post(String url, List<NameValuePair> params) {
 | 
	
		
			
				|  |  | 		HttpResponse re = new HttpResponse();
 | 
	
		
			
				|  |  | 		CloseableHttpResponse response = null;
 | 
	
		
			
				|  |  | 		CloseableHttpClient httpclient =  HttpClients.createDefault();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 		//设置请求信息
 | 
	
		
			
				|  |  | 		try {
 | 
	
		
			
				|  |  | 			RequestConfig requestConfig = RequestConfig.custom().
 | 
	
		
			
				|  |  | 					setAuthenticationEnabled(true).build();
 | 
	
		
			
				|  |  | 			HttpPost request = new HttpPost(url );
 | 
	
		
			
				|  |  | 			request.setEntity(new UrlEncodedFormEntity(params,"UTF-8"));
 | 
	
		
			
				|  |  | 			request.setConfig(requestConfig);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 			response = httpclient.execute(request);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 			re.setStatusCode(response.getStatusLine().getStatusCode());
 | 
	
		
			
				|  |  | 			re.setBody(EntityUtils.toString(response.getEntity(), "UTF-8"));
 | 
	
		
			
				|  |  | 		} catch (Exception e) {
 | 
	
		
			
				|  |  | 			re.setStatusCode(201);
 | 
	
		
			
				|  |  | 			re.setBody(e.getMessage());
 | 
	
		
			
				|  |  | 		} finally {
 | 
	
		
			
				|  |  | 			close(httpclient, response);
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		return re;
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	private static void close(CloseableHttpClient httpClient, CloseableHttpResponse response) {
 | 
	
		
			
				|  |  | 		try {
 | 
	
		
			
				|  |  | 			if (httpClient != null) {
 | 
	
		
			
				|  |  | 				httpClient.close();
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		} catch (Exception e) {
 | 
	
		
			
				|  |  | 			System.out.print("关闭httpClient失败");
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		try {
 | 
	
		
			
				|  |  | 			if (response != null) {
 | 
	
		
			
				|  |  | 				response.close();
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 		} catch (Exception e) {
 | 
	
		
			
				|  |  | 			System.out.print("关闭response失败");
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | }
 |