From dbc7e62be76ff48b26461ffaef9c3fc87be018cb Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 11 Feb 2026 11:05:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 89 insertions(+), 4 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java
index d89447c..f82c831 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneManageServiceImpl.java
@@ -16,7 +16,11 @@
*/
package org.sxkj.fw.area.service.impl;
-import org.sxkj.fw.area.dto.FwDefenseSceneManageDTO;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.checkerframework.checker.units.qual.A;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.sxkj.fw.area.param.FwDefenseSceneManagePageParam;
import org.sxkj.fw.area.entity.FwDefenseSceneManageEntity;
import org.sxkj.fw.area.vo.FwDefenseSceneManageVO;
import org.sxkj.fw.area.excel.FwDefenseSceneManageExcel;
@@ -26,6 +30,13 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.sxkj.fw.common.FwBaseInfo;
+import org.sxkj.fw.device.entity.FwDeviceEntity;
+import org.sxkj.fw.device.service.IFwDeviceService;
+import org.sxkj.system.cache.SysCache;
+
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
/**
@@ -37,19 +48,93 @@
@Service
public class FwDefenseSceneManageServiceImpl extends BaseServiceImpl<FwDefenseSceneManageMapper, FwDefenseSceneManageEntity> implements IFwDefenseSceneManageService {
+ @Autowired
+ private IFwDeviceService fwDeviceService;
+
@Override
- public IPage<FwDefenseSceneManageVO> selectFwDefenseSceneManagePage(IPage<FwDefenseSceneManageVO> page, FwDefenseSceneManageDTO fwDefenseSceneManage) {
- return page.setRecords(baseMapper.selectFwDefenseSceneManagePage(page, fwDefenseSceneManage));
+ public IPage<FwDefenseSceneManageVO> selectFwDefenseSceneManagePage(IPage<FwDefenseSceneManageVO> page, FwDefenseSceneManagePageParam fwDefenseSceneManagePageParam) {
+ if (!AuthUtil.isAdministrator()) {
+ List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()));
+ fwDefenseSceneManagePageParam.setDeptList(deptList);
+ }
+ return page.setRecords(baseMapper.selectFwDefenseSceneManagePage(page, fwDefenseSceneManagePageParam));
+ }
+
+ @Override
+ public FwDefenseSceneManageVO selectFwDefenseSceneManageDetail(Long id) {
+ return baseMapper.selectFwDefenseSceneManageDetail(id);
+ }
+
+ @Override
+ public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(java.util.Date time) {
+ return baseMapper.selectFwDefenseSceneManageList(time);
}
@Override
public List<FwDefenseSceneManageExcel> exportFwDefenseSceneManage(Wrapper<FwDefenseSceneManageEntity> queryWrapper) {
List<FwDefenseSceneManageExcel> fwDefenseSceneManageList = baseMapper.exportFwDefenseSceneManage(queryWrapper);
- //fwDefenseSceneManageList.forEach(fwDefenseSceneManage -> {
+ // fwDefenseSceneManageList.forEach(fwDefenseSceneManage -> {
// fwDefenseSceneManage.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDefenseSceneManage.getType()));
//});
return fwDefenseSceneManageList;
}
+ @Override
+ public boolean saveOrUpdateFwDefenseSceneManage(FwDefenseSceneManageEntity convert) {
+ boolean b = saveOrUpdate(convert);
+ if (b) {
+ // 启用设备
+ List<Long> deviceIdList = baseMapper.selectDeviceId(convert.getId());
+ return fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate()
+ .set(FwDeviceEntity::getIsEnabled, 1)
+ .in(FwDeviceEntity::getId, deviceIdList));
+ }
+ return false;
+ }
+
+ /**
+ * 删除场景管理
+ *
+ * @param longList
+ * @return
+ */
+ @Override
+ public boolean deleteFwDefenseSceneManage(List<Long> longList) {
+ // 删除场景管理
+ boolean b = deleteLogic(longList);
+ if (b) {
+ // 1.遍历所有删除的场景管理ID
+ List<Long> AllDeviceId = new ArrayList<>();
+ for (Long sceneManageId : longList) {
+ // 2.获取场景管理下的所有设备ID
+ List<Long> deviceIdList = baseMapper.selectDeviceId(sceneManageId);
+ AllDeviceId.addAll(deviceIdList);
+ }
+ if (AllDeviceId == null || AllDeviceId.isEmpty()) {
+ return true;
+ }
+ // 3.禁用设备
+ return fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate()
+ .set(FwDeviceEntity::getIsEnabled, 0)
+ .in(FwDeviceEntity::getId, AllDeviceId));
+ }
+ return false;
+ }
+
+ /**
+ * 获取场景管理下的所有设备ID
+ *
+ * @param sceneManageId
+ * @return
+ */
+ @Override
+ public List<Long> selectDeviceId(Long sceneManageId) {
+ return baseMapper.selectDeviceId(sceneManageId);
+ }
+
+ @Override
+ public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo, Date time) {
+ return baseMapper.selectFwDefenseSceneManageCockpitList(fwBaseInfo, time);
+ }
}
--
Gitblit v1.9.3