|
|
@@ -32,6 +32,7 @@ public class EslEventListener implements IEslEventListener {
|
|
32
|
32
|
@Override
|
|
33
|
33
|
public void eventReceived(EslEvent event) {
|
|
34
|
34
|
//System.out.println(1 + "|" + JSON.toJSONString(event));
|
|
|
35
|
+ //log.warn(1 + "|" + JSON.toJSONString(event));
|
|
35
|
36
|
|
|
36
|
37
|
IRecordService iRecordService = SpringHelper.getBean(IRecordService.class);
|
|
37
|
38
|
EslClientService eslClientService = SpringHelper.getBean(EslClientService.class);
|
|
|
@@ -211,6 +212,7 @@ public class EslEventListener implements IEslEventListener {
|
|
211
|
212
|
record.setCallerAgent(callerAgent.getAgent());
|
|
212
|
213
|
record.setGroupNo(callerAgent.getGroup());
|
|
213
|
214
|
record.setOpType(callerAgent.getOpType());
|
|
|
215
|
+ if (callerAgent.getOpType() == 1) callerAgent.setOpType(0);
|
|
214
|
216
|
}
|
|
215
|
217
|
record.setCallee(calleeNum);
|
|
216
|
218
|
if (calleeAgent != null) record.setCalleeAgent(calleeAgent.getAgent());
|
|
|
@@ -272,8 +274,17 @@ public class EslEventListener implements IEslEventListener {
|
|
272
|
274
|
uw.eq(Record::getId, chan.getRecordId()).set(Record::getRingTime, new Date());
|
|
273
|
275
|
iRecordService.updateBatch(uw);
|
|
274
|
276
|
}
|
|
|
277
|
+ //签入视频话机外呼
|
|
|
278
|
+ if(chan != null && chan.getSessionSort() == 1 && !session.isVideo()&& isVideo) {
|
|
|
279
|
+ session.setVideo(true);
|
|
|
280
|
+ uw = new LambdaUpdateWrapper<>();
|
|
|
281
|
+ uw.eq(Record::getId, chan.getRecordId()).set(Record::getIsVideo, 1);
|
|
|
282
|
+ iRecordService.updateBatch(uw);
|
|
|
283
|
+ }
|
|
275
|
284
|
break;
|
|
276
|
285
|
case CHANNEL_ANSWER:
|
|
|
286
|
+ if (callerNum.equals(chanNames[2])) {
|
|
|
287
|
+ }
|
|
277
|
288
|
if (chan != null && !chan.isAnswer()) {
|
|
278
|
289
|
chan.setAnswer(true);
|
|
279
|
290
|
//呼出号码应答通知坐席
|
|
|
@@ -293,6 +304,7 @@ public class EslEventListener implements IEslEventListener {
|
|
293
|
304
|
//会议第三方应答则将原会话加入会议
|
|
294
|
305
|
if (values[0].equals("Meeting") && chan.getSessionSort() == 3) {
|
|
295
|
306
|
eslClientService.talkJoinMeeting(chan.getSessionId());
|
|
|
307
|
+ eslClientService.setConferenceExitSound(chan.getSessionId(),true);
|
|
296
|
308
|
session.setMeeting(true);
|
|
297
|
309
|
}
|
|
298
|
310
|
}
|
|
|
@@ -305,7 +317,6 @@ public class EslEventListener implements IEslEventListener {
|
|
305
|
317
|
}
|
|
306
|
318
|
//呼出
|
|
307
|
319
|
if (session.getType() == 2 && !session.isAnswer()) {
|
|
308
|
|
- session.setVideo(isVideo);
|
|
309
|
320
|
Agent callerAgent = EslCommon.getAgentByExten(callerNum);
|
|
310
|
321
|
if (callerAgent != null) callerAgent.setAgentState(EslAgentNum.talking.ordinal());
|
|
311
|
322
|
}
|
|
|
@@ -340,8 +351,8 @@ public class EslEventListener implements IEslEventListener {
|
|
340
|
351
|
}
|
|
341
|
352
|
|
|
342
|
353
|
uw = new LambdaUpdateWrapper<>();
|
|
343
|
|
- uw.set(Record::getRecordPath, chan.getRecordPath()).set(Record::getIsVideo, session.isVideo() ? 1 : 0)
|
|
344
|
|
- .set(Record::getAnswerTime, new Date()).set(Record::getIsAnswer, 1);
|
|
|
354
|
+ uw.set(Record::getRecordPath, chan.getRecordPath()).set(Record::getAnswerTime, new Date())
|
|
|
355
|
+ .set(Record::getIsAnswer, 1);
|
|
345
|
356
|
uw.eq(Record::getId, chan.getRecordId());
|
|
346
|
357
|
iRecordService.updateBatch(uw);
|
|
347
|
358
|
|
|
|
@@ -406,7 +417,7 @@ public class EslEventListener implements IEslEventListener {
|
|
406
|
417
|
if (agent.getOpType() == 4) {
|
|
407
|
418
|
isupdate = false;
|
|
408
|
419
|
}
|
|
409
|
|
- agent.setOpType(0);
|
|
|
420
|
+ if (agent.getOpType() > 1) agent.setOpType(0);
|
|
410
|
421
|
}
|
|
411
|
422
|
}
|
|
412
|
423
|
|
|
|
@@ -472,6 +483,7 @@ public class EslEventListener implements IEslEventListener {
|
|
472
|
483
|
@Override
|
|
473
|
484
|
public void backgroundJobResultReceived(EslEvent event) {
|
|
474
|
485
|
//System.out.println(2 + "|" + JSON.toJSONString(event));
|
|
|
486
|
+ //log.warn(2 + "|" + JSON.toJSONString(event));
|
|
475
|
487
|
|
|
476
|
488
|
String bodys = event.getEventBodyLines().size() > 0 ? event.getEventBodyLines().get(0) : "";
|
|
477
|
489
|
String uuid = event.getEventHeaders().get("Job-UUID");
|