吉安感知网项目-后端
linwei
7 hours ago 51a551a7f8eae7654f973d45cd2fa2952774673d
drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwAlarmFavoriteServiceImpl.java
@@ -16,19 +16,21 @@
 */
package org.sxkj.fw.record.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.sxkj.fw.record.entity.FwAlarmFavoriteEntity;
import org.sxkj.fw.record.vo.FwAlarmFavoriteVO;
import org.sxkj.fw.record.excel.FwAlarmFavoriteExcel;
import org.sxkj.fw.record.mapper.FwAlarmFavoriteMapper;
import org.sxkj.fw.record.service.IFwAlarmFavoriteService;
import org.springframework.stereotype.Service;
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.record.vo.FwAlarmFavoriteVO;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 告警记录关注表 服务实现类
@@ -54,4 +56,50 @@
      return fwAlarmFavoriteList;
   }
   /**
    *
    * @param longList
    * @return
    */
   @Override
   public boolean cancelFavorite(List<Long> longList) {
      List<FwAlarmFavoriteEntity> list = list(Wrappers.<FwAlarmFavoriteEntity>lambdaQuery()
         .in(FwAlarmFavoriteEntity::getAlarmRecordId, longList)
         .eq(FwAlarmFavoriteEntity::getUserId, AuthUtil.getUserId()));
      List<Long> collect = list.stream().map(item -> item.getId()).collect(Collectors.toList());
      return deleteLogic(collect);
   }
   /**
    * 关注接口
    * @param fwAlarmFavoriteEntity 关注实体
    * @return boolean 是否操作成功
    */
   @Transactional(rollbackFor = Exception.class)
   @Override
   public boolean saveFwAlarmFavorite(FwAlarmFavoriteEntity fwAlarmFavoriteEntity) {
      // 查询是否存在记录(包括已删除)
      FwAlarmFavoriteEntity existingEntity = baseMapper.selectOne(Wrappers.<FwAlarmFavoriteEntity>lambdaQuery()
         .eq(FwAlarmFavoriteEntity::getAlarmRecordId, fwAlarmFavoriteEntity.getAlarmRecordId())
         .eq(FwAlarmFavoriteEntity::getUserId, fwAlarmFavoriteEntity.getUserId())
      );
      if (existingEntity != null) {
         // 已关注状态
         if (existingEntity.getIsDeleted() == 0) {
            return true;
         }
         // 恢复已删除记录
         existingEntity.setIsDeleted(0);
         existingEntity.setTitle(fwAlarmFavoriteEntity.getTitle());
         existingEntity.setRemark(fwAlarmFavoriteEntity.getRemark());
         existingEntity.setUpdateUser(AuthUtil.getUserId());
         return updateById(existingEntity);
      }
      // 新增记录
      fwAlarmFavoriteEntity.setIsDeleted(0);
      fwAlarmFavoriteEntity.setCreateUser(AuthUtil.getUserId());
      return save(fwAlarmFavoriteEntity);
   }
}