This commit is contained in:
YAS\29473
2025-12-15 08:47:55 +08:00
parent 9432008e7f
commit fa90ceeb54

View File

@@ -435,61 +435,13 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
*/
// @Override
public CurrentTimePriceDetails getCurrentTimePriceDetailsForEBike(String stationId) {
CurrentTimePriceDetails result = null;
// 查询当前时段电费
LocalTime localTime = LocalTime.now();
String now = LocalTime.of(localTime.getHour(), localTime.getMinute(), localTime.getSecond()).toString();
CurrentTimePriceDetails result = new CurrentTimePriceDetails();
// 通过站点id查询计费模板
BillingTemplateVO billingTemplateVO = queryUsedBillingTemplateForEBike(stationId);
if (Objects.nonNull(billingTemplateVO)) {
result = new CurrentTimePriceDetails();
result.setTemplateCode(billingTemplateVO.getTemplateCode());
result.setStationId(stationId);
result.setDateTime(localTime.toString());
result.setFreeTime(billingTemplateVO.getFreeTime());
result.setOccupyFee(billingTemplateVO.getOccupyFee());
List<BillingDetailVO> billingDetailList = billingTemplateVO.getBillingDetailList();
for (BillingDetailVO detailVO : billingDetailList) {
List<String> applyTimeList = detailVO.getApplyTime();
for (String applyTime : applyTimeList) {
boolean b = DateUtils.checkTime(now + "-" + now, applyTime);
if (b) {
// 将桩的费率存入stationVO
BigDecimal electricityPrice = detailVO.getElectricityPrice();
BigDecimal servicePrice = detailVO.getServicePrice();
result.setElectricityPrice(electricityPrice.toString());
result.setServicePrice(servicePrice.toString());
result.setTotalPrice(electricityPrice.add(servicePrice).toString());
}
}
}
if (billingTemplateVO !=null){
result.setTotalPrice(String.valueOf(billingTemplateVO.getOccupyFee()));
}
// 查询站点的集团会员计费模板
BillingTemplateVO preferentialBillingTemplate = this.queryPreferentialBillingTemplate(stationId);
if (Objects.nonNull(preferentialBillingTemplate) && Objects.nonNull(result) ) {
List<BillingDetailVO> billingDetailList = preferentialBillingTemplate.getBillingDetailList();
for (BillingDetailVO detailVO : billingDetailList) {
List<String> applyTimeList = detailVO.getApplyTime();
for (String applyTime : applyTimeList) {
boolean b = DateUtils.checkTime(now + "-" + now, applyTime);
if (b) {
// 将桩的费率存入stationVO
BigDecimal electricityPrice = detailVO.getElectricityPrice();
BigDecimal servicePrice = detailVO.getServicePrice();
result.setDisplayFlag(preferentialBillingTemplate.getDisplayFlag());
result.setVipElectricityPrice(electricityPrice.toString());
result.setVipServicePrice(servicePrice.toString());
result.setVipTotalPrice(electricityPrice.add(servicePrice).toString());
}
}
}
}
return result;
}
@@ -504,10 +456,12 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
// 使用工具类判断是否为电单车桩
boolean isEBike = YouDianUtils.isEBikePileSn(pileSn);
if (isEBike) {
if (!isEBike) {
log.info("走电单车方法");
// 电单车:调用电单车计费模板查询方法
return getCurrentTimePriceDetailsForEBike(stationId);
} else {
log.info("走电动汽车逻辑");
// 电动汽车:调用电动汽车计费模板查询方法
return getCurrentTimePriceDetails(stationId);
}