| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | 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; |
| | | } |
| | | |