吉安感知网项目-后端
linwei
2026-02-11 dbc7e62be76ff48b26461ffaef9c3fc87be018cb
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);
   }
}