diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/lianlian/service/LianLianPlatformServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/lianlian/service/LianLianPlatformServiceImpl.java index b9c6939c5..de0c4919d 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/lianlian/service/LianLianPlatformServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/lianlian/service/LianLianPlatformServiceImpl.java @@ -47,10 +47,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.math.RoundingMode; +import java.util.*; import java.util.stream.Collectors; @Service @@ -816,21 +814,22 @@ public class LianLianPlatformServiceImpl implements ThirdPartyPlatformService { List billingPriceVOList = pileBillingTemplateService.queryBillingPrice(stationId); // 查询设备列表 List pileDetailVOS = pileBasicInfoService.queryPileDetailList(Lists.newArrayList(stationId)); + + // 获取充电桩类型 + Set equipmentTypeList = pileDetailVOS.stream() + .map(PileInfoVO::getSpeedType) + .collect(Collectors.toSet()); vo.setOperatorId(Constants.OPERATORID_LIANLIAN); vo.setStationId(stationId); - for (PileInfoVO pileInfoVO : pileDetailVOS) { + + for (String equipmentType : equipmentTypeList) { for (BillingPriceVO billingPriceVO : billingPriceVOList) { chargeFeeDetail = new PushStationFeeVO.ChargeFeeDetail(); - - chargeFeeDetail.setEquipmentType(Integer.parseInt(pileInfoVO.getSpeedType())); - String startTime = billingPriceVO.getStartTime(); - String endTime = billingPriceVO.getEndTime(); - - chargeFeeDetail.setStartTime(startTime); - chargeFeeDetail.setEndTime(endTime); - chargeFeeDetail.setElectricityFee(new BigDecimal(billingPriceVO.getElectricityPrice()).setScale(2, BigDecimal.ROUND_DOWN)); - chargeFeeDetail.setServiceFee(new BigDecimal(billingPriceVO.getServicePrice()).setScale(2, BigDecimal.ROUND_DOWN)); - + chargeFeeDetail.setEquipmentType(Integer.parseInt(equipmentType)); + chargeFeeDetail.setStartTime(billingPriceVO.getStartTime()); + chargeFeeDetail.setEndTime(billingPriceVO.getEndTime()); + chargeFeeDetail.setElectricityFee(new BigDecimal(billingPriceVO.getElectricityPrice()).setScale(2, RoundingMode.DOWN)); + chargeFeeDetail.setServiceFee(new BigDecimal(billingPriceVO.getServicePrice()).setScale(2, RoundingMode.DOWN)); chargeFeeDetailList.add(chargeFeeDetail); } }