feat: bug-245 视频通话优化,多端登录时,有一个设备接听后,给其他设备推送取消接听事件
This commit is contained in:
parent
ecce586407
commit
3c7b780fc2
|
|
@ -1310,6 +1310,21 @@ public class TicketController extends ControllerBase {
|
|||
VUtils.trueThrowBusinessError(ticketCallService.isInCall(AdminUserUtil.getUserId()))
|
||||
.throwMessage("您已加入别的通话中");
|
||||
ticketCallJoinService.join(ticketId, AdminUserUtil.getUserId(),Constant.FROM_ADMIN);
|
||||
ssePushService.sendTicketCallJoinedToAdmin(AdminUserUtil.getUserId(), ticketId);
|
||||
uniPushService.send(new UniPushMessage()
|
||||
.setSenderId("admin-uid-" + AdminUserUtil.getUserId())
|
||||
.setReceiverId("admin-uid-" + AdminUserUtil.getUserId())
|
||||
.setSendData(new UniPushMessageBody()
|
||||
.setTitle("视频通话")
|
||||
.setContent("您已加入别的通话中")
|
||||
.setPayload(new UniPushMessageCallPayload()
|
||||
.setTicketId(ticketId)
|
||||
.setUserId(AdminUserUtil.getUserId())
|
||||
.setCategory("ticketCallJoined")
|
||||
.setFrom("admin")
|
||||
)
|
||||
)
|
||||
);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -282,4 +282,26 @@ public class SsePushService {
|
|||
log.error("发送消息出错", e);
|
||||
}
|
||||
}
|
||||
|
||||
public void sendTicketCallJoinedToAdmin(Integer userId, @Valid @NotNull Integer ticketId) {
|
||||
try {
|
||||
PushUserMessageRequest request = new PushUserMessageRequest()
|
||||
.setUserId(userId)
|
||||
.setMessage(new PushMessageDTO()
|
||||
.setType("ticketCallJoined")
|
||||
.setData(new PushMessageDataBody()
|
||||
.setTargetId(ticketId)
|
||||
.setType("ticketCallJoined")
|
||||
.setData(new UniPushMessageCallPayload()
|
||||
.setTicketId(ticketId)
|
||||
.setFrom("admin")
|
||||
)
|
||||
)
|
||||
);
|
||||
ApiResult<?> result = sendMessageByUser(request, "admin");
|
||||
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
|
||||
} catch (Exception e) {
|
||||
log.error("发送消息出错", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -527,6 +527,21 @@ public class TicketController extends ControllerBase {
|
|||
VUtils.trueThrowBusinessError(ticketCallService.isInCall(AppUserUtil.getUserId()))
|
||||
.throwMessage("您已加入别的通话中");
|
||||
ticketCallJoinService.join(ticketId, AppUserUtil.getUserId(), Constant.FROM_APP);
|
||||
ssePushService.sendTicketCallJoinedToApp(AppUserUtil.getUserId(), ticketId);
|
||||
uniPushService.send(new UniPushMessage()
|
||||
.setSenderId("app-uid-" + AppUserUtil.getUserId())
|
||||
.setReceiverId("app-uid-" + AppUserUtil.getUserId())
|
||||
.setSendData(new UniPushMessageBody()
|
||||
.setTitle("视频通话")
|
||||
.setContent("您已加入别的通话中")
|
||||
.setPayload(new UniPushMessageCallPayload()
|
||||
.setTicketId(ticketId)
|
||||
.setUserId(AppUserUtil.getUserId())
|
||||
.setCategory("ticketCallJoined")
|
||||
.setFrom("app")
|
||||
)
|
||||
)
|
||||
);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -222,4 +222,26 @@ public class SsePushService {
|
|||
log.error("发送消息出错", e);
|
||||
}
|
||||
}
|
||||
|
||||
public void sendTicketCallJoinedToApp(Integer userId,@NotNull Integer ticketId) {
|
||||
try {
|
||||
PushUserMessageRequest request = new PushUserMessageRequest()
|
||||
.setUserId(userId)
|
||||
.setMessage(new PushMessageDTO()
|
||||
.setType("ticketCallJoined")
|
||||
.setData(new PushMessageDataBody()
|
||||
.setTargetId(ticketId)
|
||||
.setType("ticketCallJoined")
|
||||
.setData(new UniPushMessageCallPayload()
|
||||
.setTicketId(ticketId)
|
||||
.setFrom("app")
|
||||
)
|
||||
)
|
||||
);
|
||||
ApiResult<?> result = sendMessageByUser(request, "app");
|
||||
log.debug("发送消息结果:{}", JSONUtil.toJsonStr(result));
|
||||
} catch (Exception e) {
|
||||
log.error("发送消息出错", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue