Commit 1d0b0fdb by Future

sdk提供

parent 091707e7
......@@ -293,7 +293,7 @@ public class ConversationAction {
* @return
*/
@ActionMapping("/listConversation")
@ApiOperation(value = "查找会话信息", notes = "会话")
@ApiOperation(value = "批量查找会话信息", notes = "会话")
public WsResponse<List<ConversationVo>> listConversation(ListConversationParam data) {
List<ConversationVo> conversationList = imConversationService.listConversation(data);
return WsResponse.ok(conversationList);
......
package com.wecloud.im.controller;
import com.alibaba.fastjson.JSON;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.ChatRoomMemberPageParam;
import com.wecloud.im.param.DisbandConversationParam;
import com.wecloud.im.param.ExitChatRoomParam;
......@@ -258,8 +257,8 @@ public class ImConversationController extends BaseController {
* 查找会话信息
* @return
*/
@ActionMapping("/listConversation")
@ApiOperation(value = "查找会话信息", notes = "会话")
@PostMapping("/listConversation")
@ApiOperation(value = "批量查找会话信息", notes = "会话")
public ApiResult<List<ConversationVo>> listConversation(ListConversationParam param) {
List<ConversationVo> conversationList = imConversationService.listConversation(param);
return ApiResult.ok(conversationList);
......
......@@ -51,5 +51,10 @@ public class ResourcePathConstants {
*/
public static final String GROUP_MEMBERS_FRIEND_REQUEST = "/api/imConversationMembers/addUser";
/**
* 群成员互加好友
*/
public static final String LIST_CONVERSATION_REQUEST = "/api/conversation/listConversation";
}
......@@ -2,6 +2,7 @@ package com.wecloud.im.sdk;
import java.util.List;
import com.wecloud.im.sdk.model.Conversation;
import com.wecloud.im.sdk.model.Friend;
import com.wecloud.im.sdk.model.ImClient;
import com.wecloud.im.sdk.model.Token;
......@@ -111,4 +112,12 @@ public interface WecloudIm {
*/
Boolean groupMembersFriendRequest(Long conversationId, String userId, String friendId, String friendName,
String requestRemark);
/**
* 获取会话信息
* @param chatType
* @param conversationIds
* @return
*/
List<Conversation> listConversation(Integer chatType, List<Long> conversationIds);
}
......@@ -6,12 +6,14 @@ import java.util.List;
import com.wecloud.im.sdk.internal.WecloudImClientOperation;
import com.wecloud.im.sdk.internal.WecloudImConversationOperation;
import com.wecloud.im.sdk.model.ClientLoginRequest;
import com.wecloud.im.sdk.model.Conversation;
import com.wecloud.im.sdk.model.Friend;
import com.wecloud.im.sdk.model.FriendRequestRequest;
import com.wecloud.im.sdk.model.GetFriendsRequest;
import com.wecloud.im.sdk.model.GetUnsureFriendsRequest;
import com.wecloud.im.sdk.model.GroupMembersFriendRequestRequest;
import com.wecloud.im.sdk.model.ImClient;
import com.wecloud.im.sdk.model.ListConversationRequest;
import com.wecloud.im.sdk.model.ModifyUserRequest;
import com.wecloud.im.sdk.model.RegisterClientRequest;
import com.wecloud.im.sdk.model.SetConversationDoNotDisturbRequest;
......@@ -112,6 +114,13 @@ public class WecloudImClient implements WecloudIm {
}
@Override
public List<Conversation> listConversation(Integer chatType, List<Long> conversationIds) {
ListConversationRequest request = ListConversationRequest.builder().chatType(chatType)
.conversationIds(conversationIds).build();
return imClientOperation.listConversation(request);
}
@Override
public Boolean setConversationTop(String userId, Long conversationId, Boolean top) {
SetConversationTopRequest setConversationTopRequest =
SetConversationTopRequest.builder().userId(userId).conversationId(conversationId).top(top).build();
......
package com.wecloud.im.sdk.internal;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.wecloud.im.sdk.common.HttpMethod;
import com.wecloud.im.sdk.common.RequestMessage;
import com.wecloud.im.sdk.model.ClientLoginRequest;
import com.wecloud.im.sdk.model.Conversation;
import com.wecloud.im.sdk.model.Friend;
import com.wecloud.im.sdk.model.FriendRequestRequest;
import com.wecloud.im.sdk.model.GetFriendsRequest;
import com.wecloud.im.sdk.model.GetUnsureFriendsRequest;
import com.wecloud.im.sdk.model.ImClient;
import com.wecloud.im.sdk.model.ListConversationRequest;
import com.wecloud.im.sdk.model.ModifyUserRequest;
import com.wecloud.im.sdk.model.RegisterClientRequest;
import com.wecloud.im.sdk.model.Token;
import com.wecloud.im.sdk.model.UnsureFriend;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import static com.wecloud.im.sdk.ResourcePathConstants.FRIEND_REQUEST;
import static com.wecloud.im.sdk.ResourcePathConstants.GET_FRIENDS;
import static com.wecloud.im.sdk.ResourcePathConstants.GET_TOKEN_URL;
import static com.wecloud.im.sdk.ResourcePathConstants.GET_UNSURE_FRIENDS;
import static com.wecloud.im.sdk.ResourcePathConstants.LIST_CONVERSATION_REQUEST;
import static com.wecloud.im.sdk.ResourcePathConstants.MODIFY_USER_URL;
import static com.wecloud.im.sdk.ResourcePathConstants.REGISTER_CLIENT_URL;
import static com.wecloud.im.sdk.utils.CodingUtils.assertParameterNotBlank;
......@@ -205,4 +208,24 @@ public class WecloudImClientOperation extends WecloudImOperation {
Boolean flag = JSON.parseObject(JSON.toJSONString(result), Boolean.class);
return flag;
}
public List<Conversation> listConversation(ListConversationRequest listConversationRequest) {
// 参数校验
assertParameterNotNull(listConversationRequest.getConversationIds(), "conversationIds");
// 校验通过 构建参数
Map<String, String> param = new HashMap<>();
param.put("chatType", listConversationRequest.getChatType() + "");
param.put("conversationIds", JSON.toJSONString(listConversationRequest.getConversationIds()));
// 发送请求
RequestMessage request = new WecloudRequestMessageBuilder().setEndpoint(LIST_CONVERSATION_REQUEST)
.setMethod(HttpMethod.POST).setParameters(param)
.setOriginalRequest(listConversationRequest).build();
Object result = doOperation(request);
TypeReference<List<Conversation>> typeReference = new TypeReference<List<Conversation>>() {
};
List<Conversation> conversations = JSON.parseObject(JSON.toJSONString(result), typeReference);
return conversations;
}
}
package com.wecloud.im.sdk.model;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
/**
* <pre>
* 会话表 查询结果对象
* </pre>
*
* @author wei
* @date 2021-05-07
*/
@Data
@Accessors(chain = true)
public class Conversation implements Serializable {
private static final long serialVersionUID = 8120459168840854991L;
/**
* "会话id"
*/
private Long id;
/**
* "创建时间"
*/
private Date createTime;
/**
* "创建者客户端id"
*/
private String creator;
/**
* "可选 对话的名字,可为群组命名。"
*/
private String name;
/**
* value = "可选 自定义属性,供开发者扩展使用。", hidden = true
*/
private String attribute;
/**
* "可选 自定义属性,供开发者扩展使用。"
*/
private HashMap attributes;
/**
* "可选 对话类型标志,是否是系统对话,后面会说明。"
*/
private Boolean systemFlag;
/**
* "未读消息条数"
*/
private Long msgNotReadCount;
/**
* "成员"
*/
private String members;
/**
* "会话属性,1:单聊,2:普通群,3:万人群"
*/
private Integer chatType;
/**
* "群成员数"
*/
private Integer memberCount;
/**
* "是否被@ true-是 false-否"
*/
private Boolean isBeAt;
/**
* 禁言开关
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
/**
* "禁言开关 1-未禁言 2-禁言"
*/
private Integer muted;
/**
* "禁言开关 1-未禁言 2-禁言"
*/
private Integer beAtCount;
/**
* "禁止互加好友"
*/
private Boolean forbidAddFriend;
/**
* "禁止发红包"
*/
private Boolean forbidSendRedPackets;
/**
* "禁止发图片"
*/
private Boolean forbidSendPic;
/**
* "禁止发链接"
*/
private Boolean forbidSendLink;
}
package com.wecloud.im.sdk.model;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* @Author wenzhida
* @Date 2022/5/1 9:35
* @Description 查找聊天室入参
*/
@EqualsAndHashCode(callSuper = true)
@Builder
@Data
public class ListConversationRequest extends WebServiceRequest {
private static final long serialVersionUID = -3602523207000275557L;
/**
* 会话属性,1:单聊,2:普通群,3:万人群
*/
private Integer chatType;
/**
* 会话id列表
*/
private List<Long> conversationIds;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment