From 7368bb37f78ef361105c795190c502299d3bdfc4 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期四, 07 五月 2026 10:37:58 +0800
Subject: [PATCH] 合并代码
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java
index 0f13af4..88e16bf 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpStationServiceImpl.java
@@ -1,6 +1,7 @@
package com.xiaopeng.map.service.serviceimpl;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.map.XpGeoFencingPolygon;
@@ -165,6 +166,19 @@
if(dto.getXpPointList().isEmpty()){
throw new ServiceException("场站点位不能为空");
}
+ //场站名字唯一
+ // 场站名字唯一校验:新增时直接判断,编辑时需排除当前ID
+ LambdaQueryWrapper<XpStation> nameQueryWrapper = new LambdaQueryWrapper<>();
+ nameQueryWrapper.eq(XpStation::getStationName, dto.getStationName());
+ // 如果是编辑操作,需要排除当前记录
+ if (dto.getId() != null) {
+ nameQueryWrapper.ne(XpStation::getId, dto.getId());
+ }
+ long count = this.count(nameQueryWrapper);
+ if (count > 0) {
+ throw new ServiceException("场站名称已存在");
+ }
+
for (XpPoint xpPoint : dto.getXpPointList()) {
if(xpPoint.getId() == null ){
throw new ServiceException("点位id不能为空");
@@ -217,6 +231,20 @@
);
}
}
+ }
+ }
+ if(dto.getEffectivePeriod() == null){
+ dto.setEffectivePeriod(1);
+ }
+ //场站的自定义时间必须在 围栏运营时间内
+ if(dto.getOperationType() == 2){
+// ["06:00-12:00", "13:00-21:00"]
+ if(StrUtil.isBlank(dto.getEffectiveTimePeriod())){
+ throw new ServiceException("自定义时间段不能为空");
+ }
+ boolean stationTimeFenceOperationStrategy = bootCommonService.getStationTime_fenceOperationStrategy(dto.getEffectivePeriod(), dto.getEffectiveTimePeriod(), electronicFence.getOperationStrategy());
+ if(!stationTimeFenceOperationStrategy){
+ throw new ServiceException("自定义时间必须在围栏运营时间内");
}
}
@@ -306,6 +334,7 @@
if(dto.getStatus() == 2){//场站状态 0=草稿 1=待启用 2=启用中 3=已停用 4=失效
//运营状态 1=待启用 2=启用中 3=已停用 4=已失效
xpPoint.setOperationStatus(2);
+ xpPoint.setVerificationStatus(5);
}else if(dto.getStatus() == 3){
xpPoint.setOperationStatus(3);
}
--
Gitblit v1.7.1