From 94c833f5908453da5957809ec97873df930bcfa6 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 26 Jan 2026 10:25:02 +0800
Subject: [PATCH] 工单优化

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwAlarmFavoriteServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwAlarmFavoriteServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwAlarmFavoriteServiceImpl.java
index 050edd5..a96c8fb 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwAlarmFavoriteServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwAlarmFavoriteServiceImpl.java
@@ -16,18 +16,18 @@
  */
 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;
@@ -69,4 +69,37 @@
 		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);
+	}
 }

--
Gitblit v1.9.3