From 8ae33e75865e2d0a5c0a3ce7f643fce9db58bb81 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 09 Jun 2026 10:56:36 +0800
Subject: [PATCH] feat(police-station): 添加派出所名称唯一性校验功能
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 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 f2abfe6..20b786f 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
@@ -26,6 +26,7 @@
import org.sxkj.fw.area.mapper.FwPoliceStationMapper;
import org.sxkj.fw.area.service.IFwPoliceStationService;
import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
@@ -71,18 +72,24 @@
@Override
public boolean save(FwPoliceStationEntity fwPoliceStation) {
+ // 校验派出所名称唯一性
+ checkStationNameUnique(fwPoliceStation.getStationName(), null);
fillCreateFields(fwPoliceStation);
return super.save(fwPoliceStation);
}
@Override
public boolean updateById(FwPoliceStationEntity fwPoliceStation) {
+ // 校验派出所名称唯一性(排除当前记录)
+ checkStationNameUnique(fwPoliceStation.getStationName(), fwPoliceStation.getId());
fillUpdateFields(fwPoliceStation);
return super.updateById(fwPoliceStation);
}
@Override
public boolean saveOrUpdate(FwPoliceStationEntity fwPoliceStation) {
+ // 校验派出所名称唯一性
+ checkStationNameUnique(fwPoliceStation.getStationName(), fwPoliceStation.getId());
if (fwPoliceStation.getId() == null) {
fillCreateFields(fwPoliceStation);
} else {
@@ -91,6 +98,28 @@
return super.saveOrUpdate(fwPoliceStation);
}
+ /**
+ * 校验派出所名称唯一性
+ *
+ * @param stationName 派出所名称
+ * @param excludeId 排除的ID(更新时使用,排除当前记录)
+ * @throws RuntimeException 当名称已存在时抛出异常
+ */
+ private void checkStationNameUnique(String stationName, Long excludeId) {
+ if (StringUtil.isBlank(stationName)) {
+ return;
+ }
+ LambdaQueryWrapper<FwPoliceStationEntity> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(FwPoliceStationEntity::getStationName, stationName);
+ if (excludeId != null) {
+ queryWrapper.ne(FwPoliceStationEntity::getId, excludeId);
+ }
+ long count = count(queryWrapper);
+ if (count > 0) {
+ throw new RuntimeException("派出所名称 '" + stationName + "' 已存在");
+ }
+ }
+
private void fillCreateFields(FwPoliceStationEntity fwPoliceStation) {
// 创建/更新基础审计字段统一设置
Long userId = AuthUtil.getUserId();
--
Gitblit v1.9.3