From bb9758dba0f99b06acd155dfdc6c0dfcf3c50fac Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Tue, 4 Jul 2023 15:03:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update=20=E7=94=9F=E6=88=90=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=BF=9D=E5=AD=98=E8=BF=90=E8=90=A5=E5=95=86id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsowell/service/OrderService.java | 8 +++++++- .../service/impl/OrderBasicInfoServiceImpl.java | 15 ++++++++++++--- .../service/impl/PileStationInfoServiceImpl.java | 2 -- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 78ca39fe8..22fcf34d4 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -502,13 +502,19 @@ public class OrderService { dto.setStartType(StartTypeEnum.NOW.getValue()); } + String stationId = dto.getPileConnector().getStationId(); + // 查询站点信息 + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.valueOf(stationId)); + String merchantId = pileStationInfo != null ? String.valueOf(pileStationInfo.getMerchantId()) : ""; + // 订单基本信息 OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder() .orderCode(orderCode) .transactionCode(transactionCode) .orderStatus(OrderStatusEnum.NOT_START.getValue()) .memberId(dto.getMemberId()) - .stationId(dto.getPileConnector().getStationId()) + .stationId(stationId) + .merchantId(merchantId) .pileSn(dto.getPileSn()) .connectorCode(dto.getConnectorCode()) .pileConnectorCode(dto.getPileSn() + dto.getConnectorCode()) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index f2c5d4b2d..44b51ff64 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1059,7 +1059,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 交易流水号 orderBasicInfo.setTransactionCode(data.getTransactionCode()); // 站点id - orderBasicInfo.setStationId(pileInfoVO.getStationId()); + String stationId = pileInfoVO.getStationId(); + orderBasicInfo.setStationId(stationId); + // 运营商id + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.valueOf(stationId)); + String merchantId = pileStationInfo != null ? String.valueOf(pileStationInfo.getMerchantId()) : ""; + orderBasicInfo.setMerchantId(merchantId); // 充电桩编号 orderBasicInfo.setPileSn(data.getPileSn()); // 枪口号 @@ -1603,9 +1608,10 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 通过桩号查询所属站点 PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn); Long stationId = pileBasicInfo.getStationId(); + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(stationId); + String merchantId = pileStationInfo != null ? String.valueOf(pileStationInfo.getMerchantId()) : ""; // 自动余额全部支付订单 个人桩站点不计费 - // 将此订单信息存入订单表 String orderCode = IdUtils.getOrderCode(); // 订单基本信息 @@ -1615,6 +1621,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { .orderStatus(OrderStatusEnum.NOT_START.getValue()) .memberId(memberVO.getMemberId()) .stationId(String.valueOf(stationId)) + .merchantId(merchantId) .pileSn(pileSn) .connectorCode(connectorCode) .pileConnectorCode(pileSn + connectorCode) @@ -1704,7 +1711,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 通过桩号查询所属站点 PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn); Long stationId = pileBasicInfo.getStationId(); - + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(stationId); + String merchantId = pileStationInfo != null ? String.valueOf(pileStationInfo.getMerchantId()) : ""; // 将此订单信息存入订单表 // 订单基本信息 OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder() @@ -1713,6 +1721,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { .orderStatus(OrderStatusEnum.NOT_START.getValue()) // .memberId(memberVO.getMemberId()) // 会员memberId .stationId(String.valueOf(stationId)) + .merchantId(merchantId) .pileSn(pileSn) .connectorCode(connectorCode) .pileConnectorCode(pileConnectorCode) 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 f7dfcab2a..796f41a52 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 @@ -113,8 +113,6 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { if (StringUtils.isNotBlank(pileStationInfo.getQrcodePrefix())) { vo.setQrcodePrefix(pileStationInfo.getQrcodePrefix()); } - // vo.setMerchantId(pileStationInfo.getMerchantId().toString()); - // vo.setMerchantName(pileStationInfo.getmer()); vo.setMerchantAdminName(pileStationInfo.getStationAdminName()); vo.setStationStatus(Integer.parseInt(pileStationInfo.getStationStatus())); vo.setStationType(pileStationInfo.getStationType()); From d280e50f4dfc18948894c22edcca36a7cc15e5ff Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Tue, 4 Jul 2023 16:12:26 +0800 Subject: [PATCH 2/2] update --- .../service/impl/OrderBasicInfoServiceImpl.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 44b51ff64..90017e08f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -57,6 +57,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -1793,8 +1794,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { sharp.setServicePrice(orderDetail.getSharpServicePrice()); BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getSharpUsedElectricity(); sharp.setUsedElectricity(sharpUsedElectricity); - sharp.setElectricityAmount(sharp.getElectricityPrice().multiply(sharp.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - sharp.setServiceAmount(sharp.getServicePrice().multiply(sharp.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + sharp.setElectricityAmount(sharp.getElectricityPrice().multiply(sharp.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); + sharp.setServiceAmount(sharp.getServicePrice().multiply(sharp.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); // 峰时段 OrderPeriodAmountVO peak = new OrderPeriodAmountVO(); @@ -1803,8 +1804,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { peak.setServicePrice(orderDetail.getPeakServicePrice()); BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getPeakUsedElectricity(); peak.setUsedElectricity(peakUsedElectricity); - peak.setElectricityAmount(peak.getElectricityPrice().multiply(peak.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - peak.setServiceAmount(peak.getServicePrice().multiply(peak.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + peak.setElectricityAmount(peak.getElectricityPrice().multiply(peak.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); + peak.setServiceAmount(peak.getServicePrice().multiply(peak.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); // 平时段 OrderPeriodAmountVO flat = new OrderPeriodAmountVO(); @@ -1813,8 +1814,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { flat.setServicePrice(orderDetail.getFlatServicePrice()); BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getFlatUsedElectricity(); flat.setUsedElectricity(flatUsedElectricity); - flat.setElectricityAmount(flat.getElectricityPrice().multiply(flat.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - flat.setServiceAmount(flat.getServicePrice().multiply(flat.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + flat.setElectricityAmount(flat.getElectricityPrice().multiply(flat.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); + flat.setServiceAmount(flat.getServicePrice().multiply(flat.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); // 谷时段 OrderPeriodAmountVO valley = new OrderPeriodAmountVO(); @@ -1823,8 +1824,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { valley.setServicePrice(orderDetail.getValleyServicePrice()); BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getValleyUsedElectricity(); valley.setUsedElectricity(valleyUsedElectricity); - valley.setElectricityAmount(valley.getElectricityPrice().multiply(valley.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - valley.setServiceAmount(valley.getServicePrice().multiply(valley.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + valley.setElectricityAmount(valley.getElectricityPrice().multiply(valley.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); + valley.setServiceAmount(valley.getServicePrice().multiply(valley.getUsedElectricity()).setScale(2, RoundingMode.DOWN)); return Lists.newArrayList(sharp, peak, flat, valley); }