From 323965dbbf0679a062e071897fc162b3b56e8820 Mon Sep 17 00:00:00 2001
From: Guoqs <123@jsowell.com>
Date: Tue, 4 Jun 2024 14:47:03 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=97=B6=E9=97=B4=E5=8F=96?=
=?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=94=AF=E4=BB=98=E8=AE=B0=E5=BD=95=E4=B8=AD?=
=?UTF-8?q?=E7=9A=84=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/jsowell/common/util/DateUtils.java | 17 +++++++++++++++++
.../service/impl/OrderPayRecordServiceImpl.java | 7 ++++++-
.../mapper/pile/OrderBasicInfoMapper.xml | 6 +++---
3 files changed, 26 insertions(+), 4 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 b6bd46113..6d16fc970 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
@@ -1012,4 +1012,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
return null; // 或者返回一个默认值
}
}
+
+ /**
+ * 返回多个Date参数中不为null并且时间最大的Date
+ *
+ * @param dates 多个Date类型的参数
+ * @return 参数列表中不为null且时间最大的Date对象
+ */
+ public static Date getMaxDate(Date... dates) {
+ Date maxDate = null;
+ for (Date date : dates) {
+ if (date != null && (maxDate == null || date.after(maxDate))) {
+ maxDate = date;
+ }
+ }
+ return maxDate;
+ }
+
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPayRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPayRecordServiceImpl.java
index 9208f243e..c41dabd43 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPayRecordServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPayRecordServiceImpl.java
@@ -123,7 +123,12 @@ public class OrderPayRecordServiceImpl implements OrderPayRecordService {
payInfo.setPayAmount(Convert.toStr(orderPayRecord.getPayAmount(), Constants.ZERO));
payInfo.setPayStatus(orderBasicInfo.getPayStatus());
- payInfo.setPayTime(DateUtils.formatDateTime(orderBasicInfo.getPayTime()));
+ // 支付时间取订单支付记录中的值,在创建时间和更新事件中取不为null并且最大的(注意历史数据有可能两个时间都为null)
+ Date payTime = DateUtils.getMaxDate(orderPayRecord.getCreateTime(), orderPayRecord.getUpdateTime());
+ if (Objects.isNull(payTime)) {
+ payTime = orderBasicInfo.getPayTime();
+ }
+ payInfo.setPayTime(DateUtils.formatDateTime(payTime));
payInfo.setRefundAmount(Convert.toStr(orderPayRecord.getRefundAmount(), Constants.ZERO));
// 支付方式(1-本金余额支付;2-赠送余额支付;3-白名单支付;4-微信支付;5-支付宝支付)
diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml
index c8cc3b377..255a58668 100644
--- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml
+++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml
@@ -1716,6 +1716,9 @@
and t2.mobile_number = #{mobileNumber,jdbcType=VARCHAR}
+
+ and t1.merchant_id = #{merchantId,jdbcType=VARCHAR}
+
and t1.station_id = #{stationId,jdbcType=VARCHAR}
@@ -1731,9 +1734,6 @@
and t1.settlement_time #{endSettleTime,jdbcType=VARCHAR}
-
- and t1.merchant_id = #{merchantId,jdbcType=VARCHAR}
-
and t1.group_code = #{groupCode,jdbcType=VARCHAR}