diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationDTO.java index 57291eb84..06ca44166 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryStationDTO.java @@ -127,6 +127,12 @@ public class QueryStationDTO extends BaseEntity { private String memberId; + private String canopyFlag; + + private String barrierFlag; + + private String parkingLockFlag; + @Data public static class OtherOptions { /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberStationRelationService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberStationRelationService.java index 4982e5284..8122dd943 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberStationRelationService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberStationRelationService.java @@ -75,4 +75,6 @@ public interface MemberStationRelationService { * @return */ int updateCollectedStation(CollectedStationDTO dto); + + List getStationIdListByMemberId(String memberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberStationRelationServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberStationRelationServiceImpl.java index 322d52031..bd9b2d13b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberStationRelationServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberStationRelationServiceImpl.java @@ -124,6 +124,20 @@ public class MemberStationRelationServiceImpl implements MemberStationRelationSe return memberStationRelationMapper.deleteMemberStationRelation(memberStationRelation); } + /** + * 通过memberId查询列表 + * @param memberId + * @return + */ + public List getStationIdListByMemberId(String memberId) { + return memberStationRelationMapper.getStationIdListByMemberId(memberId); + } + + /** + * 修改收藏的站点(添加/删除) + * @param dto + * @return + */ @Override public int updateCollectedStation(CollectedStationDTO dto) { int result = 0; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index 6691fd905..9e83531e0 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -96,6 +96,9 @@ public class PileStationInfoServiceImpl implements PileStationInfoService { @Autowired private OrderBasicInfoService orderBasicInfoService; + @Autowired + private MemberStationRelationService memberStationRelationService; + @Autowired private SettleOrderReportService settleOrderReportService; @@ -624,14 +627,90 @@ public class PileStationInfoServiceImpl implements PileStationInfoService { // 先判断是否选择我的收藏中的站点 if (StringUtils.isNotBlank(myCollectionFlag)) { // 不为空,先将要查询的站点idList添加进参数 - // TODO 查询我的收藏下的站点id - - // dto.setStationIds(); + // 查询我的收藏下的站点id + List stationIds = memberStationRelationService.getStationIdListByMemberId(dto.getMemberId()); + dto.setStationIds(stationIds); } // 分页 PageHelper.startPage(pageNum, pageSize); // 根据前端传的参数进行筛选查询(默认根据距离排序) + List list = pileStationInfoMapper.queryStationInfos(dto); + PageInfo pageInfo = new PageInfo<>(list); + List stationVOList = Lists.newArrayList(); + StationInfoVO stationVO; + String stationLng = dto.getStationLng(); + String stationLat = dto.getStationLat(); + double distance = 0d; + for (PileStationVO pileStationVO : pageInfo.getList()) { + stationVO = new StationInfoVO(); + if (StringUtils.isNotEmpty(stationLng) && StringUtils.isNotEmpty(stationLat)) { + try { + // 计算当前经纬度和站点之间的距离 + distance = DistanceUtils.getDistance(Double.parseDouble(stationLng), Double.parseDouble(stationLat), + Double.parseDouble(pileStationVO.getStationLng()), Double.parseDouble(pileStationVO.getStationLat())); + // 保留两位小数 + stationVO.setDistance(String.format("%.2f", distance)); + } catch (Exception e) { + stationVO.setDistance("0.00"); + } + + } + stationVO.setStationId(pileStationVO.getId()); + stationVO.setStationName(pileStationVO.getStationName()); + stationVO.setStationAddress(pileStationVO.getAddress()); + stationVO.setStationLat(pileStationVO.getStationLat()); + stationVO.setStationLng(pileStationVO.getStationLng()); + if (StringUtils.isNotBlank(pileStationVO.getParkFeeDescribe())) { + stationVO.setParkFeeDescribe(pileStationVO.getParkFeeDescribe()); + } + // 站点联系电话 + if (StringUtils.isNotBlank(pileStationVO.getStationTel())) { + stationVO.setStationTel(pileStationVO.getStationTel()); + } + // 站点图片 + if (StringUtils.isNotBlank(pileStationVO.getPictures())) { + stationVO.setStationImgList(Lists.newArrayList(pileStationVO.getPictures().split(","))); + } + + // 查询快慢充数量 + Map map = pileConnectorInfoService.getPileTypeNum(Long.parseLong(pileStationVO.getId())); + // Integer fastFree = map.get("fastFree"); + // Integer slowFree = map.get("slowFree"); + stationVO.setFastTotal(map.get("fastTotal")); + stationVO.setFastFree(map.get("fastFree")); + stationVO.setSlowTotal(map.get("slowTotal")); + stationVO.setSlowFree(map.get("slowFree")); + stationVO.setTotalFree(stationVO.getFastFree() + stationVO.getSlowFree()); + + // 查询当前时段电费 + CurrentTimePriceDetails currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetails(stationVO.getStationId()); + if (currentTimePriceDetails != null) { + stationVO.setElectricityPrice(currentTimePriceDetails.getElectricityPrice()); + stationVO.setServicePrice(currentTimePriceDetails.getServicePrice()); + stationVO.setTotalPrice(currentTimePriceDetails.getTotalPrice()); + stationVO.setFreeTime(currentTimePriceDetails.getFreeTime()); + stationVO.setOccupyFee(currentTimePriceDetails.getOccupyFee()); + // vip价 + stationVO.setVipElectricityPrice(currentTimePriceDetails.getVipElectricityPrice()); + stationVO.setVipServicePrice(currentTimePriceDetails.getVipServicePrice()); + stationVO.setVipTotalPrice(currentTimePriceDetails.getVipTotalPrice()); + } + stationVOList.add(stationVO); + } + + if (distance != 0.00) { + // 对集合按照距离排序,距离小的在前 + stationVOList.sort((o1, o2) -> { + Double a = Double.valueOf(o1.getDistance()); + Double b = Double.valueOf(o2.getDistance()); + return a.compareTo(b); + }); + } + + // if () { + // + // } return null; diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml index ef6eb0e74..da6ed4c2e 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml @@ -82,7 +82,7 @@