From 693fad43bd8caeb2414d98b154d3f2432312e5a7 Mon Sep 17 00:00:00 2001 From: haoxr <1490493387@qq.com> Date: Fri, 20 Oct 2023 22:56:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=97=A5=E6=9C=9F=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E6=9F=A5=E8=AF=A2=E6=97=B6=E9=97=B4=E6=AF=94=E8=BE=83?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../youlai/system/common/util/DateUtils.java | 25 +++++++++++++------ .../service/impl/SysUserServiceImpl.java | 4 +-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/youlai/system/common/util/DateUtils.java b/src/main/java/com/youlai/system/common/util/DateUtils.java index 2a685e84..6066bc7a 100644 --- a/src/main/java/com/youlai/system/common/util/DateUtils.java +++ b/src/main/java/com/youlai/system/common/util/DateUtils.java @@ -1,7 +1,6 @@ package com.youlai.system.common.util; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ReflectUtil; @@ -9,7 +8,6 @@ import cn.hutool.core.util.StrUtil; import org.springframework.format.annotation.DateTimeFormat; import java.lang.reflect.Field; -import java.util.List; /** * 日期工具类 @@ -19,15 +17,16 @@ import java.util.List; */ public class DateUtils { - /** - * 将日期格式化为数据库日期格式 (yyyy-MM-dd HH:mm:ss) 并更新对象中指定的起始时间字段和结束时间字段。 + * 区间日期格式化为数据库日期格式 + *
+ * eg:2021-01-01 → 2021-01-01 00:00:00
*
- * @param obj 要处理的对象
+ * @param obj 要处理的对象
* @param startTimeFieldName 起始时间字段名
* @param endTimeFieldName 结束时间字段名
*/
- public static void formatDateTimeForDatabase(Object obj, String startTimeFieldName, String endTimeFieldName) {
+ public static void toDatabaseFormat(Object obj, String startTimeFieldName, String endTimeFieldName) {
Field startTimeField = ReflectUtil.getField(obj.getClass(), startTimeFieldName);
Field endTimeField = ReflectUtil.getField(obj.getClass(), endTimeFieldName);
@@ -40,12 +39,22 @@ public class DateUtils {
}
}
+ /**
+ * 处理日期字段
+ *
+ * @param obj 要处理的对象
+ * @param field 字段
+ * @param fieldName 字段名
+ * @param targetPattern 目标数据库日期格式
+ */
private static void processDateTimeField(Object obj, Field field, String fieldName, String targetPattern) {
Object fieldValue = ReflectUtil.getFieldValue(obj, fieldName);
if (fieldValue != null) {
- String pattern = field.isAnnotationPresent(DateTimeFormat.class) ?
- field.getAnnotation(DateTimeFormat.class).pattern() : "yyyy-MM-dd";
+ // 得到原始的日期格式
+ String pattern = field.isAnnotationPresent(DateTimeFormat.class) ? field.getAnnotation(DateTimeFormat.class).pattern() : "yyyy-MM-dd";
+ // 转换为日期对象
DateTime dateTime = DateUtil.parse(StrUtil.toString(fieldValue), pattern);
+ // 转换为目标数据库日期格式
ReflectUtil.setFieldValue(obj, fieldName, dateTime.toString(targetPattern));
}
}
diff --git a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java
index cef68c8a..aeddfe64 100644
--- a/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java
+++ b/src/main/java/com/youlai/system/service/impl/SysUserServiceImpl.java
@@ -74,8 +74,8 @@ public class SysUserServiceImpl extends ServiceImpl