Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.netease.nim.server.sdk.rtc.RtcResult;
import com.netease.nim.server.sdk.rtc.room.request.*;
import com.netease.nim.server.sdk.rtc.room.response.RtcAddMemberToKicklistResponse;
import com.netease.nim.server.sdk.rtc.room.response.RtcCreateRoomResponse;
import com.netease.nim.server.sdk.rtc.room.response.RtcGetRoomResponse;
import com.netease.nim.server.sdk.rtc.room.response.RtcListRoomMembersResponse;
Expand All @@ -20,4 +21,8 @@ public interface IRtcRoomService {
RtcResult<RtcListRoomMembersResponse> listRoomMembersV2(RtcListRoomMembersRequestV2 request);

RtcResult<RtcListRoomMembersResponse> listRoomMembersV3(RtcListRoomMembersRequestV3 request);

RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV2(RtcAddMemberToKicklistRequestV2 request);

RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV3(RtcAddMemberToKicklistRequestV3 request);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.netease.nim.server.sdk.core.http.HttpMethod;
import com.netease.nim.server.sdk.rtc.RtcResult;
import com.netease.nim.server.sdk.rtc.room.request.*;
import com.netease.nim.server.sdk.rtc.room.response.RtcAddMemberToKicklistResponse;
import com.netease.nim.server.sdk.rtc.room.response.RtcCreateRoomResponse;
import com.netease.nim.server.sdk.rtc.room.response.RtcGetRoomResponse;
import com.netease.nim.server.sdk.rtc.room.response.RtcListRoomMembersResponse;
Expand Down Expand Up @@ -143,4 +144,57 @@ public RtcResult<RtcListRoomMembersResponse> listRoomMembersV3(RtcListRoomMember
}
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, listRoomMembersResponse);
}

@Override
public RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV2(RtcAddMemberToKicklistRequestV2 request) {
boolean hasDuration = request.getDuration() == null;
String uri = hasDuration ? RtcRoomUrlContext.ADD_MEMBER_TO_KICKLIST_V2 : RtcRoomUrlContext.ADD_MEMBER_TO_KICKLIST_V2_WITH_DURATION;
String path = uri.replace("{cid}", String.valueOf(request.getCid()))
.replace("{uid}", String.valueOf(request.getUid()));
if (hasDuration) {
path = path.replace("{duration}", String.valueOf(request.getDuration()));
}
YunxinApiResponse response = httpClient.executeJson(HttpMethod.POST, uri, path, null, null);
int httpCode = response.getHttpCode();
int code = 0;
String requestId = null;
String msg;
RtcAddMemberToKicklistResponse addMemberToKicklistResponse = null;
try {
addMemberToKicklistResponse = JSONObject.parseObject(response.getData(), RtcAddMemberToKicklistResponse.class);
code = addMemberToKicklistResponse.getCode();
requestId = addMemberToKicklistResponse.getRequestId();
msg = addMemberToKicklistResponse.getErrmsg();
} catch (Exception e) {
msg = response.getData();
}
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, addMemberToKicklistResponse);
}

@Override
public RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV3(RtcAddMemberToKicklistRequestV3 request) {
Map<String, String> queryString = new HashMap<>();
queryString.put("cname", request.getCname());
Number uid = request.getUid();
queryString.put("uid", uid.toString());
Number duration = request.getDuration();
if (duration != null) {
queryString.put("duration", duration.toString());
}
YunxinApiResponse response = httpClient.executeJson(HttpMethod.POST, RtcRoomUrlContext.ADD_MEMBER_TO_KICKLIST_V3, queryString, null);
int httpCode = response.getHttpCode();
int code = 0;
String requestId = null;
String msg;
RtcAddMemberToKicklistResponse addMemberToKicklistResponse = null;
try {
addMemberToKicklistResponse = JSONObject.parseObject(response.getData(), RtcAddMemberToKicklistResponse.class);
code = addMemberToKicklistResponse.getCode();
requestId = addMemberToKicklistResponse.getRequestId();
msg = addMemberToKicklistResponse.getErrmsg();
} catch (Exception e) {
msg = response.getData();
}
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, addMemberToKicklistResponse);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,10 @@ public class RtcRoomUrlContext {
static final String LIST_MEMBERS_V2 = "/v2/api/rooms/{cid}/members";

static final String LIST_MEMBERS_V3 = "/v3/api/rooms/members";

static final String ADD_MEMBER_TO_KICKLIST_V2 = "/v2/api/kicklist/{cid}/members/{uid}";

static final String ADD_MEMBER_TO_KICKLIST_V2_WITH_DURATION = "/v2/api/kicklist/{cid}/members/{uid}/{duration}";

static final String ADD_MEMBER_TO_KICKLIST_V3 = "/v3/api/kicklist/members";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.netease.nim.server.sdk.rtc.room.request;
/**
* Created by DevDengChao on 2025/11/12
*
* See https://doc.yunxin.163.com/nertc/server-apis/TA5MTExNjg?platform=server
*/
public class RtcAddMemberToKicklistRequestV2 {
private Long cid;
private Number uid;
private Number duration;

public Long getCid() {
return cid;
}

public void setCid(Long cid) {
this.cid = cid;
}

public Number getUid() {
return uid;
}

public void setUid(Number uid) {
this.uid = uid;
}

public Number getDuration() {
return duration;
}

public void setDuration(Number duration) {
this.duration = duration;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.netease.nim.server.sdk.rtc.room.request;
/**
* Created by DevDengChao on 2025/11/12
*
* See https://doc.yunxin.163.com/nertc/server-apis/TA5MTExNjg?platform=server
*/
public class RtcAddMemberToKicklistRequestV3 {
private String cname;
private Number uid;
private Number duration;

public String getCname() {
return cname;
}

public void setCname(String cname) {
this.cname = cname;
}

public Number getUid() {
return uid;
}

public void setUid(Number uid) {
this.uid = uid;
}

public Number getDuration() {
return duration;
}

public void setDuration(Number duration) {
this.duration = duration;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.netease.nim.server.sdk.rtc.room.response;

public class RtcAddMemberToKicklistResponse {
private int code;
private String requestId ;
private String errmsg;

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getRequestId() {
return requestId;
}

public void setRequestId(String requestId) {
this.requestId = requestId;
}

public String getErrmsg() {
return errmsg;
}

public void setErrmsg(String errmsg) {
this.errmsg = errmsg;
}
}
Loading