Merge branch 'feature/bug-632' into test

This commit is contained in:
曹鹏飞 2025-08-27 18:12:28 +08:00
commit 58c70d57bc
2 changed files with 48 additions and 5 deletions

View File

@ -1465,8 +1465,29 @@ public class TicketController extends ControllerBase {
//// if (ticketCallJoinService.hangUp(ticketCall.getId(), AdminUserUtil.getUserId(), Constant.FROM_ADMIN, request.getReject())) { //// if (ticketCallJoinService.hangUp(ticketCall.getId(), AdminUserUtil.getUserId(), Constant.FROM_ADMIN, request.getReject())) {
// ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId()); // ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId());
//// } //// }
if (StrUtil.equals(request.getFrom(), Constant.FROM_ADMIN) && Objects.equals(request.getFromUserId(), AdminUserUtil.getUserId())) {
Set<String> userIds = stringRedisTemplate.opsForSet().members(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId());
if (CollectionUtil.isNotEmpty(userIds)) {
userIds.forEach(uid -> {
uniPushService.send(new UniPushMessage()
.setSenderId(uid)//不重要
.setReceiverId(uid)
.setSendData(new UniPushMessageBody()
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTicketId(request.getTicketId())
.setUserId(Integer.valueOf(StrUtil.split(uid, "-").get(1)))
.setCategory("ticketCallEnd")
.setFrom("admin")
)
)
);
});
}
stringRedisTemplate.delete(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId());
} else {
stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_ADMIN + "-" + AdminUserUtil.getUserId()); stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_ADMIN + "-" + AdminUserUtil.getUserId());
}
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId()))) { if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId()))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + request.getTicketId()); ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + request.getTicketId());
if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) { if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) {
@ -1476,7 +1497,7 @@ public class TicketController extends ControllerBase {
String from = userId.toString().startsWith("1") ? "app" : "admin"; String from = userId.toString().startsWith("1") ? "app" : "admin";
userId = Integer.valueOf(userId.toString().substring(1)); userId = Integer.valueOf(userId.toString().substring(1));
uniPushService.send(new UniPushMessage() uniPushService.send(new UniPushMessage()
.setSenderId(from + "-uid-" + userId)//不重要 .setSenderId(from + "-uid-0")//不重要
.setReceiverId(from + "-uid-" + userId) .setReceiverId(from + "-uid-" + userId)
.setSendData(new UniPushMessageBody() .setSendData(new UniPushMessageBody()
.setTitle("视频通话结束") .setTitle("视频通话结束")

View File

@ -641,7 +641,29 @@ public class TicketController extends ControllerBase {
//// if (ticketCallJoinService.hangUp(ticketCall.getId(), AppUserUtil.getUserId(), Constant.FROM_APP, request.getReject())) { //// if (ticketCallJoinService.hangUp(ticketCall.getId(), AppUserUtil.getUserId(), Constant.FROM_APP, request.getReject())) {
// ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId()); // ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId());
//// } //// }
stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_ADMIN + "-" + AdminUserUtil.getUserId()); if (StrUtil.equals(request.getFrom(), AppUserUtil.getFrom()) && Objects.equals(request.getFromUserId(), AppUserUtil.getUserId())) {
Set<String> userIds = stringRedisTemplate.opsForSet().members(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId());
if (CollectionUtil.isNotEmpty(userIds)) {
userIds.forEach(uid -> {
uniPushService.send(new UniPushMessage()
.setSenderId(uid)//不重要
.setReceiverId(uid)
.setSendData(new UniPushMessageBody()
.setTitle("视频通话结束")
.setPayload(new UniPushMessageCallPayload()
.setTicketId(request.getTicketId())
.setUserId(Integer.valueOf(StrUtil.split(uid, "-").get(1)))
.setCategory("ticketCallEnd")
.setFrom("app")
)
)
);
});
}
stringRedisTemplate.delete(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId());
} else {
stringRedisTemplate.opsForSet().remove(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId(), Constant.FROM_APP + "-" + AppUserUtil.getUserId());
}
if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId()))) { if (Objects.equals(0L, stringRedisTemplate.opsForSet().size(Constant.REDIS_KEY_TICKET_CALL_WAIT + request.getTicketId()))) {
ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + request.getTicketId()); ShengWangChannelUserListDTO channelUserListDTO = shengWangService.getChannelUsers("ticket" + request.getTicketId());
if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) { if (!channelUserListDTO.isChannelEexist() || channelUserListDTO.getUsers().size() <= 1) {
@ -651,7 +673,7 @@ public class TicketController extends ControllerBase {
String from = userId.toString().startsWith("1") ? "app" : "admin"; String from = userId.toString().startsWith("1") ? "app" : "admin";
userId = Integer.valueOf(userId.toString().substring(1)); userId = Integer.valueOf(userId.toString().substring(1));
uniPushService.send(new UniPushMessage() uniPushService.send(new UniPushMessage()
.setSenderId(from + "-uid-" + userId)//不重要 .setSenderId(from + "-uid-0")//不重要
.setReceiverId(from + "-uid-" + userId) .setReceiverId(from + "-uid-" + userId)
.setSendData(new UniPushMessageBody() .setSendData(new UniPushMessageBody()
.setTitle("视频通话结束") .setTitle("视频通话结束")