From 5a04831a9899afb179665af5b256dd1c31a1306e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 28 Aug 2025 20:37:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bug-632=20=E8=A7=86=E9=A2=91=E9=80=9A?= =?UTF-8?q?=E8=AF=9D=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/TicketController.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) 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;