配置充电停车优惠

This commit is contained in:
Guoqs
2025-02-18 13:36:15 +08:00
parent ced4a72cd8
commit c3e78af9e9
3 changed files with 35 additions and 13 deletions

View File

@@ -57,6 +57,7 @@ import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.spec.InvalidKeySpecException;
import java.text.ParseException;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -698,6 +699,15 @@ public class CommonService {
String sumChargingTime = realTimeMonitorData.getSumChargingTime(); // 充电时长
String chargingDegree = realTimeMonitorData.getChargingDegree(); // 充电度数
String conditionType = String.valueOf(chargeParkingDiscount.getConditionType());
// 判断订单创建时间,是否在优惠时间段内
LocalTime createLocalTime = DateUtils.date2LocalDateTime(orderBasicInfo.getCreateTime()).toLocalTime();
if (createLocalTime.isBefore(chargeParkingDiscount.getStartTime()) || createLocalTime.isAfter(chargeParkingDiscount.getEndTime())) {
// 不在优惠时间段内
log.info("{}该订单不在优惠时间段({}-{})内", orderBasicInfo.getOrderCode(), chargeParkingDiscount.getStartTime(), chargeParkingDiscount.getEndTime());
return;
}
// 如果conditionType为1判断充电度数, 如果为2判断充电时长
boolean flag = false;
if (StringUtils.equals(conditionType, Constants.ONE)) {
@@ -713,14 +723,14 @@ public class CommonService {
}
if (!flag) {
// 不满足发券条件
log.info(orderBasicInfo.getOrderCode() + " 该订单不满足发券条件");
log.info("{} 该订单不满足发券条件", orderBasicInfo.getOrderCode());
return;
}
// 是否已经发券
String redisKey = CacheConstants.CAR_BIND_COUPON_BY_ORDER_CODE + orderBasicInfo.getOrderCode();
Object cacheObject = redisCache.getCacheObject(redisKey);
if (cacheObject != null) {
log.info(orderBasicInfo.getOrderCode() + " 该订单已经发券");
log.info("{} 该订单已经发券", orderBasicInfo.getOrderCode());
return;
}
// 绑定停车券