diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderDraw.java b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderDraw.java
index 0a3afff3..0a7dce49 100644
--- a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderDraw.java
+++ b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderDraw.java
@@ -155,6 +155,9 @@ public class LklOrderDraw {
@ApiModelProperty(value = "异步通知地址", example = "https://api.example.com/notify")
private String notify_url;
+ @ApiModelProperty(value = "接口请求报文")
+ private String lkl_req;
+
/**
* 异步通知返回的JSON数据
*/
diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java
index 46536d69..c14720c3 100644
--- a/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java
+++ b/mall-common/src/main/java/com/suisung/mall/common/modules/lakala/LklOrderSeparate.java
@@ -94,6 +94,9 @@ public class LklOrderSeparate {
@ApiModelProperty(value = "处理状态:ACCEPTED-已受理, PROCESSING-处理中, FAIL-失败, SUCCESS-成功")
private String final_status;
+ @ApiModelProperty(value = "接口请求报文")
+ private String lkl_req;
+
@ApiModelProperty(value = "异步通知数据")
private String notify_resp;
diff --git a/mall-common/src/main/java/com/suisung/mall/common/utils/DateTimeUtils.java b/mall-common/src/main/java/com/suisung/mall/common/utils/DateTimeUtils.java
index c94b058c..499e9f8f 100644
--- a/mall-common/src/main/java/com/suisung/mall/common/utils/DateTimeUtils.java
+++ b/mall-common/src/main/java/com/suisung/mall/common/utils/DateTimeUtils.java
@@ -10,8 +10,7 @@ import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoField;
-import java.util.Calendar;
-import java.util.Date;
+import java.util.*;
@Slf4j
public class DateTimeUtils {
@@ -363,6 +362,76 @@ public class DateTimeUtils {
return count;
}
+ /**
+ * 计算多个时间段之间的交集(不跨天)
+ *
+ * 算法逻辑:
+ * 1. 遍历所有时间段,找到最晚的开始时间和最早的结束时间
+ * 2. 如果最晚开始时间小于等于最早结束时间,则存在交集
+ * 3. 如果最晚开始时间大于最早结束时间,则不存在交集
+ *
+ * @param timeList 时间段列表,每个时间段是一个Map,包含开始时间startTimeStr和结束时间endTimeStr
+ * startTimeStr 开始时间字符串,支持格式如 HH:mm, HH:mm:ss, HH:mm:ss.SSS 等
+ * endTimeStr 结束时间字符串,支持格式如 HH:mm, HH:mm:ss, HH:mm:ss.SSS 等
+ * @return 返回一个Map,包含交集的时间段(startTimeStr和endTimeStr),如果无交集则返回空Map
+ */
+ public static Map findTimeInterSection(List