From 3c324796964d5a6de04ad22f493b2b4447b3f531 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 14 四月 2026 21:06:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0
---
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 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 fd9d342..e4deeff 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
@@ -14,6 +14,10 @@
import com.xiaopeng.common.core.web.page.PageInfo;
import org.springframework.stereotype.Service;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
/**
* <p>
* 用户收藏地址 服务实现类
@@ -27,6 +31,7 @@
private static final int COLLECT_TYPE_ADD = 1;
private static final int COLLECT_TYPE_CANCEL = 2;
+ private static final int ITEM_TYPE_POINT = 1;
private static final int ITEM_TYPE_STATION = 2;
private static final int COLLECT_LIMIT = 50;
@@ -93,6 +98,28 @@
return resultPage;
}
+ @Override
+ public List<Long> getPointIdsByUserId(Long uid) {
+ return this.list(buildUserCollectQuery(uid)
+ .eq(XpAppUserCollectAddr::getItemType, ITEM_TYPE_POINT))
+ .stream()
+ .map(XpAppUserCollectAddr::getPointId)
+ .filter(Objects::nonNull)
+ .distinct()
+ .collect(Collectors.toList());
+ }
+
+ @Override
+ public List<Long> getStationIdsByUserId(Long uid) {
+ return this.list(buildUserCollectQuery(uid)
+ .eq(XpAppUserCollectAddr::getItemType, ITEM_TYPE_STATION))
+ .stream()
+ .map(XpAppUserCollectAddr::getStationId)
+ .filter(Objects::nonNull)
+ .distinct()
+ .collect(Collectors.toList());
+ }
+
/**
* 将前端传入的站点/场站目标解析成统一收藏目标。
* 优先按 itemType 判断,未传时兼容旧逻辑按 pointId 处理。
@@ -132,6 +159,12 @@
return wrapper;
}
+ private LambdaQueryWrapper<XpAppUserCollectAddr> buildUserCollectQuery(Long uid) {
+ return new LambdaQueryWrapper<XpAppUserCollectAddr>()
+ .eq(XpAppUserCollectAddr::getAppUserId, uid)
+ .eq(XpAppUserCollectAddr::getDeleted, 0);
+ }
+
private boolean isStationItem(CollectAddrDTO dto) {
return dto.getItemType() != null && dto.getItemType() == ITEM_TYPE_STATION;
}
--
Gitblit v1.7.1