判断支付成功时间据当前时间是否大于15分钟

This commit is contained in:
Guoqs
2025-05-14 15:58:32 +08:00
parent 6a447e0fac
commit 47cd304a3e
2 changed files with 32 additions and 22 deletions

View File

@@ -866,13 +866,6 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
} }
} }
public static void main(String[] args) {
System.out.println(isInDiscountPeriod("20:00", "08:00", "00:35:58")); // true
System.out.println(isInDiscountPeriod("00:00", "00:00", "19:59:59")); // true
System.out.println(isInDiscountPeriod("20:00", "20:00", "08:00:00")); // true
System.out.println(isInDiscountPeriod("20:00", "08:00", "08:00:00")); // false
}
/** /**
* 当前时间是否在时间指定范围内<br> * 当前时间是否在时间指定范围内<br>
* *

View File

@@ -648,25 +648,42 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
if (CollectionUtils.isEmpty(orderList)) { if (CollectionUtils.isEmpty(orderList)) {
return; return;
} }
long currentTimeMillis = System.currentTimeMillis(); // long currentTimeMillis = System.currentTimeMillis();
// 判断支付成功时间距当前时间是否大于15分钟
for (OrderBasicInfo orderBasicInfo : orderList) { for (OrderBasicInfo orderBasicInfo : orderList) {
// 立即启动的订单使用支付时间判断,预约充电的订单使用预约时间判断 // 判断支付成功时间距当前时间是否大于15分钟
long time; // long time;
String startType = orderBasicInfo.getStartType(); // String startType = orderBasicInfo.getStartType();
if (StringUtils.equals(StartTypeEnum.NOW.getValue(), startType)) { // // 立即启动的订单使用支付时间判断,预约充电的订单使用预约时间判断
Date payTime = orderBasicInfo.getPayTime(); // if (StringUtils.equals(StartTypeEnum.NOW.getValue(), startType)) {
time = payTime == null ? 0L : payTime.getTime(); // Date payTime = orderBasicInfo.getPayTime();
} else { // time = payTime == null ? 0L : payTime.getTime();
Date reservedStartTime = orderBasicInfo.getReservedStartTime(); // } else {
time = reservedStartTime == null ? 0L : reservedStartTime.getTime(); // Date reservedStartTime = orderBasicInfo.getReservedStartTime();
} // time = reservedStartTime == null ? 0L : reservedStartTime.getTime();
// }
//
// if (currentTimeMillis - time < 1000 * 60 * 15) {
// logger.info("orderCode:{}, currentTimeMillis:{} - time:{} = {}, 支付成功时间距当前时间小于15分钟, 暂不执行退款",
// orderBasicInfo.getOrderCode(), currentTimeMillis, time, currentTimeMillis - time);
// continue;
// }
if (currentTimeMillis - time < 1000 * 60 * 15) { // 判断支付成功时间距当前时间是否大于15分钟
logger.info("orderCode:{}, currentTimeMillis:{} - time:{} = {}, 支付成功时间距当前时间小于15分钟, 暂不执行退款", String startType = orderBasicInfo.getStartType();
orderBasicInfo.getOrderCode(), currentTimeMillis, time, currentTimeMillis - time); // 立即启动的订单使用支付时间判断,预约充电的订单使用预约时间判断
String dateStr;
if (StringUtils.equals(StartTypeEnum.NOW.getValue(), startType)) {
dateStr = DateUtils.formatDateTime(orderBasicInfo.getPayTime());
} else {
dateStr = DateUtils.formatDateTime(orderBasicInfo.getReservedStartTime());
}
long l = DateUtils.minutesSince(dateStr);
if (l < 15) {
logger.info("orderCode:{}, 当前时间:{}与对比时间:{}间隔小于15分钟, 暂不执行退款",
orderBasicInfo.getOrderCode(), LocalDateTime.now().toString(), dateStr);
continue; continue;
} }
// 已经支付超过15分钟 判断充电桩的状态 // 已经支付超过15分钟 判断充电桩的状态
String pileConnectorCode = orderBasicInfo.getPileSn() + orderBasicInfo.getConnectorCode(); String pileConnectorCode = orderBasicInfo.getPileSn() + orderBasicInfo.getConnectorCode();
PileConnectorInfoVO connector = pileConnectorInfoService.getPileConnectorInfoByConnectorCode(pileConnectorCode); PileConnectorInfoVO connector = pileConnectorInfoService.getPileConnectorInfoByConnectorCode(pileConnectorCode);