diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index 43953f81..a67a1e0e 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -1250,24 +1250,22 @@ public class TicketController extends ControllerBase { VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在"); VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.Processing.getState())) .throwMessage("当前工单状态不允许请求通话"); - Integer handlerUserId = Arrays.stream(ticket.getHandle().split(",")).map(Integer::parseInt).findFirst().get(); - if (StrUtil.equals(Constant.FROM_APP, ticket.getUserPlatform())) { - VUtils.trueThrowBusinessError(!Objects.equals(AdminUserUtil.getUserId(), handlerUserId)) - .throwMessage("不是工单主负责人无权限呼叫"); - } else { - VUtils.trueThrowBusinessError(!Objects.equals(ticket.getUserId(), AdminUserUtil.getUserId()) && !Objects.equals(AdminUserUtil.getUserId(), handlerUserId)) - .throwMessage("无权限呼叫"); - } - boolean userIdCreate = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) && Objects.equals(ticket.getUserId(), AdminUserUtil.getUserId()); + List handlerUserIds = Arrays.stream(ticket.getHandle().split(",")).map(Integer::parseInt).collect(Collectors.toList()); + VUtils.trueThrowBusinessError(!(handlerUserIds.contains(AdminUserUtil.getUserId()) + || (StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_APP) + && Objects.equals(AdminUserUtil.getUserId(), ticket.getUserId())))) + .throwMessage("无权限呼叫"); + Integer handlerUserId = handlerUserIds.get(0); + boolean userIsCreate = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) && Objects.equals(ticket.getUserId(), AdminUserUtil.getUserId()); Integer sendUserId = 0, receiveUserId = 0; String sendUserFrom, receiveUserFrom; - if (userIdCreate) { + if (userIsCreate) { sendUserId = ticket.getUserId(); receiveUserId = handlerUserId; sendUserFrom = Constant.FROM_ADMIN; receiveUserFrom = Constant.FROM_ADMIN; } else { - sendUserId = handlerUserId; + sendUserId = AdminUserUtil.getUserId(); receiveUserId = ticket.getUserId(); sendUserFrom = Constant.FROM_ADMIN; receiveUserFrom = Constant.FROM_APP;