|
@ -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("获取议题失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|