[*] 会议
This commit is contained in:
@@ -39,6 +39,9 @@ public class Meeting {
|
||||
*/
|
||||
public void addSn(String sn) {
|
||||
synchronized (this.sns) {
|
||||
if(this.sns.contains(sn)) {
|
||||
return;
|
||||
}
|
||||
this.sns.add(sn);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.meeting.Meeting;
|
||||
import com.acgist.taoyao.meeting.MeetingManager;
|
||||
import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.client.ClientSessionManager;
|
||||
import com.acgist.taoyao.signal.event.meeting.MeetingCreateEvent;
|
||||
import com.acgist.taoyao.signal.listener.ApplicationListenerAdapter;
|
||||
|
||||
@@ -23,8 +22,6 @@ public class MeetingCreateListener extends ApplicationListenerAdapter<MeetingCre
|
||||
|
||||
@Autowired
|
||||
private MeetingManager meetingManager;
|
||||
@Autowired
|
||||
private ClientSessionManager clientSessionManager;
|
||||
|
||||
@Override
|
||||
public void onApplicationEvent(MeetingCreateEvent event) {
|
||||
@@ -32,7 +29,6 @@ public class MeetingCreateListener extends ApplicationListenerAdapter<MeetingCre
|
||||
final Meeting meeting = this.meetingManager.create(session.sn());
|
||||
final Message message = event.getMessage();
|
||||
message.setBody(Map.of("id", meeting.getId()));
|
||||
// 广播:不改ID触发创建终端事件回调
|
||||
this.clientSessionManager.broadcast(message);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.acgist.taoyao.meeting.listener;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.meeting.Meeting;
|
||||
import com.acgist.taoyao.meeting.MeetingManager;
|
||||
import com.acgist.taoyao.signal.client.ClientSession;
|
||||
import com.acgist.taoyao.signal.event.meeting.MeetingEnterEvent;
|
||||
import com.acgist.taoyao.signal.listener.ApplicationListenerAdapter;
|
||||
|
||||
/**
|
||||
* 进入会议监听
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Component
|
||||
public class MeetingEnterListener extends ApplicationListenerAdapter<MeetingEnterEvent> {
|
||||
|
||||
@Autowired
|
||||
private MeetingManager meetingManager;
|
||||
|
||||
@Override
|
||||
public void onApplicationEvent(MeetingEnterEvent event) {
|
||||
final Map<?, ?> body = event.getBody();
|
||||
final ClientSession session = event.getSession();
|
||||
final String sn = session.sn();
|
||||
final String id = (String) body.get("id");
|
||||
final Meeting meeting = this.meetingManager.meeting(id);
|
||||
meeting.addSn(sn);
|
||||
final Message message = event.getMessage();
|
||||
message.setBody(Map.of(
|
||||
"id", meeting.getId(),
|
||||
"sn", sn
|
||||
));
|
||||
this.clientSessionManager.broadcast(sn, message);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user