From 5c4ea16ad93e55f5b9576fed6ef1016adfef6242 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Sat, 15 Jun 2024 22:19:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8F=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncHikvision.java | 93 ++++++++++--------- .../java/com/zhgd/xmgl/async/AsyncWorker.java | 2 +- .../com/zhgd/xmgl/call/HikvisionCall.java | 43 +++++---- .../com/zhgd/xmgl/config/AsyncConfig.java | 48 +++++++++- .../service/IProjectUfaceConfigService.java | 2 +- .../impl/ProjectUfaceConfigServiceImpl.java | 13 +-- .../impl/XzHikvisionSyncServiceImpl.java | 4 +- .../application-gsx-t-dev.properties | 2 + 8 files changed, 128 insertions(+), 79 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index c0fa2e3d6..3de925d6b 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -128,9 +128,9 @@ public class AsyncHikvision { return ThreadLocalUtil.getNotNull().getDate(XZ_HIKVISION_SYNC_TIME); } - @Async("sendWorkerExecutor") + @Async("workerHkExecutor") public Future addWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) { - addWorkerAsync(workerInfo, true, true); + this.addWorkerAsync(workerInfo, true, true); projectUfaceConfigService.addWorkerInfo(workerInfo); return null; } @@ -142,7 +142,7 @@ public class AsyncHikvision { * @param isSaveWorker * @param isSaveWorkerFace */ - @Async("sendWorkerExecutor") + @Async("workerHkExecutor") public void addWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) { try { hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace); @@ -156,13 +156,13 @@ public class AsyncHikvision { this.addWorkerAsync(workerInfo, isSaveWorker, isSaveWorkerFace); } - @Async("sendWorkerExecutor") + @Async("workerHkExecutor") public void editWorkerAndAuthAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) { this.saveWorkerAsync(workerInfo, true, true); projectUfaceConfigService.updateWorkerInfo(workerInfo, workerInfo); } - @Async("sendWorkerExecutor") + @Async("workerHkExecutor") public void saveWorkerAsync(WorkerInfo workerInfo, boolean isSaveWorker, boolean isSaveWorkerFace) { try { hikvisionCall.saveWorker(workerInfo, isSaveWorker, isSaveWorkerFace); @@ -193,10 +193,10 @@ public class AsyncHikvision { hikvisionCall.updateAllFailStatusIfNull(workerInfo.getProjectSn(), workerInfo.getId(), 1); } - @Async("sendWorkerExecutor") + @Async("workerHkExecutor") public void deleteWorkerForHikvisionAsync(String uniqueId, WorkerInfo workerInfo) { try { - hikvisionCall.deleteWorkerForHikvision(uniqueId, workerInfo); + hikvisionCall.deleteWorkerForHikvision(uniqueId, workerInfo, true); } catch (Exception e) { log.error("海康:", e); sendNoticeForWorker(workerInfo, e, "删除"); @@ -489,7 +489,7 @@ public class AsyncHikvision { } public void sendBatchWorkerInfo(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn) { - this.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectSn, true); + this.sendBatchWorkerInfoAsync(allDevList, workerList, workerAndDevSnList, userId, projectSn, true, true); } /** @@ -500,9 +500,10 @@ public class AsyncHikvision { * @param workerAndDevSnList 构建的下发的人员和设备的关系 * @param userId * @param checkEditWorkers + * @param sendNotice */ - @Async("sendBatchExecutor") - public void sendBatchWorkerInfoAsync(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers) { + @Async("workerAuthHkExecutor") + public void sendBatchWorkerInfoAsync(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn, boolean checkEditWorkers, boolean sendNotice) { try { if (CollUtil.isNotEmpty(workerAndDevSnList)) { ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn); @@ -532,7 +533,7 @@ public class AsyncHikvision { })); ArrayList futures = new ArrayList<>(); for (Map.Entry> entry : devSnToJoMap.entrySet()) { - Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, iscDevSnToMyMap, entry, projectSn); + Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, iscDevSnToMyMap, entry, projectSn, sendNotice); futures.add(future); } for (Future future : futures) { @@ -600,9 +601,10 @@ public class AsyncHikvision { * @param devSnToIscDevSnMap * @param iscDevSnToMyMap * @param devSnToJoEntry + * @param sendNotice */ - @Async("sendBatchExecutor") - public Future sendBatchWorkersForOneDevAsync(Map workerIdMap, Map devSnMap, ProjectInfoExtVo project, Map devSnToIscDevSnMap, Map> iscDevSnToMyMap, Map.Entry> devSnToJoEntry, String projectSn) { + @Async("workerAuthHkExecutor") + public Future sendBatchWorkersForOneDevAsync(Map workerIdMap, Map devSnMap, ProjectInfoExtVo project, Map devSnToIscDevSnMap, Map> iscDevSnToMyMap, Map.Entry> devSnToJoEntry, String projectSn, boolean sendNotice) { try { //【添加权限配置】(人员列表,设备列表),这个接口只要没报错,你就直接去下一步就行了。 List addAuthWorkerIds = devSnToJoEntry.getValue().stream().filter(jo -> jo.getBoolean(Cts.IS_ADD_AUTH)).map(jsonObject -> jsonObject.getString("workerId")).collect(Collectors.toList()); @@ -639,7 +641,7 @@ public class AsyncHikvision { Set rtWorkerIdSet; if (CollUtil.isNotEmpty(qaiList)) { for (int i = 0; i < qaiList.size(); i++) { - handlerBatchWorkersResult(workerIdMap, devSnMap, qaiList, i, devSn, projectSn, addAuthWorkerIds); + handlerBatchWorkersResult(workerIdMap, devSnMap, qaiList, i, devSn, projectSn, addAuthWorkerIds,sendNotice); } rtWorkerIdSet = qaiList.stream().map(o -> ((JSONObject) o).getString("personId")).collect(Collectors.toSet()); } else { @@ -650,7 +652,7 @@ public class AsyncHikvision { //2. 删除以后,删除的权限状态是 4未配置 //3. 这个人的权限都没了以后,你就查不到这个权限条目了 //handlerBatchWorkersResultForDeleteAuth(); - if (CollUtil.isNotEmpty(deleteAuthWorkerIds)) { + if (sendNotice && CollUtil.isNotEmpty(deleteAuthWorkerIds)) { for (String workerId : deleteAuthWorkerIds) { if (rtWorkerIdSet.contains(workerId)) { //已经处理过了 @@ -685,9 +687,10 @@ public class AsyncHikvision { * @param devSn * @param projectSn * @param addAuthWorkerIds + * @param sendNotice */ @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) - public void handlerBatchWorkersResult(Map workerIdMap, Map devSnMap, JSONArray qaiList, int i, String devSn, String projectSn, List addAuthWorkerIds) { + public void handlerBatchWorkersResult(Map workerIdMap, Map devSnMap, JSONArray qaiList, int i, String devSn, String projectSn, List addAuthWorkerIds, boolean sendNotice) { JSONObject jo = qaiList.getJSONObject(i); String personId = jo.getString("personId"); //人脸状态 @@ -701,35 +704,37 @@ public class AsyncHikvision { //3. 这个人的权限都没了以后,你就查不到这个权限条目了 Integer faceStatus = jo.getInteger("faceStatus"); UfaceDev dev = devSnMap.get(devSn); - if (addAuthWorkerIds.contains(personId)) { - //添加权限 - if (Objects.equals(faceStatus, 3)) { - hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn()); + if (sendNotice) { + if (addAuthWorkerIds.contains(personId)) { + //添加权限 + if (Objects.equals(faceStatus, 3)) { + hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn()); + } else { + hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn()); + } + if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) { + noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), + StrUtil.format("[{}]下发到[{}]{}", + workerIdMap.get(personId).getWorkerName(), + dev.getDevName(), + Objects.equals(faceStatus, 3) ? "成功" : "失败,下发异常"), + "人员下发设备提醒", "1"); + } } else { - hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn()); - } - if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) { - noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), - StrUtil.format("[{}]下发到[{}]{}", - workerIdMap.get(personId).getWorkerName(), - dev.getDevName(), - Objects.equals(faceStatus, 3) ? "成功" : "失败,下发异常"), - "人员下发设备提醒", "1"); - } - } else { - //删除权限 - if (Objects.equals(faceStatus, 4)) { - hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn()); - } else { - hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn()); - } - if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) { - noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), - StrUtil.format("[{}]取消下发到[{}]{}", - workerIdMap.get(personId).getWorkerName(), - dev.getDevName(), - Objects.equals(faceStatus, 4) ? "成功" : "失败,下发异常"), - "人员下发设备提醒", "1"); + //删除权限 + if (Objects.equals(faceStatus, 4)) { + hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn()); + } else { + hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn()); + } + if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) { + noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), + StrUtil.format("[{}]取消下发到[{}]{}", + workerIdMap.get(personId).getWorkerName(), + dev.getDevName(), + Objects.equals(faceStatus, 4) ? "成功" : "失败,下发异常"), + "人员下发设备提醒", "1"); + } } } } diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncWorker.java b/src/main/java/com/zhgd/xmgl/async/AsyncWorker.java index 6e2bd3b76..80cddd8b7 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncWorker.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncWorker.java @@ -77,7 +77,7 @@ public class AsyncWorker { * * @param */ - @Async("sendWorkerExecutor") + @Async("workerAuthHkExecutor") public void sendBatchWokerDevAsync(Map map, ProjectUfaceConfig projectUfaceConfig, List allDevList) { try { Long userId = MapUtils.getLong(map, "userId"); diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 4c271c175..d612eb174 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -887,7 +887,7 @@ public class HikvisionCall { public void addWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception { String rs = HikvisionUtil.addWorker(workerInfo, project); - sendNoticeAndSetStatusForWorker("添加人员到海康isc", rs, workerInfo, 1, 1); + sendNoticeAndSetStatusForWorker("添加人员到海康isc", rs, workerInfo, 1, 1, true); } /** @@ -921,8 +921,8 @@ public class HikvisionCall { } else { //海康门禁isc List ufaceDevs = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn()); - projectUfaceConfigService.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, workerInfo.getProjectSn()); - deleteWorkerForHikvision(iscPersonId + "", workerInfo); + projectUfaceConfigService.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, workerInfo.getProjectSn(), false); + deleteWorkerForHikvision(iscPersonId + "", workerInfo, false); addWorkerForHikvision(workerInfo, isSaveWorker, isSaveWorkerFace); } } else { @@ -932,7 +932,7 @@ public class HikvisionCall { public void editWorkerFromHttp(WorkerInfo workerInfo, Project project) throws Exception { String rs = HikvisionUtil.editWorker(workerInfo, project); - sendNoticeAndSetStatusForWorker("更新人员到海康isc", rs, workerInfo, 1, 2); + sendNoticeAndSetStatusForWorker("更新人员到海康isc", rs, workerInfo, 1, 2, true); } /** @@ -945,7 +945,7 @@ public class HikvisionCall { String fieldAcquisitionUrl = workerInfo.getFieldAcquisitionUrl(); if (StringUtils.isNotBlank(fieldAcquisitionUrl)) { String rs = HikvisionUtil.addWorkerFace(workerInfo, project); - sendNoticeAndSetStatusForWorker("添加人员照片到海康isc", rs, workerInfo, 2, 1); + sendNoticeAndSetStatusForWorker("添加人员照片到海康isc", rs, workerInfo, 2, 1, true); } } @@ -1086,7 +1086,7 @@ public class HikvisionCall { } } - private void sendNoticeAndSetStatusForWorker(String title, String rs, WorkerInfo workerInfo, int type, int operate) { + private void sendNoticeAndSetStatusForWorker(String title, String rs, WorkerInfo workerInfo, int type, int operate, boolean sendNotice) { boolean callSuc = HikvisionUtil.isSuccess(rs); String msg = ""; String noticeType = "23"; @@ -1151,7 +1151,7 @@ public class HikvisionCall { updateFailStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null); xzHikvisionCompareDataService.compareRetryFail(); } - if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) { + if (sendNotice && ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) { noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), msg, title, noticeType); } } @@ -1226,11 +1226,13 @@ public class HikvisionCall { queryWrapper.ne(XzHikvisionSync::getOperate, 3); } } - XzHikvisionSync xzHikvisionSync = xzHikvisionSyncMapper.selectOne(queryWrapper); - if (xzHikvisionSync != null) { - xzHikvisionSync.setIsSuccess(isSuccess ? 1 : 0); - xzHikvisionSyncMapper.updateById(xzHikvisionSync); - updateTotalStatus(projectSn, whoId, xzHikvisionSync.getBigType()); + List xzHikvisionSyncs = xzHikvisionSyncMapper.selectList(queryWrapper); + if (CollUtil.isNotEmpty(xzHikvisionSyncs)) { + for (XzHikvisionSync xzHikvisionSync : xzHikvisionSyncs) { + xzHikvisionSync.setIsSuccess(isSuccess ? 1 : 0); + xzHikvisionSyncMapper.updateById(xzHikvisionSync); + } + updateTotalStatus(projectSn, whoId, xzHikvisionSyncs.get(0).getBigType()); } } @@ -1287,7 +1289,7 @@ public class HikvisionCall { jo.put("faceId", workerFaceId); jo.put("faceData", Base64Util.convertFileToBase64(PathUtil.reviseSlash(basePath + "/" + workerInfo.getFieldAcquisitionUrl()))); String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - sendNoticeAndSetStatusForWorker("更新人员照片到海康isc", rs, workerInfo, 2, 2); + sendNoticeAndSetStatusForWorker("更新人员照片到海康isc", rs, workerInfo, 2, 2, true); } else { addWorkerFace(workerInfo, project); } @@ -1298,28 +1300,29 @@ public class HikvisionCall { * * @param uniqueId * @param workerInfo + * @param sendNotice */ - public void deleteWorkerForHikvision(String uniqueId, WorkerInfo workerInfo) throws Exception { + public void deleteWorkerForHikvision(String uniqueId, WorkerInfo workerInfo, boolean sendNotice) throws Exception { Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, workerInfo.getProjectSn())); if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) { return; } - deleteWorkerFace(uniqueId, workerInfo, project); + deleteWorkerFace(uniqueId, workerInfo, project, sendNotice); - deleteWorkerFromHttp(uniqueId, workerInfo, project); + deleteWorkerFromHttp(uniqueId, workerInfo, project, sendNotice); } - public void deleteWorkerFromHttp(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception { + public void deleteWorkerFromHttp(String uniqueId, WorkerInfo workerInfo, Project project, boolean sendNotice) throws Exception { String rs = HikvisionUtil.deleteWorkerById(uniqueId, project).toJSONString(); - sendNoticeAndSetStatusForWorker("删除人员到海康isc", rs, workerInfo, 1, 3); + sendNoticeAndSetStatusForWorker("删除人员到海康isc", rs, workerInfo, 1, 3, sendNotice); } - public void deleteWorkerFace(String uniqueId, WorkerInfo workerInfo, Project project) throws Exception { + public void deleteWorkerFace(String uniqueId, WorkerInfo workerInfo, Project project, boolean sendNotice) throws Exception { ArrayList workerFaceIds = getWorkerFaceIds(uniqueId, project); if (CollUtil.isNotEmpty(workerFaceIds)) { for (String workerFaceId : workerFaceIds) { JSONObject rsJo = HikvisionUtil.deleteWorkerFace(project, workerFaceId); - sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3); + sendNoticeAndSetStatusForWorker("删除人员图片到海康isc", rsJo.toJSONString(), workerInfo, 2, 3, sendNotice); } } } diff --git a/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java b/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java index 16740b539..471326110 100644 --- a/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java +++ b/src/main/java/com/zhgd/xmgl/config/AsyncConfig.java @@ -128,10 +128,10 @@ public class AsyncConfig { public ThreadPoolTaskExecutor sendWorkerExecutor() { MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor(); /** 核心线程数(默认线程数) */ - executor.setCorePoolSize(corePoolSize * 10); + executor.setCorePoolSize(corePoolSize); /** 最大线程数 */ - executor.setMaxPoolSize(maxPoolSize * 10); - executor.setQueueCapacity(queueCapacity * 10); + executor.setMaxPoolSize(maxPoolSize); + executor.setQueueCapacity(queueCapacity); /** 允许线程空闲时间(单位:默认为秒) */ executor.setKeepAliveSeconds(60); /** 线程池名前缀 */ @@ -515,9 +515,9 @@ public class AsyncConfig { public ThreadPoolTaskExecutor sendBatchExecutor() { MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor(); /** 核心线程数(默认线程数) */ - executor.setCorePoolSize(maxPoolSize * 10); + executor.setCorePoolSize(maxPoolSize * 5); /** 最大线程数 */ - executor.setMaxPoolSize(maxPoolSize * 10); + executor.setMaxPoolSize(maxPoolSize * 5); executor.setQueueCapacity(queueCapacity * 10); /** 允许线程空闲时间(单位:默认为秒) */ executor.setKeepAliveSeconds(60); @@ -530,4 +530,42 @@ public class AsyncConfig { return executor; } + @Bean("workerHkExecutor") + public ThreadPoolTaskExecutor workerHkExecutor() { + MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor(); + /** 核心线程数(默认线程数) */ + executor.setCorePoolSize(maxPoolSize); + /** 最大线程数 */ + executor.setMaxPoolSize(maxPoolSize); + executor.setQueueCapacity(queueCapacity); + /** 允许线程空闲时间(单位:默认为秒) */ + executor.setKeepAliveSeconds(60); + /** 线程池名前缀 */ + executor.setThreadNamePrefix("workerHkExecutor-"); + // 线程池对拒绝任务的处理策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); + // 初始化 + executor.initialize(); + return executor; + } + + @Bean("workerAuthHkExecutor") + public ThreadPoolTaskExecutor workerAuthHkExecutor() { + MdcThreadPoolTaskExecutor executor = new MdcThreadPoolTaskExecutor(); + /** 核心线程数(默认线程数) */ + executor.setCorePoolSize(maxPoolSize); + /** 最大线程数 */ + executor.setMaxPoolSize(maxPoolSize); + executor.setQueueCapacity(queueCapacity * 10); + /** 允许线程空闲时间(单位:默认为秒) */ + executor.setKeepAliveSeconds(60); + /** 线程池名前缀 */ + executor.setThreadNamePrefix("workerAuthHkExecutor-"); + // 线程池对拒绝任务的处理策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); + // 初始化 + executor.initialize(); + return executor; + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectUfaceConfigService.java b/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectUfaceConfigService.java index 099d9d26f..a6729c647 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectUfaceConfigService.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/IProjectUfaceConfigService.java @@ -37,7 +37,7 @@ public interface IProjectUfaceConfigService extends IService void buildAndSendBatchWorkerForHk(ProjectUfaceConfig projectUfaceConfig, List allDevList, List workerList, Long userId); - void buildAndSendOneWorkerForHk(List allDevList, WorkerInfo workerInfo, int model, String projectSn); + void buildAndSendOneWorkerForHk(List allDevList, WorkerInfo workerInfo, int model, String projectSn, boolean sendNotice); void buildAndSendOneWorkerAndDevForHk(List allDevList, WorkerInfo workerInfo, int operate, String devSn, String projectSn); 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 14a4a767a..24aced6db 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 @@ -211,7 +211,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl ufaceDevs = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn()); this.deleteHkSyncRecordAndResetStatusForDev(workerInfo, ufaceDevs); - this.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, ufaceConfig.getProjectSn()); + this.buildAndSendOneWorkerForHk(ufaceDevs, workerInfo, 3, ufaceConfig.getProjectSn(), true); } } } @@ -226,7 +226,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl list = ufaceDevService.getAllDevsByProjectSn(workerInfo.getProjectSn()); - this.buildAndSendOneWorkerForHk(list, workerInfo, 2, workerInfo.getProjectSn()); + this.buildAndSendOneWorkerForHk(list, workerInfo, 2, workerInfo.getProjectSn(), true); workerInfoService.updateWorkerHkStatus(workerInfo); } else { Map param = new HashMap<>(); @@ -474,7 +474,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl list = ufaceDevService.getAllDevsByProjectSn(ufaceConfig.getProjectSn()); - this.buildAndSendOneWorkerForHk(list, workerInfo, 1, ufaceConfig.getProjectSn()); + this.buildAndSendOneWorkerForHk(list, workerInfo, 1, ufaceConfig.getProjectSn(), true); } } @@ -530,7 +530,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl allDevList, WorkerInfo workerInfo, int model, String projectSn) { + public void buildAndSendOneWorkerForHk(List allDevList, WorkerInfo workerInfo, int model, String projectSn, boolean sendNotice) { List workerAndDevSnList = new ArrayList<>(); if (model == 2 || model == 1) { Pair sendAndDeleteDevSnsPair = getSendAndDeleteDevSns(workerInfo); @@ -579,7 +580,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl