From 0d3941a6eae94aed06c873e012e6864438d4efa7 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 12 四月 2026 14:22:44 +0800
Subject: [PATCH] 1.0小程序功能  个人中心

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java
index d0b28b2..d1d741d 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java
@@ -8,9 +8,17 @@
 import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
 import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
 import com.xiaopeng.account.service.IXpAppUserCollectAddrService;
+import com.xiaopeng.api.dto.map.XpPointExportExcelQuery;
+import com.xiaopeng.api.feignClient.operation.XpPointClient;
 import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
+import com.xiaopeng.api.model.operation.XpPoint;
+import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.exception.ServiceException;
 import com.xiaopeng.common.core.web.page.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -21,6 +29,10 @@
  * @since 2026-04-10
  */
 public class XpAppUserCollectAddrServiceImpl extends ServiceImpl<XpAppUserCollectAddrMapper, XpAppUserCollectAddr> implements IXpAppUserCollectAddrService {
+
+
+    @Autowired
+    private XpPointClient xpPointClient;
 
     /**
      * 收藏地址
@@ -40,8 +52,7 @@
             }
             Long old = this.count(new LambdaQueryWrapper<XpAppUserCollectAddr>()
                     .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
-                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getLongitude, dto.getLongitude())
-                    .eq(XpAppUserCollectAddr::getLatitude, dto.getLatitude()));
+                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getPointId, dto.getPointId()));
             if (old > 0) {
                 return true;
             }
@@ -49,12 +60,12 @@
             xpAppUserCollectAddr.setAppUserId(Long.parseLong(uid));
             xpAppUserCollectAddr.setLatitude(dto.getLatitude());
             xpAppUserCollectAddr.setLongitude(dto.getLongitude());
+            xpAppUserCollectAddr.setPointId(dto.getPointId());
             return this.save(xpAppUserCollectAddr);
         } else {
             XpAppUserCollectAddr xpAppUserCollectAddr = this.getOne(new LambdaQueryWrapper<XpAppUserCollectAddr>()
                     .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
-                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getLongitude, dto.getLongitude())
-                    .eq(XpAppUserCollectAddr::getLatitude, dto.getLatitude()).last("limit 1"));
+                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getPointId, dto.getPointId()).last("limit 1"));
 
             if (xpAppUserCollectAddr != null) {
                 return this.removeById(xpAppUserCollectAddr.getId());
@@ -73,6 +84,25 @@
     public PageInfo<XpAppUserCollectAddrVO> userCollectAddrList(XpUserCollectAddrListQuery query, String uid) {
         Page<XpAppUserCollectAddrVO> page = new Page<>(query.getPageNum(), query.getPageSize());
         Page<XpAppUserCollectAddrVO> pageData = this.baseMapper.userCollectAddrPageList(page, query, Long.parseLong(uid));
+
+        if(!pageData.getRecords().isEmpty()){
+            List<Long> pointIds = pageData.getRecords().stream().map(XpAppUserCollectAddrVO::getPointId).collect(Collectors.toList());
+            XpPointExportExcelQuery xpPointExportExcelQuery = new XpPointExportExcelQuery();
+            xpPointExportExcelQuery.setPointIds(pointIds);
+            R<List<XpPoint>> pointClientByIds = xpPointClient.getByIds(xpPointExportExcelQuery);
+            if(R.isSuccess(pointClientByIds)){
+                List<XpPoint> data = pointClientByIds.getData();
+                pageData.getRecords().forEach(item -> {
+                    data.forEach(point -> {
+                        if(item.getPointId().equals(point.getId())){
+                            item.setPointName(point.getPointName());
+                            item.setPointAddress(point.getPointAddress());
+                        }
+                    });
+                });
+            }
+        }
+
         PageInfo<XpAppUserCollectAddrVO> resultPage = new PageInfo<>(query.getPageNum(), query.getPageSize());
         resultPage.setTotal(pageData.getTotal());
         resultPage.setRecords(pageData.getRecords());

--
Gitblit v1.7.1