From e8f3b594a9d2e1c99c1fa748f1927f52f2fc3f80 Mon Sep 17 00:00:00 2001 From: GUO <1923636941@qq.com> Date: Wed, 29 May 2024 22:35:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=8A=B6=E6=80=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncHikvision.java | 31 ++++++++++++------- .../com/zhgd/xmgl/call/HikvisionCall.java | 2 +- .../impl/ProjectUfaceConfigServiceImpl.java | 6 ++++ .../service/impl/WorkerInfoServiceImpl.java | 10 +++--- 4 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index 11462f435..042ea7d7c 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -15,6 +15,7 @@ import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.TeamInfo; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; +import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.modules.xz.entity.XzHikvisionSync; import com.zhgd.xmgl.modules.xz.mapper.XzHikvisionSyncMapper; import com.zhgd.xmgl.security.util.SecurityUtils; @@ -35,6 +36,9 @@ import java.util.Objects; @Slf4j @Component public class AsyncHikvision { + @Autowired + @Lazy + WorkerInfoServiceImpl workerInfoService; @Autowired @Lazy HikvisionCall hikvisionCall; @@ -60,6 +64,10 @@ public class AsyncHikvision { @Autowired private XzHikvisionSyncMapper xzHikvisionSyncMapper; + public static Date getSyncLotNow() { + return ThreadLocalUtil.getNotNull().getDate("now"); + } + /** * 添加劳务人员-海康 * @@ -78,7 +86,7 @@ public class AsyncHikvision { } public void addWorkerForHikvision(WorkerInfo workerInfo) { - Date now = ThreadLocalUtil.getNotNull().getDate("now"); + Date now = getSyncLotNow(); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(1).setWhoId(workerInfo.getId()).setCreateDate(now)); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(1).setWhoId(workerInfo.getId()).setCreateDate(now)); asyncHikvision.addWorkerForHikvisionAsync(workerInfo, now); @@ -96,7 +104,7 @@ public class AsyncHikvision { } public void editWorkerForHikvision(WorkerInfo workerInfo) { - Date now = ThreadLocalUtil.getNotNull().getDate("now"); + Date now = getSyncLotNow(); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(2).setWhoId(workerInfo.getId()).setCreateDate(now)); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(2).setWhoId(workerInfo.getId()).setCreateDate(now)); asyncHikvision.editWorkerForHikvisionAsync(workerInfo, now); @@ -116,7 +124,7 @@ public class AsyncHikvision { if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type); } - hikvisionCall.updateAllFailStatusIfNullByNow(workerInfo.getProjectSn(), workerInfo.getId(), 1, ThreadLocalUtil.getNotNull().getDate("now")); + hikvisionCall.updateAllFailStatusIfNullByNow(workerInfo.getProjectSn(), workerInfo.getId(), 1, getSyncLotNow()); } @Async("hikvisionExecutor") @@ -131,7 +139,7 @@ public class AsyncHikvision { } public void deleteWorkerForHikvision(WorkerInfo workerInfo) { - Date now = ThreadLocalUtil.getNotNull().getDate("now"); + Date now = getSyncLotNow(); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(3).setWhoId(workerInfo.getId()).setCreateDate(now)); xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(3).setWhoId(workerInfo.getId()).setCreateDate(now)); asyncHikvision.deleteWorkerForHikvisionAsync(workerInfo, now); @@ -180,7 +188,6 @@ public class AsyncHikvision { hikvisionCall.handleAlarmCar(project, carInfo); } - private void sendNoticeForCar(CarInfo carInfo, Exception e, String action) { String title = action + "车辆到海康isc失败"; String type = "24"; @@ -195,7 +202,7 @@ public class AsyncHikvision { if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type); } - hikvisionCall.updateAllFailStatusIfNullByNow(carInfo.getProjectSn(), carInfo.getId(), 4, ThreadLocalUtil.getNotNull().getDate("now")); + hikvisionCall.updateAllFailStatusIfNullByNow(carInfo.getProjectSn(), carInfo.getId(), 4, getSyncLotNow()); } public void editCarInfoForHikvision(CarInfo carInfo, CarInfo old) { @@ -367,7 +374,7 @@ public class AsyncHikvision { if (StringUtils.isBlank(devSn)) { return; } - Date now = ThreadLocalUtil.getNotNull().getDate("now"); + Date now = getSyncLotNow(); String[] devSnArr = StringUtils.split(devSn, ","); for (String ds : devSnArr) { xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(3).setOperate(1).setWhoId(workerInfo.getId()).setDeviceSn(ds).setCreateDate(now)); @@ -392,7 +399,7 @@ public class AsyncHikvision { } else { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); } - hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, ThreadLocalUtil.getNotNull().getDate("now")); + hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, getSyncLotNow()); return; } @@ -412,7 +419,7 @@ public class AsyncHikvision { if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), StringUtils.substring(msg, 0, msg.length() - 1), title, type); } - hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, ThreadLocalUtil.getNotNull().getDate("now")); + hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, getSyncLotNow()); } catch (Exception e) { log.error("海康:", e); } @@ -428,7 +435,7 @@ public class AsyncHikvision { if (StringUtils.isBlank(devSns)) { return; } - Date now = ThreadLocalUtil.getNotNull().getDate("now"); + Date now = getSyncLotNow(); String[] devSnArr = StringUtils.split(devSns, ","); for (String ds : devSnArr) { xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(3).setOperate(3).setWhoId(workerInfo.getId()).setDeviceSn(ds).setCreateDate(now)); @@ -456,7 +463,7 @@ public class AsyncHikvision { } else { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); } - hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, ThreadLocalUtil.getNotNull().getDate("now")); + hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, getSyncLotNow()); return; } @@ -476,7 +483,7 @@ public class AsyncHikvision { if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), StringUtils.substring(msg, 0, msg.length() - 1), title, type); } - hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, ThreadLocalUtil.getNotNull().getDate("now")); + hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, getSyncLotNow()); } catch (Exception e) { log.error("海康:", e); } diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 374a6ce1b..44764dece 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -1211,7 +1211,7 @@ public class HikvisionCall { updateTotalStatus(projectSn, whoId, type, now); } - private void updateTotalStatus(String projectSn, Long whoId, Integer bigType, Date now) { + public void updateTotalStatus(String projectSn, Long whoId, Integer bigType, Date now) { List xzHikvisionSyncs = xzHikvisionSyncMapper.selectList(new LambdaQueryWrapper() .eq(XzHikvisionSync::getProjectSn, projectSn) .eq(XzHikvisionSync::getWhoId, whoId) 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 4dacce2b2..244a1863a 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 @@ -16,11 +16,13 @@ import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper; import com.zhgd.xmgl.modules.worker.mapper.UfaceDevToGroupMapper; import com.zhgd.xmgl.modules.worker.mapper.UserDevAuthorityMapper; +import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.util.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,6 +39,9 @@ import java.util.stream.Collectors; @Slf4j @Transactional(rollbackFor = Exception.class) public class ProjectUfaceConfigServiceImpl extends ServiceImpl implements IProjectUfaceConfigService { + @Lazy + @Autowired + private WorkerInfoServiceImpl workerInfoService; @Autowired private ProjectUfaceConfigMapper projectUfaceConfigMapper; @Autowired @@ -311,6 +316,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl param = new HashMap<>(); param.put("projectSn", workerInfo.getProjectSn()); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index fbef0e452..51a5dc611 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -14,7 +14,6 @@ import cn.hutool.poi.excel.ExcelWriter; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -434,10 +433,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl() - .set(WorkerInfo::getSendSuccessStatus, null) - .eq(WorkerInfo::getId, workerInfo.getId()) - ); //同步海康 asyncHikvision.editWorkerForHikvision(workerInfo); @@ -456,9 +451,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl