From 6fc496addad90ea21a9728932d27cdfa1b694d0e Mon Sep 17 00:00:00 2001 From: GUO <1923636941@qq.com> Date: Mon, 17 Jun 2024 23:43:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=B5=81=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=8F=91=E8=B5=B7=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncHikvision.java | 30 +++++++++++-------- .../impl/ProjectUfaceConfigServiceImpl.java | 4 +-- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index 0e4775a82..c95238b7e 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -491,7 +491,7 @@ public class AsyncHikvision { } public void sendBatchWorkerInfo(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn, boolean isRetry) { - this.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectSn, false, true); + this.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectSn, false, true, null); } /** @@ -503,9 +503,10 @@ public class AsyncHikvision { * @param userId 批量下发的通知的人 * @param checkEditWorkers * @param sendNotice + * @param flowStartUser */ @Async("workerAuthHkExecutor") - public void sendBatchWorkerInfoAsync(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice) { + public void sendBatchWorkerInfoAsync(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice, Long flowStartUser) { try { if (CollUtil.isNotEmpty(workerAndDevSnList)) { ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn); @@ -540,7 +541,7 @@ public class AsyncHikvision { })); futures = new ArrayList<>(); for (Map.Entry> entry : devSnToJoMap.entrySet()) { - Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, entry, projectSn, sendNotice, workerList); + Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, entry, projectSn, sendNotice, workerList,flowStartUser); futures.add(future); } for (Future future : futures) { @@ -567,7 +568,7 @@ public class AsyncHikvision { log.error("批量下发权限失败:", e); hikvisionCall.updateAllFailStatusIfNullForAuth(projectSn, workerList, 1, 1); hikvisionCall.updateAllFailStatusIfNullForAuth(projectSn, workerList, 1, 3); - sendExcNotice(e, workerList, null, projectSn); + sendExcNotice(e, workerList, null, projectSn,flowStartUser); } } @@ -578,8 +579,9 @@ public class AsyncHikvision { * @param workerList * @param dev * @param projectSn + * @param flowStartUser */ - private void sendExcNotice(Exception e, List workerList, UfaceDev dev, String projectSn) { + private void sendExcNotice(Exception e, List workerList, UfaceDev dev, String projectSn, Long flowStartUser) { String exc; if (HttpUtils.isTimeOut(e)) { exc = ",连接ISC网络异常"; @@ -593,7 +595,7 @@ public class AsyncHikvision { .in(WorkerInfo::getId, workerList.stream().map(WorkerInfo::getId).collect(Collectors.toList())) ); for (WorkerInfo workerInfo : failWorkers) { - Set noticeUserIds = hikvisionCall.getNoticeUserIds(workerInfo.getNoticeUserId(), workerInfo.getProjectSn()); + Set noticeUserIds = hikvisionCall.getNoticeUserIds(flowStartUser, workerInfo.getProjectSn()); for (Long noticeUserId : noticeUserIds) { noticeService.addUserNotice(noticeUserId, StrUtil.format("[{}]下发{}设备权限失败{}", workerInfo.getWorkerName(), dev != null ? "[" + dev.getDevName() + "]" : "有些", exc), @@ -650,9 +652,10 @@ public class AsyncHikvision { * @param devSnToJoEntry * @param sendNotice * @param workerList + * @param flowStartUser */ @Async("workerBeWaitHkExecutor") - public Future sendBatchWorkersForOneDevAsync(Map workerIdMap, Map devSnMap, ProjectInfoExtVo project, Map devSnToIscDevSnMap, Map.Entry> devSnToJoEntry, String projectSn, boolean sendNotice, List workerList) { + public Future sendBatchWorkersForOneDevAsync(Map workerIdMap, Map devSnMap, ProjectInfoExtVo project, Map devSnToIscDevSnMap, Map.Entry> devSnToJoEntry, String projectSn, boolean sendNotice, List workerList, Long flowStartUser) { String devSn = devSnToJoEntry.getKey(); UfaceDev dev = devSnMap.get(devSn); try { @@ -687,7 +690,7 @@ public class AsyncHikvision { Set rtWorkerIdSet; if (CollUtil.isNotEmpty(qaiList)) { for (int i = 0; i < qaiList.size(); i++) { - handlerBatchWorkersResult(workerIdMap, qaiList, i, devSn, projectSn, addAuthWorkerIds, sendNotice, dev); + handlerBatchWorkersResult(workerIdMap, qaiList, i, devSn, projectSn, addAuthWorkerIds, sendNotice, dev,flowStartUser); } rtWorkerIdSet = qaiList.stream().map(o -> ((JSONObject) o).getString("personId")).collect(Collectors.toSet()); } else { @@ -705,7 +708,7 @@ public class AsyncHikvision { continue; } hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(workerId), 3, 3, devSn); - Set noticeUserIds = hikvisionCall.getNoticeUserIds(workerIdMap.get(workerId).getNoticeUserId(), projectSn); + Set noticeUserIds = hikvisionCall.getNoticeUserIds(flowStartUser, projectSn); for (Long noticeUserId : noticeUserIds) { noticeService.addUserNotice(noticeUserId, StrUtil.format("[{}]取消下发到[{}]{}", @@ -720,7 +723,7 @@ public class AsyncHikvision { log.error("批量下发权限失败:", e); hikvisionCall.updateAllFailStatusIfNullForAuth(projectSn, new ArrayList<>(workerIdMap.values()), 1, 1); hikvisionCall.updateAllFailStatusIfNullForAuth(projectSn, new ArrayList<>(workerIdMap.values()), 1, 3); - sendExcNotice(e, workerList, dev, projectSn); + sendExcNotice(e, workerList, dev, projectSn, flowStartUser); } return null; } @@ -761,8 +764,9 @@ public class AsyncHikvision { * @param addAuthWorkerIds * @param sendNotice * @param dev + * @param flowStartUser */ - public void handlerBatchWorkersResult(Map workerIdMap, JSONArray qaiList, int i, String devSn, String projectSn, List addAuthWorkerIds, boolean sendNotice, UfaceDev dev) { + public void handlerBatchWorkersResult(Map workerIdMap, JSONArray qaiList, int i, String devSn, String projectSn, List addAuthWorkerIds, boolean sendNotice, UfaceDev dev, Long flowStartUser) { JSONObject jo = qaiList.getJSONObject(i); String personId = jo.getString("personId"); //人脸状态 @@ -787,7 +791,7 @@ public class AsyncHikvision { } else { hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn()); } - Set noticeUserIds = hikvisionCall.getNoticeUserIds(workerIdMap.get(personId).getNoticeUserId(), projectSn); + Set noticeUserIds = hikvisionCall.getNoticeUserIds(flowStartUser, projectSn); for (Long noticeUserId : noticeUserIds) { noticeService.addUserNotice(noticeUserId, StrUtil.format("[{}]下发到[{}]{}", @@ -803,7 +807,7 @@ public class AsyncHikvision { } else { hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn()); } - Set noticeUserIds = hikvisionCall.getNoticeUserIds(workerIdMap.get(personId).getNoticeUserId(), projectSn); + Set noticeUserIds = hikvisionCall.getNoticeUserIds(flowStartUser, projectSn); for (Long noticeUserId : noticeUserIds) { noticeService.addUserNotice(noticeUserId, StrUtil.format("[{}]取消下发到[{}]{}", diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java index 0d7e5e883..09079955d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java @@ -535,7 +535,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl