Skip to content

Commit 20a6263

Browse files
DevDengChaoCopilot
andauthored
feat: 新增删除房间 api (#4)
* Initial plan * Add deleteRoom v2/v3 interfaces implementation Co-authored-by: DevDengChao <16363180+DevDengChao@users.noreply.github.com> * Update author comment in RtcDeleteRoomRequestV2 * Update author information in RtcDeleteRoomRequestV3 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: DevDengChao <16363180+DevDengChao@users.noreply.github.com>
1 parent be47d15 commit 20a6263

File tree

6 files changed

+116
-0
lines changed

6 files changed

+116
-0
lines changed

src/main/java/com/netease/nim/server/sdk/rtc/room/IRtcRoomService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.netease.nim.server.sdk.rtc.room.request.*;
55
import com.netease.nim.server.sdk.rtc.room.response.RtcAddMemberToKicklistResponse;
66
import com.netease.nim.server.sdk.rtc.room.response.RtcCreateRoomResponse;
7+
import com.netease.nim.server.sdk.rtc.room.response.RtcDeleteRoomResponse;
78
import com.netease.nim.server.sdk.rtc.room.response.RtcGetRoomResponse;
89
import com.netease.nim.server.sdk.rtc.room.response.RtcListRoomMembersResponse;
910
import com.netease.nim.server.sdk.rtc.room.response.RtcMemberRightChangeResponse;
@@ -30,4 +31,8 @@ public interface IRtcRoomService {
3031
RtcResult<RtcMemberRightChangeResponse> memberRightChangeV2(RtcMemberRightChangeRequestV2 request);
3132

3233
RtcResult<RtcMemberRightChangeResponse> memberRightChangeV3(RtcMemberRightChangeRequestV3 request);
34+
35+
RtcResult<RtcDeleteRoomResponse> deleteRoomV2(RtcDeleteRoomRequestV2 request);
36+
37+
RtcResult<RtcDeleteRoomResponse> deleteRoomV3(RtcDeleteRoomRequestV3 request);
3338
}

src/main/java/com/netease/nim/server/sdk/rtc/room/RtcRoomService.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.netease.nim.server.sdk.rtc.room.request.*;
99
import com.netease.nim.server.sdk.rtc.room.response.RtcAddMemberToKicklistResponse;
1010
import com.netease.nim.server.sdk.rtc.room.response.RtcCreateRoomResponse;
11+
import com.netease.nim.server.sdk.rtc.room.response.RtcDeleteRoomResponse;
1112
import com.netease.nim.server.sdk.rtc.room.response.RtcGetRoomResponse;
1213
import com.netease.nim.server.sdk.rtc.room.response.RtcListRoomMembersResponse;
1314
import com.netease.nim.server.sdk.rtc.room.response.RtcMemberRightChangeResponse;
@@ -240,4 +241,45 @@ public RtcResult<RtcMemberRightChangeResponse> memberRightChangeV3(RtcMemberRigh
240241
}
241242
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, memberRightChangeResponse);
242243
}
244+
245+
@Override
246+
public RtcResult<RtcDeleteRoomResponse> deleteRoomV2(RtcDeleteRoomRequestV2 request) {
247+
String path = RtcRoomUrlContext.DELETE_ROOM_V2.replace("{cid}", String.valueOf(request.getCid()));
248+
YunxinApiResponse response = httpClient.executeJson(HttpMethod.DELETE, RtcRoomUrlContext.DELETE_ROOM_V2, path, null, null);
249+
int httpCode = response.getHttpCode();
250+
int code = 0;
251+
String requestId = null;
252+
String msg;
253+
RtcDeleteRoomResponse deleteRoomResponse = null;
254+
try {
255+
deleteRoomResponse = JSONObject.parseObject(response.getData(), RtcDeleteRoomResponse.class);
256+
code = deleteRoomResponse.getCode();
257+
requestId = deleteRoomResponse.getRequestId();
258+
msg = deleteRoomResponse.getErrmsg();
259+
} catch (Exception e) {
260+
msg = response.getData();
261+
}
262+
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, deleteRoomResponse);
263+
}
264+
265+
@Override
266+
public RtcResult<RtcDeleteRoomResponse> deleteRoomV3(RtcDeleteRoomRequestV3 request) {
267+
Map<String, String> queryString = new HashMap<>();
268+
queryString.put("cname", request.getCname());
269+
YunxinApiResponse response = httpClient.executeJson(HttpMethod.DELETE, RtcRoomUrlContext.DELETE_ROOM_V3, queryString, null);
270+
int httpCode = response.getHttpCode();
271+
int code = 0;
272+
String requestId = null;
273+
String msg;
274+
RtcDeleteRoomResponse deleteRoomResponse = null;
275+
try {
276+
deleteRoomResponse = JSONObject.parseObject(response.getData(), RtcDeleteRoomResponse.class);
277+
code = deleteRoomResponse.getCode();
278+
requestId = deleteRoomResponse.getRequestId();
279+
msg = deleteRoomResponse.getErrmsg();
280+
} catch (Exception e) {
281+
msg = response.getData();
282+
}
283+
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, deleteRoomResponse);
284+
}
243285
}

src/main/java/com/netease/nim/server/sdk/rtc/room/RtcRoomUrlContext.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,8 @@ public class RtcRoomUrlContext {
2424
static final String MEMBER_RIGHT_CHANGE_V2 = "/v2/api/right/change";
2525

2626
static final String MEMBER_RIGHT_CHANGE_V3 = "/v3/api/right/change";
27+
28+
static final String DELETE_ROOM_V2 = "/v2/api/rooms/{cid}";
29+
30+
static final String DELETE_ROOM_V3 = "/v3/api/rooms";
2731
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.netease.nim.server.sdk.rtc.room.request;
2+
3+
/**
4+
* Created by DevDengChao on 2026/01/20
5+
*/
6+
public class RtcDeleteRoomRequestV2 {
7+
8+
private Long cid;
9+
10+
public Long getCid() {
11+
return cid;
12+
}
13+
14+
public void setCid(Long cid) {
15+
this.cid = cid;
16+
}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.netease.nim.server.sdk.rtc.room.request;
2+
3+
/**
4+
* Created by DevDengChao on 2026/01/20
5+
*/
6+
public class RtcDeleteRoomRequestV3 {
7+
8+
private String cname;
9+
10+
public String getCname() {
11+
return cname;
12+
}
13+
14+
public void setCname(String cname) {
15+
this.cname = cname;
16+
}
17+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.netease.nim.server.sdk.rtc.room.response;
2+
3+
public class RtcDeleteRoomResponse {
4+
private int code;
5+
private String requestId;
6+
private String errmsg;
7+
8+
public int getCode() {
9+
return code;
10+
}
11+
12+
public void setCode(int code) {
13+
this.code = code;
14+
}
15+
16+
public String getRequestId() {
17+
return requestId;
18+
}
19+
20+
public void setRequestId(String requestId) {
21+
this.requestId = requestId;
22+
}
23+
24+
public String getErrmsg() {
25+
return errmsg;
26+
}
27+
28+
public void setErrmsg(String errmsg) {
29+
this.errmsg = errmsg;
30+
}
31+
}

0 commit comments

Comments
 (0)