|  | @ -0,0 +1,221 @@
 | 
	
		
			
				|  |  | package com.yihu.wlyy.statistics.util;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import org.json.JSONObject;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by 卓 on 2017/1/13.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | public class ImUtill {
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 发送消息给IM
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param from        来自
 | 
	
		
			
				|  |  |      * @param contentType 1文字 2图片消息
 | 
	
		
			
				|  |  |      * @param content     内容
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static String sendImMsg(String baseUrl,String from,String fromName, String sessionId, String contentType, String content,String businessType) {
 | 
	
		
			
				|  |  |         String imAddr = baseUrl + "/api/v2/sessions/"+sessionId+"/messages";
 | 
	
		
			
				|  |  |         JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |         params.put("sender_id", from);
 | 
	
		
			
				|  |  |         params.put("sender_name", fromName);
 | 
	
		
			
				|  |  |         params.put("content_type", contentType);
 | 
	
		
			
				|  |  |         params.put("content", content);
 | 
	
		
			
				|  |  |         params.put("session_id", sessionId);
 | 
	
		
			
				|  |  |         params.put("business_type", businessType);
 | 
	
		
			
				|  |  |         String response = HttpClientUtil.postBody(imAddr, params);
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 发送消息给IM
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param from        来自
 | 
	
		
			
				|  |  |      * @param contentType 1文字 2图片消息
 | 
	
		
			
				|  |  |      * @param content     内容
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static String sendTopicIM(String baseUrl,String from,String fromName, String topicId, String contentType, String content) {
 | 
	
		
			
				|  |  |         String url = baseUrl+ ("api/v2/sessions/topic/"+topicId+"/messages");
 | 
	
		
			
				|  |  |         JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |         params.put("sender_id", from);
 | 
	
		
			
				|  |  |         params.put("sender_name", fromName);
 | 
	
		
			
				|  |  |         params.put("content_type", contentType);
 | 
	
		
			
				|  |  |         params.put("content", content);
 | 
	
		
			
				|  |  |         params.put("topic_id", topicId);;
 | 
	
		
			
				|  |  |         String response = HttpClientUtil.postBody(url, params);
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 结束议题
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param topicId  议题ID
 | 
	
		
			
				|  |  |      * @param endUser  结束人
 | 
	
		
			
				|  |  |      * @param endUserName 结束人名字
 | 
	
		
			
				|  |  |      * @param sessionId 会话ID
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static JSONObject endTopics(String baseUrl,String sessionId,String endUser, String endUserName,String topicId) {
 | 
	
		
			
				|  |  |         String imAddr = baseUrl + "api/v2/sessions/"+sessionId+"/topics/"+topicId+"/ended";
 | 
	
		
			
				|  |  |         JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |         params.put("session_id", sessionId);
 | 
	
		
			
				|  |  |         params.put("end_user", endUser);
 | 
	
		
			
				|  |  |         params.put("end_user_name",endUserName);
 | 
	
		
			
				|  |  |         params.put("topic_id", topicId);
 | 
	
		
			
				|  |  |         String ret = HttpClientUtil.postBody(imAddr,params);
 | 
	
		
			
				|  |  |         JSONObject obj  = null;
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             obj = new JSONObject(ret);
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return obj;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 议题邀请人员
 | 
	
		
			
				|  |  |      * @param user 结束人名字
 | 
	
		
			
				|  |  |      * @param sessionId 会话ID
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static void updateTopicUser(String baseUrl,String sessionId,String user) {
 | 
	
		
			
				|  |  |         String imAddr = baseUrl + "api/v2/sessions/"+sessionId+"/participants/"+user;
 | 
	
		
			
				|  |  |         JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |         params.put("user", user+":"+0);
 | 
	
		
			
				|  |  |         HttpClientUtil.putBody(imAddr,params);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 创建议题
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param topicId  议题ID
 | 
	
		
			
				|  |  |      * @param topicName  议题名称
 | 
	
		
			
				|  |  |      * @param participants 成员
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static JSONObject createTopics(String baseUrl,String sessionId, String topicId, String topicName, JSONObject participants, JSONObject messages, String sessionType) {
 | 
	
		
			
				|  |  |         String imAddr = baseUrl + "api/v2/sessions/"+topicId+"/topics";
 | 
	
		
			
				|  |  |         JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |         params.put("topic_id", topicId);
 | 
	
		
			
				|  |  |         params.put("topic_name", topicName);
 | 
	
		
			
				|  |  |         params.put("participants", participants.toString());
 | 
	
		
			
				|  |  |         params.put("messages", messages.toString());
 | 
	
		
			
				|  |  |         params.put("session_id", sessionId);
 | 
	
		
			
				|  |  |         params.put("session_type", sessionType);
 | 
	
		
			
				|  |  |         String ret = HttpClientUtil.postBody(imAddr,params);
 | 
	
		
			
				|  |  |         JSONObject obj  = null;
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             obj = new JSONObject(ret);
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return obj;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 创建会话(system)
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static JSONObject createSession(String baseUrl,JSONObject participants,String sessionType,String sessionName,String sessionId) {
 | 
	
		
			
				|  |  |         String imAddr = baseUrl + "api/v2/sessions";
 | 
	
		
			
				|  |  |         JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |         params.put("participants", participants.toString());
 | 
	
		
			
				|  |  |         params.put("session_name", sessionName);
 | 
	
		
			
				|  |  |         params.put("session_type", sessionType);
 | 
	
		
			
				|  |  |         params.put("session_id", sessionId);
 | 
	
		
			
				|  |  |         String ret = HttpClientUtil.postBody(imAddr,params);
 | 
	
		
			
				|  |  |         JSONObject obj  = null;
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             obj = new JSONObject(ret);
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return obj;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取会话实例的消息对象
 | 
	
		
			
				|  |  |      * @param senderId
 | 
	
		
			
				|  |  |      * @param senderName
 | 
	
		
			
				|  |  |      * @param title
 | 
	
		
			
				|  |  |      * @param description
 | 
	
		
			
				|  |  |      * @param images
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static JSONObject getCreateTopicMessage(String senderId,String senderName,String title,String description,String images){
 | 
	
		
			
				|  |  |         JSONObject messages = new JSONObject();
 | 
	
		
			
				|  |  |         messages.put("description",description);
 | 
	
		
			
				|  |  |         messages.put("title",title);
 | 
	
		
			
				|  |  |         messages.put("img",images);
 | 
	
		
			
				|  |  |         messages.put("sender_id",senderId);
 | 
	
		
			
				|  |  |         messages.put("sender_name",senderName);
 | 
	
		
			
				|  |  |         return messages;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public static JSONObject getTopicMessage(String baseUrl,String topicId,String startMsgId,String endMsgId,int page,int pagesize,String uid){
 | 
	
		
			
				|  |  |         String url = baseUrl
 | 
	
		
			
				|  |  |                 + "api/v2/sessions/topic/"+topicId+"/messages?topic_id="+topicId+"&end="+startMsgId
 | 
	
		
			
				|  |  |                 +"&start="+(endMsgId==null?"":endMsgId)+"&page="+page+"&pagesize="+pagesize+"&user="+uid;
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             String ret = HttpClientUtil.get(url, "UTF-8");
 | 
	
		
			
				|  |  |             JSONObject obj = new JSONObject(ret);
 | 
	
		
			
				|  |  |             if(obj.getInt("status")==-1){
 | 
	
		
			
				|  |  |                 throw new RuntimeException(obj.getString("message"));
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 return  obj.getJSONObject("data");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             return null;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 删除对应的成员信息在MUC模式中
 | 
	
		
			
				|  |  |      * @param userId
 | 
	
		
			
				|  |  |      * @param oldUserId
 | 
	
		
			
				|  |  |      * @param sessionId
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static JSONObject deleteMucUser(String baseUrl,String userId,String oldUserId,String sessionId) throws  Exception{
 | 
	
		
			
				|  |  |         String url = baseUrl
 | 
	
		
			
				|  |  |                 + "api/v2/sessions/"+sessionId+"/participant/update";
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             JSONObject params = new JSONObject();
 | 
	
		
			
				|  |  |             params.put("user_id", userId);
 | 
	
		
			
				|  |  |             params.put("old_user_id", oldUserId);
 | 
	
		
			
				|  |  |             params.put("session_id", sessionId);
 | 
	
		
			
				|  |  |             String ret = HttpClientUtil.postBody(url,params);
 | 
	
		
			
				|  |  |             JSONObject obj = new JSONObject(ret);
 | 
	
		
			
				|  |  |             if(obj.getInt("status")==-1){
 | 
	
		
			
				|  |  |                 throw new RuntimeException("人员更换失败!");
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 return obj;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |            throw new RuntimeException("人员更换失败!");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取议题
 | 
	
		
			
				|  |  |      * @param topicId
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static JSONObject getTopic(String baseUrl,String topicId) throws  Exception{
 | 
	
		
			
				|  |  |         String url =baseUrl
 | 
	
		
			
				|  |  |                 + "api/v2/sessions/topics/"+topicId+"?topic_id="+topicId;
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             String ret = HttpClientUtil.get(url,"utf-8");
 | 
	
		
			
				|  |  |             JSONObject obj = new JSONObject(ret);
 | 
	
		
			
				|  |  |             if(obj.getInt("status")==-1){
 | 
	
		
			
				|  |  |                 throw new RuntimeException("获取议题失败!");
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 return obj;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             throw new RuntimeException("获取议题失败!");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |