From e4282457d992fd59acdaf0de9f150105a7015b9c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 21 四月 2026 14:38:46 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 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 6f1e576..71c7450 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
@@ -128,6 +128,7 @@
         if (pointAddDto.getElectronicAreaId() == null) {
             throw new ServiceException("运营区域ID不能为空", I18nKeyConstant.POINT_ELECTRONIC_AREA_ID_EMPTY);
         }
+        validatePointNameUnique(pointAddDto.getPointName(), null);
 
         String cityPrefix = buildCityPrefix(pointAddDto.getElectronicAreaId());
         String lockKey = buildPointNumberLockKey(cityPrefix, POINT_BIZ_TYPE);
@@ -165,6 +166,20 @@
         xpPoint.setPointNumber(pointNumber);
         this.save(xpPoint);
         return xpPoint;
+    }
+
+    @Override
+    public void validatePointNameUnique(String pointName, Long excludeId) {
+        if (!StringUtils.hasText(pointName)) {
+            return;
+        }
+        long count = this.lambdaQuery()
+                .eq(XpPoint::getPointName, pointName)
+                .ne(excludeId != null, XpPoint::getId, excludeId)
+                .count();
+        if (count > 0) {
+            throw new ServiceException("点位名称已存在", I18nKeyConstant.POINT_NAME_EXISTS);
+        }
     }
 
     @Override
@@ -324,7 +339,10 @@
         List<XpPoint> list = this.baseMapper.listAll(query);
         for (XpPoint xpPoint : list) {
             String pointPictures = xpPoint.getPointPictures();
+            log.info("pointPictures:{}", pointPictures);
             if (StringUtils.isNotBlank(pointPictures)) {
+                log.info("pointPictures进入处理:{}", pointPictures);
+
                 JSONArray jsonArray = JSONArray.parseArray(pointPictures);
                 for (int i = 0; i < jsonArray.size(); i++) {
                     JSONObject jsonObject = jsonArray.getJSONObject(i);
@@ -334,12 +352,15 @@
                     String downloadUrl ="";
                     try {
                         downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
+                        log.info("downloadUrl:{}", downloadUrl);
                     } catch (UnsupportedEncodingException e) {
                         log.error("获取图片下载地址失败", e);
                     }
                     jsonObject.put("url", downloadUrl);
                 }
+                log.info("jsonArray:{}", jsonArray);
                 xpPoint.setPointPictures(JSONArray.toJSONString(jsonArray));
+                log.info("xpPoint:{}", xpPoint.getPointPictures());
             }
 
         }

--
Gitblit v1.7.1