From 1bfbc52da47b22f00a1c1f5f670c30f70d999873 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 02 Feb 2026 18:18:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java |   91 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 84 insertions(+), 7 deletions(-)

diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
index 7f03484..f2abfe6 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
@@ -16,7 +16,11 @@
  */
 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.FwPoliceStationEntity;
+import org.sxkj.fw.area.param.FwPoliceStationQueryParam;
 import org.sxkj.fw.area.vo.FwPoliceStationVO;
 import org.sxkj.fw.area.excel.FwPoliceStationExcel;
 import org.sxkj.fw.area.mapper.FwPoliceStationMapper;
@@ -26,29 +30,102 @@
 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 FwPoliceStationServiceImpl extends BaseServiceImpl<FwPoliceStationMapper, FwPoliceStationEntity> implements IFwPoliceStationService {
+public class FwPoliceStationServiceImpl extends BaseServiceImpl<FwPoliceStationMapper, FwPoliceStationEntity>
+	implements IFwPoliceStationService {
 
 	@Override
-	public IPage<FwPoliceStationVO> selectFwPoliceStationPage(IPage<FwPoliceStationVO> page, FwPoliceStationVO fwPoliceStation) {
-		return page.setRecords(baseMapper.selectFwPoliceStationPage(page, fwPoliceStation));
+	public IPage<FwPoliceStationVO> selectFwPoliceStationPage(IPage<FwPoliceStationVO> page,
+															  FwPoliceStationQueryParam param) {
+		return page.setRecords(baseMapper.selectFwPoliceStationPage(page, param));
 	}
 
+	@Override
+	public List<FwPoliceStationVO> selectFwPoliceStationList(String stationName) {
+		return baseMapper.selectFwPoliceStationList(stationName);
+	}
 
 	@Override
 	public List<FwPoliceStationExcel> exportFwPoliceStation(Wrapper<FwPoliceStationEntity> queryWrapper) {
 		List<FwPoliceStationExcel> fwPoliceStationList = baseMapper.exportFwPoliceStation(queryWrapper);
-		//fwPoliceStationList.forEach(fwPoliceStation -> {
-		//	fwPoliceStation.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwPoliceStation.getType()));
-		//});
+		// fwPoliceStationList.forEach(fwPoliceStation -> {
+		// fwPoliceStation.setTypeName(DictCache.getValue(DictEnum.YES_NO,
+		// FwPoliceStation.getType()));
+		// });
 		return fwPoliceStationList;
 	}
 
+	@Override
+	public List<FwPoliceStationVO> selectByPolygons(List<String> polygons) {
+		// 仅做空间过滤,具体坐标规则由 SQL 处理
+		return baseMapper.selectByPolygons(polygons);
+	}
+
+	@Override
+	public boolean save(FwPoliceStationEntity fwPoliceStation) {
+		fillCreateFields(fwPoliceStation);
+		return super.save(fwPoliceStation);
+	}
+
+	@Override
+	public boolean updateById(FwPoliceStationEntity fwPoliceStation) {
+		fillUpdateFields(fwPoliceStation);
+		return super.updateById(fwPoliceStation);
+	}
+
+	@Override
+	public boolean saveOrUpdate(FwPoliceStationEntity fwPoliceStation) {
+		if (fwPoliceStation.getId() == null) {
+			fillCreateFields(fwPoliceStation);
+		} else {
+			fillUpdateFields(fwPoliceStation);
+		}
+		return super.saveOrUpdate(fwPoliceStation);
+	}
+
+	private void fillCreateFields(FwPoliceStationEntity fwPoliceStation) {
+		// 创建/更新基础审计字段统一设置
+		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 = fwPoliceStation.getAreaCode();
+		// }
+		Date now = new Date();
+		fwPoliceStation.setCreateUser(userId);
+		fwPoliceStation.setUpdateUser(userId);
+		if (deptId != null) {
+			fwPoliceStation.setCreateDept(deptId);
+		}
+		// if (StringUtil.isNotBlank(areaCode)) {
+		// fwPoliceStation.setAreaCode(areaCode);
+		// }
+		fwPoliceStation.setCreateTime(now);
+		fwPoliceStation.setUpdateTime(now);
+	}
+
+	private void fillUpdateFields(FwPoliceStationEntity fwPoliceStation) {
+		Long userId = AuthUtil.getUserId();
+		if (userId != null) {
+			fwPoliceStation.setUpdateUser(userId);
+		}
+		fwPoliceStation.setUpdateTime(new Date());
+	}
+
 }

--
Gitblit v1.9.3