update 电单车查询收费标准

This commit is contained in:
Lemon
2025-12-15 10:06:15 +08:00
parent 5b959eca97
commit 819785667e
3 changed files with 68 additions and 26 deletions

View File

@@ -211,4 +211,6 @@ public interface PileBillingTemplateService {
* 查询优惠计费模板
*/
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
CurrentTimePriceDetails getCurrentTimePriceDetailsForEBike(String stationId);
}

View File

@@ -4,7 +4,6 @@ import com.alibaba.fastjson2.JSON;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.primitives.Bytes;
import com.jsowell.common.YouDianUtils;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
@@ -17,7 +16,6 @@ import com.jsowell.common.util.id.Seq;
import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.BillingTimeDTO;
import com.jsowell.pile.dto.CreateOrUpdateBillingTemplateDTO;
import com.jsowell.pile.dto.ImportBillingTemplateDTO;
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
import com.jsowell.pile.service.MemberGroupService;
import com.jsowell.pile.service.PileBillingTemplateService;
@@ -433,15 +431,36 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
*
* @param stationId 站点id
*/
// @Override
@Override
public CurrentTimePriceDetails getCurrentTimePriceDetailsForEBike(String stationId) {
CurrentTimePriceDetails result = new CurrentTimePriceDetails();
CurrentTimePriceDetails result = null;
// 查询当前时段电费
LocalTime localTime = LocalTime.now();
String now = LocalTime.of(localTime.getHour(), localTime.getMinute(), localTime.getSecond()).toString();
// 通过站点id查询计费模板
BillingTemplateVO billingTemplateVO = queryUsedBillingTemplateForEBike(stationId);
if (billingTemplateVO !=null){
result.setTotalPrice(String.valueOf(billingTemplateVO.getFlatElectricityPrice()));
}
return result;
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());
}
}
}
}
@@ -451,22 +470,22 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
* @param pileSn
* @return
*/
@Override
public CurrentTimePriceDetails getCurrentTimePriceDetailsByPileType(String stationId , String pileSn) {
// 使用工具类判断是否为电单车桩
// boolean isEBike = YouDianUtils.isEBikePileSn(pileSn);
// 判断桩号是否为汽车桩号
Boolean result = YKCUtils.checkEVPileSn(pileSn);
if (result) {
log.info("走电动汽车逻辑");
// 电动汽车:调用电动汽车计费模板查询方法
return getCurrentTimePriceDetails(stationId);
} else {
log.info("走电单车方法");
// 电单车:调用电单车计费模板查询方法
return getCurrentTimePriceDetailsForEBike(stationId);
}
// @Override
// public CurrentTimePriceDetails getCurrentTimePriceDetailsByPileType(String stationId , String pileSn) {
// // 使用工具类判断是否为电单车桩
// // boolean isEBike = YouDianUtils.isEBikePileSn(pileSn);
// // 判断桩号是否为汽车桩号
// Boolean result = YKCUtils.checkEVPileSn(pileSn);
//
// if (result) {
// log.info("走电动汽车逻辑");
// // 电动汽车:调用电动汽车计费模板查询方法
// return getCurrentTimePriceDetails(stationId);
// } else {
// log.info("走电单车方法");
// // 电单车:调用电单车计费模板查询方法
// return getCurrentTimePriceDetailsForEBike(stationId);
// }
}