feat: bug-528 app端添加管理功能

调整视频通话逻辑
This commit is contained in:
曹鹏飞 2025-08-07 15:40:59 +08:00
parent 1c64a30430
commit 54a5ad65b3
1 changed files with 6 additions and 9 deletions

View File

@ -569,16 +569,15 @@ public class TicketController extends ControllerBase {
*/
@PostMapping("call/hangUp")
public ApiResult<Void> hangUp(@Valid @RequestBody TicketCallHangUpRequest request) {
boolean flag=false;
TicketCall ticketCall = ticketCallService.getLast(request.getTicketId());
if (request.getReject()) {
TicketCall ticketCall = ticketCallService.getLast(request.getTicketId());
if (Objects.isNull(ticketCall)) return ApiResult.success();
if (StrUtil.equals(request.getFrom(), Constant.FROM_APP) && Objects.equals(AppUserUtil.getUserId(), request.getFromUserId())) {
AppUser appUser = appUserService.getById(AppUserUtil.getUserId());
Ticket ticket = ticketService.getById(request.getTicketId());
int handlerId= Integer.parseInt(StrUtil.split(ticket.getHandle(), ",").stream().findFirst().get());
int handlerId = Integer.parseInt(StrUtil.split(ticket.getHandle(), ",").stream().findFirst().get());
uniPushService.send(new UniPushMessage()
.setSenderId(ticket.getUserPlatform()+"-uid-" + appUser.getId())
.setSenderId(ticket.getUserPlatform() + "-uid-" + appUser.getId())
.setReceiverId("admin-uid-" + handlerId)
.setSendData(new UniPushMessageBody()
.setTitle("挂断视频通话")
@ -594,12 +593,11 @@ public class TicketController extends ControllerBase {
)
);
ssePushService.sendTicketCallCancelToAdmin(request.getTicketId(), handlerId, appUser);
flag = ticketCallService.hangUp(ticketCall.getId(), AppUserUtil.getUserId(), Constant.FROM_APP, true);
}else {
} else {
AppUser appUser = appUserService.getById(AppUserUtil.getUserId());
Ticket ticket = ticketService.getById(request.getTicketId());
uniPushService.send(new UniPushMessage()
.setSenderId(ticket.getUserPlatform()+"-uid-" + appUser.getId())
.setSenderId(ticket.getUserPlatform() + "-uid-" + appUser.getId())
.setReceiverId("admin-uid-" + request.getFromUserId())
.setSendData(new UniPushMessageBody()
.setTitle("拒绝视频通话")
@ -615,10 +613,9 @@ public class TicketController extends ControllerBase {
)
);
ssePushService.sendTicketCallHangUpToAdmin(request.getTicketId(), request.getFromUserId(), appUser);
flag = ticketCallJoinService.hangUp(ticketCall.getId(), AppUserUtil.getUserId(), Constant.FROM_APP, true);
}
}
if (flag){
if (ticketCallJoinService.hangUp(ticketCall.getId(), AppUserUtil.getUserId(), Constant.FROM_APP, true)) {
ticketEventPublisher.publishTicketCallEndEvent(request.getTicketId());
}
return ApiResult.success();