From 20eb98994ee1c89eb4ef453037a48d5e357ade5c Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期五, 24 四月 2026 21:53:12 +0800
Subject: [PATCH] 1.围栏、点位、场站接口修改和添加 2.发送微信通知 优惠卷、活动、改派/车接单
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 51 insertions(+), 5 deletions(-)
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
index 23ef5f7..0760b67 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -44,11 +45,7 @@
import com.xiaopeng.map.utils.TimeRangeChecker;
import com.xiaopeng.map.utils.holiday.HolidayUtil;
import com.xiaopeng.map.utils.map.map.FastDistanceCalculator;
-import com.xiaopeng.map.vo.NearestNextVo;
-import com.xiaopeng.map.vo.NearestVo;
-import com.xiaopeng.map.vo.OrderDistanceVo;
-import com.xiaopeng.map.vo.StationDetailVo;
-import com.xiaopeng.map.vo.StationPointItemVo;
+import com.xiaopeng.map.vo.*;
import lombok.extern.slf4j.Slf4j;
import net.sourceforge.pinyin4j.PinyinHelper;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
@@ -369,6 +366,12 @@
List<XpPoint> list = this.baseMapper.pointMap(query);
return list;
}
+
+ @Override
+ public List<FenceAndStationVo> findListFenceAndStation(){
+ return baseMapper.findListFenceAndStation();
+ }
+
@Override
public List<XpPoint> findList(PointListQuery query) {
return this.baseMapper.listAll(query);
@@ -567,6 +570,49 @@
}
}
List<XpPoint> list = this.baseMapper.pageList(pageInfo,query);
+ if(CollUtil.isNotEmpty(list)){
+ /**
+ * hover在状态标签时,展示信息
+ * - 已停用:展示停用原因;比如“因所属场站 [白云机场] 已关闭,该点位同步失效”
+ * - 测试不通过:展示不通过原因
+ * - 待生效:展示生效时间
+ */
+ for (XpPoint point : list) {
+ String hoverStatusDes = "";
+ if(point.getVerificationStatus()==4){//验证状态 1=待验证、2=验证中、3=已验证 4验证失败 5待生效
+ hoverStatusDes = (point.getRemarks() == null ?"":point.getRemarks());
+ }
+ if(point.getOperationStatus() == 3){//运营状态 1=待启用 2=启用中 3=已停用 4=已失效
+ hoverStatusDes = (point.getRemarks()==null?"":point.getRemarks());
+ }
+ if(point.getVerificationStatus()==5 && point.getOperationStatus() == 1){
+ if(point.getOperationType() == 1){//运营类型 1=与运营区同步 2=自定义时间段
+ ;
+ //[{"name": "策略组1", "time": ["06:00-12:00", "13:00-22:59"], "type": 0, "typeStr": []},
+ // {"name": "策略组2", "time": ["05:00-12:00", "12:00-16:00"], "type": 2, "typeStr": ""},
+ // {"name": "策略组3", "time": ["09:00-21:59"], "type": 1, "typeStr": ""}]
+ JSONArray electronicOperationStrategys = JSONArray.parseArray(point.getElectronicOperationStrategy());
+ if(!electronicOperationStrategys.isEmpty()){
+ StringJoiner joiner = new StringJoiner(";");
+ for (Object electronicOperationStrategy : electronicOperationStrategys) {
+ JSONObject obj = (JSONObject) electronicOperationStrategy;
+
+ List<String> times = obj.getList("time",String.class);
+ joiner.add((String.join(";", times)));
+ }
+ hoverStatusDes = joiner.toString() ;
+ }
+ }else{
+ if(StrUtil.isNotBlank(point.getEffectiveTimePeriod()) ){
+ List<String> effectiveTimePeriods = JSONArray.parseArray(point.getEffectiveTimePeriod(), String.class);
+ hoverStatusDes = String.join(";", effectiveTimePeriods);
+// hoverStatusDes = "待生效:"+point.getElectronicEffectTime().toString() ;
+ }
+ }
+ }
+ point.setHoverStatusDes(hoverStatusDes);
+ }
+ }
pageInfo.setRecords(list);
return pageInfo;
}
--
Gitblit v1.7.1