Skip to content

Commit 3398e14

Browse files
CopilotDevDengChao
andauthored
Add room member rights management v2/v3 interfaces to IRtcRoomService
根据文档 https://doc.yunxin.163.com/nertc/server-apis/TM3MzM4MzM?platform=server 补充接口 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 d77ec49 commit 3398e14

File tree

6 files changed

+207
-0
lines changed

6 files changed

+207
-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
@@ -6,6 +6,7 @@
66
import com.netease.nim.server.sdk.rtc.room.response.RtcCreateRoomResponse;
77
import com.netease.nim.server.sdk.rtc.room.response.RtcGetRoomResponse;
88
import com.netease.nim.server.sdk.rtc.room.response.RtcListRoomMembersResponse;
9+
import com.netease.nim.server.sdk.rtc.room.response.RtcMemberRightChangeResponse;
910

1011
/**
1112
* Created by caojiajun on 2025/6/12
@@ -25,4 +26,8 @@ public interface IRtcRoomService {
2526
RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV2(RtcAddMemberToKicklistRequestV2 request);
2627

2728
RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV3(RtcAddMemberToKicklistRequestV3 request);
29+
30+
RtcResult<RtcMemberRightChangeResponse> memberRightChangeV2(RtcMemberRightChangeRequestV2 request);
31+
32+
RtcResult<RtcMemberRightChangeResponse> memberRightChangeV3(RtcMemberRightChangeRequestV3 request);
2833
}

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

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.netease.nim.server.sdk.rtc.room.response.RtcCreateRoomResponse;
1111
import com.netease.nim.server.sdk.rtc.room.response.RtcGetRoomResponse;
1212
import com.netease.nim.server.sdk.rtc.room.response.RtcListRoomMembersResponse;
13+
import com.netease.nim.server.sdk.rtc.room.response.RtcMemberRightChangeResponse;
1314

1415
import java.util.HashMap;
1516
import java.util.Map;
@@ -197,4 +198,46 @@ public RtcResult<RtcAddMemberToKicklistResponse> addMemberToKicklistV3(RtcAddMem
197198
}
198199
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, addMemberToKicklistResponse);
199200
}
201+
202+
@Override
203+
public RtcResult<RtcMemberRightChangeResponse> memberRightChangeV2(RtcMemberRightChangeRequestV2 request) {
204+
String body = JSONObject.toJSONString(request);
205+
YunxinApiResponse response = httpClient.executeJson(HttpMethod.POST, RtcRoomUrlContext.MEMBER_RIGHT_CHANGE_V2, null, body);
206+
int httpCode = response.getHttpCode();
207+
int code = 0;
208+
String requestId = null;
209+
String msg;
210+
RtcMemberRightChangeResponse memberRightChangeResponse = null;
211+
try {
212+
memberRightChangeResponse = JSONObject.parseObject(response.getData(), RtcMemberRightChangeResponse.class);
213+
code = memberRightChangeResponse.getCode();
214+
requestId = memberRightChangeResponse.getRequestId();
215+
msg = memberRightChangeResponse.getErrmsg();
216+
} catch (Exception e) {
217+
msg = response.getData();
218+
}
219+
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, memberRightChangeResponse);
220+
}
221+
222+
@Override
223+
public RtcResult<RtcMemberRightChangeResponse> memberRightChangeV3(RtcMemberRightChangeRequestV3 request) {
224+
Map<String, String> queryString = new HashMap<>();
225+
queryString.put("cname", request.getCname());
226+
String body = JSONObject.toJSONString(request);
227+
YunxinApiResponse response = httpClient.executeJson(HttpMethod.POST, RtcRoomUrlContext.MEMBER_RIGHT_CHANGE_V3, queryString, body);
228+
int httpCode = response.getHttpCode();
229+
int code = 0;
230+
String requestId = null;
231+
String msg;
232+
RtcMemberRightChangeResponse memberRightChangeResponse = null;
233+
try {
234+
memberRightChangeResponse = JSONObject.parseObject(response.getData(), RtcMemberRightChangeResponse.class);
235+
code = memberRightChangeResponse.getCode();
236+
requestId = memberRightChangeResponse.getRequestId();
237+
msg = memberRightChangeResponse.getErrmsg();
238+
} catch (Exception e) {
239+
msg = response.getData();
240+
}
241+
return new RtcResult<>(response.getEndpoint(), code, httpCode, requestId, response.getTraceId(), msg, memberRightChangeResponse);
242+
}
200243
}

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
@@ -20,4 +20,8 @@ public class RtcRoomUrlContext {
2020
static final String ADD_MEMBER_TO_KICKLIST_V2_WITH_DURATION = "/v2/api/kicklist/{cid}/members/{uid}/{duration}";
2121

2222
static final String ADD_MEMBER_TO_KICKLIST_V3 = "/v3/api/kicklist/members";
23+
24+
static final String MEMBER_RIGHT_CHANGE_V2 = "/v2/api/right/change";
25+
26+
static final String MEMBER_RIGHT_CHANGE_V3 = "/v3/api/right/change";
2327
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.netease.nim.server.sdk.rtc.room.request;
2+
/**
3+
* Created by DevDengChao on 2025/01/14
4+
*
5+
* See https://doc.yunxin.163.com/nertc/server-apis/TM3MzM4MzM?platform=server
6+
*/
7+
public class RtcMemberRightChangeRequestV2 {
8+
private Number cid;
9+
private Number uid;
10+
private Number audioRight;
11+
private Number audioDuration;
12+
private Number videoRight;
13+
private Number videoDuration;
14+
15+
public Number getCid() {
16+
return cid;
17+
}
18+
19+
public void setCid(Number cid) {
20+
this.cid = cid;
21+
}
22+
23+
public Number getUid() {
24+
return uid;
25+
}
26+
27+
public void setUid(Number uid) {
28+
this.uid = uid;
29+
}
30+
31+
public Number getAudioRight() {
32+
return audioRight;
33+
}
34+
35+
public void setAudioRight(Number audioRight) {
36+
this.audioRight = audioRight;
37+
}
38+
39+
public Number getAudioDuration() {
40+
return audioDuration;
41+
}
42+
43+
public void setAudioDuration(Number audioDuration) {
44+
this.audioDuration = audioDuration;
45+
}
46+
47+
public Number getVideoRight() {
48+
return videoRight;
49+
}
50+
51+
public void setVideoRight(Number videoRight) {
52+
this.videoRight = videoRight;
53+
}
54+
55+
public Number getVideoDuration() {
56+
return videoDuration;
57+
}
58+
59+
public void setVideoDuration(Number videoDuration) {
60+
this.videoDuration = videoDuration;
61+
}
62+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.netease.nim.server.sdk.rtc.room.request;
2+
/**
3+
* Created by DevDengChao on 2025/01/14
4+
*
5+
* See https://doc.yunxin.163.com/nertc/server-apis/TM3MzM4MzM?platform=server
6+
*/
7+
public class RtcMemberRightChangeRequestV3 {
8+
private String cname;
9+
private Number uid;
10+
private Number audioRight;
11+
private Number audioDuration;
12+
private Number videoRight;
13+
private Number videoDuration;
14+
15+
public String getCname() {
16+
return cname;
17+
}
18+
19+
public void setCname(String cname) {
20+
this.cname = cname;
21+
}
22+
23+
public Number getUid() {
24+
return uid;
25+
}
26+
27+
public void setUid(Number uid) {
28+
this.uid = uid;
29+
}
30+
31+
public Number getAudioRight() {
32+
return audioRight;
33+
}
34+
35+
public void setAudioRight(Number audioRight) {
36+
this.audioRight = audioRight;
37+
}
38+
39+
public Number getAudioDuration() {
40+
return audioDuration;
41+
}
42+
43+
public void setAudioDuration(Number audioDuration) {
44+
this.audioDuration = audioDuration;
45+
}
46+
47+
public Number getVideoRight() {
48+
return videoRight;
49+
}
50+
51+
public void setVideoRight(Number videoRight) {
52+
this.videoRight = videoRight;
53+
}
54+
55+
public Number getVideoDuration() {
56+
return videoDuration;
57+
}
58+
59+
public void setVideoDuration(Number videoDuration) {
60+
this.videoDuration = videoDuration;
61+
}
62+
}
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 RtcMemberRightChangeResponse {
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)