liujie
2026-05-13 07b823813e0f41c49f3468f1d2fa86b82b46689e
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java
@@ -25,12 +25,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -120,28 +115,29 @@
        Page<XpAppUserCollectAddrVO> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<XpAppUserCollectAddrVO> pageData = this.baseMapper.userCollectAddrPageList(page, query, Long.parseLong(uid));
        Set<Long> collectedPointIds = new HashSet<>(getPointIdsByUserId(Long.parseLong(uid)));
        pageData.getRecords().forEach(xpAppUserCollectAddrVO -> {
            if(xpAppUserCollectAddrVO.getItemType() == 1){
                XpPointExportExcelQuery xpPointExportExcelQuery = new XpPointExportExcelQuery();
                xpPointExportExcelQuery.setPointIds(Arrays.asList(xpAppUserCollectAddrVO.getPointId()));
                List<XpPoint> data = xpPointClient.getByIds(xpPointExportExcelQuery).getData();
                if(null != data && data.size() > 0){
                    fillPointInfo(xpAppUserCollectAddrVO, data.get(0), query);
        List<XpAppUserCollectAddrVO> list = new ArrayList<>();
        for (XpAppUserCollectAddrVO record : pageData.getRecords()) {
            if(record.getItemType() == 1){
                XpPoint point = xpPointClient.queryById(record.getPointId()).getData();
                if(null == point){
                    continue;
                }
                fillPointInfo(record, point, query);
            }
            if(xpAppUserCollectAddrVO.getItemType() == 2){
                fillCollectPointInfo(xpAppUserCollectAddrVO, query);
                XpStation data = xpStationClient.getXpStationById(xpAppUserCollectAddrVO.getStationId()).getData();
                if(null != data){
                    xpAppUserCollectAddrVO.setPointName(data.getStationName());
            if(record.getItemType() == 2){
                fillCollectPointInfo(record, query);
                XpStation data = xpStationClient.getXpStationById(record.getStationId()).getData();
                if(null == data){
                    continue;
                }
                xpAppUserCollectAddrVO.setChildren(buildStationChildren(xpAppUserCollectAddrVO.getStationId(), query, collectedPointIds));
                record.setPointName(data.getStationName());
                record.setChildren(buildStationChildren(record.getStationId(), query, collectedPointIds));
            }
        });
        page.setTotal(pageData.getTotal());
        page.setRecords(pageData.getRecords());
            list.add(record);
        }
        page.setTotal(list.size());
        page.setRecords(list);
        return page;
    }