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/FwAreaDivideServiceImpl.java |   40 ++++++++++++++++++++++++++++++++--------
 1 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
index 0980a92..abd25df 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
@@ -17,6 +17,7 @@
 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.dto.FwAreaDivideDTO;
 import org.sxkj.fw.area.entity.FwAreaDivideEntity;
@@ -45,6 +46,10 @@
 		return page.setRecords(baseMapper.selectFwAreaDividePage(page, fwAreaDivide));
 	}
 
+	@Override
+	public FwAreaDivideVO selectFwAreaDivideDetail(Long id) {
+		return baseMapper.selectFwAreaDivideDetail(id);
+	}
 
 	@Override
 	public List<FwAreaDivideExcel> exportFwAreaDivide(Wrapper<FwAreaDivideEntity> queryWrapper) {
@@ -58,40 +63,59 @@
 	@Override
 	public boolean save(FwAreaDivideEntity fwAreaDivide) {
 		fillCreateFields(fwAreaDivide);
-		return super.save(fwAreaDivide);
+		return baseMapper.insertWithGeom(fwAreaDivide) > 0;
 	}
 
 	@Override
 	public boolean updateById(FwAreaDivideEntity fwAreaDivide) {
 		fillUpdateFields(fwAreaDivide);
-		return super.updateById(fwAreaDivide);
+		return baseMapper.updateWithGeomById(fwAreaDivide) > 0;
 	}
 
 	@Override
 	public boolean saveOrUpdate(FwAreaDivideEntity fwAreaDivide) {
 		if (fwAreaDivide.getId() == null) {
 			fillCreateFields(fwAreaDivide);
+			return baseMapper.insertWithGeom(fwAreaDivide) > 0;
 		} else {
 			fillUpdateFields(fwAreaDivide);
+			return baseMapper.updateWithGeomById(fwAreaDivide) > 0;
 		}
-		return super.saveOrUpdate(fwAreaDivide);
 	}
 
 	private void fillCreateFields(FwAreaDivideEntity fwAreaDivide) {
 		Long userId = AuthUtil.getUserId();
-		Long deptId = Long.valueOf(AuthUtil.getDeptId());
-		String areaCode = HeaderUtils.getAreaCode();
+		String deptIdStr = AuthUtil.getDeptId();
+		Long deptId = null;
+		if (StringUtil.isNotBlank(deptIdStr)) {
+			try {
+				deptId = Long.valueOf(deptIdStr);
+			} catch (NumberFormatException ignored) {
+				deptId = null;
+			}
+		}
+		String areaCode = fwAreaDivide.getAreaCode();
+		if (StringUtil.isBlank(areaCode)) {
+			areaCode = HeaderUtils.getAreaCode();
+		}
 		Date now = new Date();
 		fwAreaDivide.setCreateUser(userId);
 		fwAreaDivide.setUpdateUser(userId);
-		fwAreaDivide.setCreateDept(deptId);
-		fwAreaDivide.setAreaCode(areaCode);
+		if (deptId != null) {
+			fwAreaDivide.setCreateDept(deptId);
+		}
+		if (StringUtil.isNotBlank(areaCode)) {
+			fwAreaDivide.setAreaCode(areaCode);
+		}
 		fwAreaDivide.setCreateTime(now);
 		fwAreaDivide.setUpdateTime(now);
 	}
 
 	private void fillUpdateFields(FwAreaDivideEntity fwAreaDivide) {
-		fwAreaDivide.setUpdateUser(AuthUtil.getUserId());
+		Long userId = AuthUtil.getUserId();
+		if (userId != null) {
+			fwAreaDivide.setUpdateUser(userId);
+		}
 		fwAreaDivide.setUpdateTime(new Date());
 	}
 

--
Gitblit v1.9.3