From 3ae46f2a59f9d4e751f78d8dc1a896ceba5ca495 Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Fri, 09 Jan 2026 15:13:40 +0800
Subject: [PATCH] 区域管理模块

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java |   64 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 1 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
index 8363622..d1ec445 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
@@ -16,6 +16,9 @@
  */
 package org.sxkj.fw.area.service.impl;
 
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.sxkj.common.utils.HeaderUtils;
 import org.sxkj.fw.area.entity.FwDefenseSceneEntity;
 import org.sxkj.fw.area.vo.FwDefenseSceneVO;
 import org.sxkj.fw.area.excel.FwDefenseSceneExcel;
@@ -26,12 +29,13 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import java.util.List;
+import java.util.Date;
 
 /**
  * 防控场景表 服务实现类
  *
  * @author lw
- * @since 2026-01-07
+ * @since 2026-01-08
  */
 @Service
 public class FwDefenseSceneServiceImpl extends BaseServiceImpl<FwDefenseSceneMapper, FwDefenseSceneEntity> implements IFwDefenseSceneService {
@@ -51,4 +55,62 @@
 		return fwDefenseSceneList;
 	}
 
+	@Override
+	public boolean save(FwDefenseSceneEntity fwDefenseScene) {
+		fillCreateFields(fwDefenseScene);
+		return super.save(fwDefenseScene);
+	}
+
+	@Override
+	public boolean updateById(FwDefenseSceneEntity fwDefenseScene) {
+		fillUpdateFields(fwDefenseScene);
+		return super.updateById(fwDefenseScene);
+	}
+
+	@Override
+	public boolean saveOrUpdate(FwDefenseSceneEntity fwDefenseScene) {
+		if (fwDefenseScene.getId() == null) {
+			fillCreateFields(fwDefenseScene);
+		} else {
+			fillUpdateFields(fwDefenseScene);
+		}
+		return super.saveOrUpdate(fwDefenseScene);
+	}
+
+	private void fillCreateFields(FwDefenseSceneEntity fwDefenseScene) {
+		Long userId = AuthUtil.getUserId();
+		String deptIdStr = AuthUtil.getDeptId();
+		Long deptId = null;
+		if (StringUtil.isNotBlank(deptIdStr)) {
+			try {
+				deptId = Long.valueOf(deptIdStr);
+			} catch (NumberFormatException ignored) {
+				deptId = null;
+			}
+		}
+		String areaCode = HeaderUtils.getAreaCode();
+		if (StringUtil.isBlank(areaCode)) {
+			areaCode = fwDefenseScene.getAreaCode();
+		}
+		Date now = new Date();
+		fwDefenseScene.setCreateUser(userId);
+		fwDefenseScene.setUpdateUser(userId);
+		if (deptId != null) {
+			fwDefenseScene.setCreateDept(deptId);
+		}
+		if (StringUtil.isNotBlank(areaCode)) {
+			fwDefenseScene.setAreaCode(areaCode);
+		}
+		fwDefenseScene.setCreateTime(now);
+		fwDefenseScene.setUpdateTime(now);
+	}
+
+	private void fillUpdateFields(FwDefenseSceneEntity fwDefenseScene) {
+		Long userId = AuthUtil.getUserId();
+		if (userId != null) {
+			fwDefenseScene.setUpdateUser(userId);
+		}
+		fwDefenseScene.setUpdateTime(new Date());
+	}
+
 }

--
Gitblit v1.9.3