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