From 51a551a7f8eae7654f973d45cd2fa2952774673d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 07 Aug 2026 10:56:55 +0800
Subject: [PATCH] perf(task): 优化巡查任务审核性能并添加详细日志记录
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java | 39 +++++++++++++++++++++++++++++++--------
1 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
index 88dd83a..64330e9 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
@@ -41,6 +41,7 @@
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseSceneVO;
import org.sxkj.fw.device.entity.FwDeviceEntity;
+import org.sxkj.fw.device.mapper.FwDeviceMapper;
import org.sxkj.fw.device.service.IFwDeviceService;
import org.sxkj.system.cache.SysCache;
@@ -58,6 +59,7 @@
public class FwAreaDivideServiceImpl extends BaseServiceImpl<FwAreaDivideMapper, FwAreaDivideEntity> implements IFwAreaDivideService {
private final IFwAreaDivideExtService fwAreaDivideExtService;
+ private final FwDeviceMapper fwDeviceMapper;
@Override
public IPage<FwAreaDivideVO> selectFwAreaDividePage(IPage<FwAreaDivideVO> page, FwAreaDivideDTO fwAreaDivide) {
@@ -237,6 +239,28 @@
}
@Override
+ public String selectAreaNameByDeviceId(Long deviceId) {
+ if (deviceId == null) {
+ return "";
+ }
+ List<FwAreaDivideVO> areaList = baseMapper.selectFwAreaDivideListByDeviceIds(Collections.singletonList(deviceId));
+ if (areaList == null || areaList.isEmpty()) {
+ return "";
+ }
+ Set<String> areaNameSet = new LinkedHashSet<>();
+ for (FwAreaDivideVO area : areaList) {
+ if (area == null || StringUtil.isBlank(area.getAreaName())) {
+ continue;
+ }
+ areaNameSet.add(area.getAreaName().trim());
+ }
+ if (areaNameSet.isEmpty()) {
+ return "";
+ }
+ return String.join(",", areaNameSet);
+ }
+
+ @Override
public IPage<FwAreaDivideStatisticsVO> selectFwAreaDivideStatisticsPage(IPage<FwAreaDivideStatisticsVO> page,
FwAreaDivideStatisticsDTO fwAreaDivideStatistics) {
if (!AuthUtil.isAdministrator()) {
@@ -388,16 +412,15 @@
// 判断区域是否绑定到场景中
boolean isBindScene = baseMapper.checkAreaBindScene(fwAreaDivide.getId());
if (isBindScene) {
- IFwDeviceService fwDeviceService = SpringUtil.getBean(IFwDeviceService.class);
+ // 启用新增的设备
if (!addedDeviceIds.isEmpty()) {
- fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate()
- .set(FwDeviceEntity::getIsEnabled, 1)
- .in(FwDeviceEntity::getId, addedDeviceIds));
+ List<Long> addedIds = parseIdList(String.join(",", addedDeviceIds));
+ fwDeviceMapper.batchUpdateIsEnabled(addedIds, 1);
}
+ // 禁用删除的设备
if (!removedDeviceIds.isEmpty()) {
- fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate()
- .set(FwDeviceEntity::getIsEnabled, 0)
- .in(FwDeviceEntity::getId, removedDeviceIds));
+ List<Long> removedIds = parseIdList(String.join(",", removedDeviceIds));
+ fwDeviceMapper.batchUpdateIsEnabled(removedIds, 0);
}
}
}
@@ -574,7 +597,7 @@
for (Long deviceId : deviceIds) {
FwDeviceEntity device = new FwDeviceEntity();
device.setId(deviceId);
- device.setIsEnabled(false);
+ device.setIsEnabled(0);
fwDeviceService.updateById(device);
}
}
--
Gitblit v1.9.3