|
|
@@ -95,6 +95,8 @@ public class EslEventListenerEvent implements IEslEventListener {
|
|
95
|
95
|
session.setVideo(isVideo);
|
|
96
|
96
|
session.setCreateTime(new Date());
|
|
97
|
97
|
EslCommon.sessions.add(session);
|
|
|
98
|
+ }else {
|
|
|
99
|
+ session.setActionId(session.getActionId() + 1);
|
|
98
|
100
|
}
|
|
99
|
101
|
|
|
100
|
102
|
if (chan == null) {
|
|
|
@@ -107,8 +109,7 @@ public class EslEventListenerEvent implements IEslEventListener {
|
|
107
|
109
|
chan.setSessionId(session.getSessionId());
|
|
108
|
110
|
chan.setCallType(session.getType());
|
|
109
|
111
|
chan.setCreateTime(new Date());
|
|
110
|
|
- String finalCallId = callId;
|
|
111
|
|
- chan.setSessionSort(EslCommon.channels.stream().filter(p -> p.getSessionId().equals(finalCallId)).count());
|
|
|
112
|
+ chan.setSessionSort(session.getActionId());
|
|
112
|
113
|
//更新坐席状态
|
|
113
|
114
|
if (agent != null) {
|
|
114
|
115
|
if (callType == 2) eslClientService.setWork(agent.getAgent(), false, "");
|
|
|
@@ -164,7 +165,6 @@ public class EslEventListenerEvent implements IEslEventListener {
|
|
164
|
165
|
if (!(isAdd && opType.equals("MakeCall"))) callerAgent.setOpType("");
|
|
165
|
166
|
//过滤分机呼出/坐席呼出
|
|
166
|
167
|
if (!(opType.equals("") || opType.equals("MakeCall"))) {
|
|
167
|
|
- session.setActionId(session.getActionId() + 1);
|
|
168
|
168
|
if (!isAdd) isAdd = true;
|
|
169
|
169
|
}
|
|
170
|
170
|
}
|
|
|
@@ -180,7 +180,7 @@ public class EslEventListenerEvent implements IEslEventListener {
|
|
180
|
180
|
if (calleeAgent1 != null) record.setCalleeAgent(calleeAgent1.getAgent());
|
|
181
|
181
|
record.setCallType(2);
|
|
182
|
182
|
record.setUuid(callId);
|
|
183
|
|
- record.setActionId(session.getActionId());
|
|
|
183
|
+ record.setActionId(session.getActionId()>1?session.getActionId()-1:1);
|
|
184
|
184
|
record.setIsAnswer(0);
|
|
185
|
185
|
record.setIsVideo(session.isVideo() ? 1 : 0);
|
|
186
|
186
|
record.setCreateTime(new Date());
|
|
|
@@ -260,10 +260,24 @@ public class EslEventListenerEvent implements IEslEventListener {
|
|
260
|
260
|
if (callerAgent != null) {
|
|
261
|
261
|
if (!opType.equals("MakeCall") || calleeNum.equals(chanNames[2])) {
|
|
262
|
262
|
actionNotice(opType, callerAgent.getAgent(), callId, true);
|
|
263
|
|
- if (opType.equals("Meeting") && chan.getSessionSort() == 3) {
|
|
264
|
|
- eslClientService.talkJoinMeeting(callId);
|
|
265
|
|
- eslClientService.setConferenceExitSound(callId, true);
|
|
266
|
|
- if (session != null) session.setMeeting(true);
|
|
|
263
|
+ if (opType.equals("Meeting")) {
|
|
|
264
|
+ if (chan.getSessionSort() == 3) {
|
|
|
265
|
+ if (eslClientService.talkJoinMeeting(callId)) {
|
|
|
266
|
+ if (session != null) {
|
|
|
267
|
+ session.setMeeting(true);
|
|
|
268
|
+ try {
|
|
|
269
|
+ Thread.sleep(500);
|
|
|
270
|
+ } catch (InterruptedException e) {
|
|
|
271
|
+ throw new RuntimeException(e);
|
|
|
272
|
+ }
|
|
|
273
|
+ eslClientService.setConferenceExitSound(callId, true);
|
|
|
274
|
+ }
|
|
|
275
|
+ }
|
|
|
276
|
+ }
|
|
|
277
|
+ //第一个人静音和禁听
|
|
|
278
|
+ if (session != null && session.isMeetingMute()) {
|
|
|
279
|
+ eslClientService.setConferenceIsMute(callId, callId, true, "");
|
|
|
280
|
+ }
|
|
267
|
281
|
}
|
|
268
|
282
|
}
|
|
269
|
283
|
}
|