From d0c195d70348c4c06294b9c7705ee9ab4f70b299 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 28 Feb 2025 09:54:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A4=E6=96=AD=E7=9B=AE=E6=A0=87=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=98=AF=E5=90=A6=E5=9C=A8=E4=BC=98=E6=83=A0=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=AE=B5=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/jsowell/common/util/DateUtils.java | 11 +++++++++++ .../com/jsowell/thirdparty/common/CommonService.java | 12 +++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java index 6ed24ef93..335fed369 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/DateUtils.java @@ -866,6 +866,13 @@ 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 + } + /** * 当前时间是否在时间指定范围内
* @@ -1157,6 +1164,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { * @return 是否在优惠时段 */ public static boolean isInDiscountPeriod(LocalTime start, LocalTime end, LocalTime target) { + // 任意参数为空返回false + if (start == null || end == null || target == null) { + return false; + } // 开始时间等于结束时间即判定为全天 if (start.equals(end)) { return true; diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java index d5bfaaa61..dbbd08050 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/common/CommonService.java @@ -703,13 +703,11 @@ public class CommonService { log.info("站点:{}绑定停车券, 订单号:{}, 充电停车优惠信息:{}, 充电度数:{}, 充电时长:{}, 订单创建时间:{}", orderBasicInfo.getStationId(), orderBasicInfo.getOrderCode(), JSON.toJSONString(chargeParkingDiscount), chargingDegree, sumChargingTime, DateUtils.formatDateTime(orderBasicInfo.getCreateTime())); - // startTime等于endTime,则不需要判断, 如果startTime不等于endTime,则需要判断订单创建时间是否在优惠时间段内 - if (!StringUtils.equals(startTime.toString(), endTime.toString())) { - if (createLocalTime.isBefore(startTime) || createLocalTime.isAfter(endTime)) { - // 不在优惠时间段内 - log.info("{}该订单不在优惠时间段({}-{})内", orderBasicInfo.getOrderCode(), startTime, endTime); - return; - } + + if (!DateUtils.isInDiscountPeriod(startTime, endTime, createLocalTime)) { + // 不在优惠时间段内 + log.info("{}该订单不在优惠时间段({}-{})内", orderBasicInfo.getOrderCode(), startTime, endTime); + return; } // 如果conditionType为1判断充电度数, 如果为2判断充电时长