refactor: 移除 DateTimeFormat 注解的使用,日期类型统一改为 LocalDateTime

starter-web 模块已支持 Query 日期时间转换
This commit is contained in:
2025-03-26 23:17:11 +08:00
parent cae6da298c
commit 7d4ae0b35a
7 changed files with 12 additions and 24 deletions

View File

@@ -16,14 +16,12 @@
package top.continew.admin.auth.model.query; package top.continew.admin.auth.model.query;
import cn.hutool.core.date.DatePattern;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
@@ -55,8 +53,7 @@ public class OnlineUserQuery implements Serializable {
* 登录时间 * 登录时间
*/ */
@Schema(description = "登录时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59") @Schema(description = "登录时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59")
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN) private List<LocalDateTime> loginTime;
private List<Date> loginTime;
/** /**
* 用户 ID * 用户 ID

View File

@@ -77,7 +77,7 @@ public class OnlineUserServiceImpl implements OnlineUserService {
.isMatchClientId(query.getClientId(), userContext)) { .isMatchClientId(query.getClientId(), userContext)) {
continue; continue;
} }
List<Date> loginTimeList = query.getLoginTime(); List<LocalDateTime> loginTimeList = query.getLoginTime();
entry.getValue().parallelStream().forEach(token -> { entry.getValue().parallelStream().forEach(token -> {
UserExtraContext extraContext = UserContextHolder.getExtraContext(token); UserExtraContext extraContext = UserContextHolder.getExtraContext(token);
if (!this.isMatchLoginTime(loginTimeList, extraContext.getLoginTime())) { if (!this.isMatchLoginTime(loginTimeList, extraContext.getLoginTime())) {
@@ -144,10 +144,10 @@ public class OnlineUserServiceImpl implements OnlineUserService {
* @param loginTime 登录时间 * @param loginTime 登录时间
* @return 是否匹配登录时间 * @return 是否匹配登录时间
*/ */
private boolean isMatchLoginTime(List<Date> loginTimeList, LocalDateTime loginTime) { private boolean isMatchLoginTime(List<LocalDateTime> loginTimeList, LocalDateTime loginTime) {
if (CollUtil.isEmpty(loginTimeList)) { if (CollUtil.isEmpty(loginTimeList)) {
return true; return true;
} }
return DateUtil.isIn(DateUtil.date(loginTime).toJdkDate(), loginTimeList.get(0), loginTimeList.get(1)); return loginTime.isAfter(loginTimeList.get(0)) && loginTime.isBefore(loginTimeList.get(1));
} }
} }

View File

@@ -16,16 +16,14 @@
package top.continew.admin.system.model.query; package top.continew.admin.system.model.query;
import cn.hutool.core.date.DatePattern;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import top.continew.admin.common.enums.DisEnableStatusEnum; import top.continew.admin.common.enums.DisEnableStatusEnum;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
@@ -69,9 +67,8 @@ public class LogQuery implements Serializable {
* 操作时间 * 操作时间
*/ */
@Schema(description = "操作时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59") @Schema(description = "操作时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59")
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@Size(max = 2, message = "操作时间必须是一个范围") @Size(max = 2, message = "操作时间必须是一个范围")
private List<Date> createTime; private List<LocalDateTime> createTime;
/** /**
* 状态 * 状态

View File

@@ -16,16 +16,14 @@
package top.continew.admin.system.model.query; package top.continew.admin.system.model.query;
import cn.hutool.core.date.DatePattern;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import top.continew.admin.common.enums.DisEnableStatusEnum; import top.continew.admin.common.enums.DisEnableStatusEnum;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
@@ -57,9 +55,8 @@ public class UserQuery implements Serializable {
* 创建时间 * 创建时间
*/ */
@Schema(description = "创建时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59") @Schema(description = "创建时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59")
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@Size(max = 2, message = "创建时间必须是一个范围") @Size(max = 2, message = "创建时间必须是一个范围")
private List<Date> createTime; private List<LocalDateTime> createTime;
/** /**
* 部门 ID * 部门 ID

View File

@@ -43,7 +43,7 @@ import top.continew.starter.extension.crud.model.query.SortQuery;
import top.continew.starter.extension.crud.model.resp.PageResp; import top.continew.starter.extension.crud.model.resp.PageResp;
import top.continew.starter.file.excel.util.ExcelUtils; import top.continew.starter.file.excel.util.ExcelUtils;
import java.util.Date; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
@@ -114,7 +114,7 @@ public class LogServiceImpl implements LogService {
String ip = query.getIp(); String ip = query.getIp();
String createUserString = query.getCreateUserString(); String createUserString = query.getCreateUserString();
DisEnableStatusEnum status = query.getStatus(); DisEnableStatusEnum status = query.getStatus();
List<Date> createTimeList = query.getCreateTime(); List<LocalDateTime> createTimeList = query.getCreateTime();
return new QueryWrapper<LogDO>().and(StrUtil.isNotBlank(description), q -> q.like("t1.description", description) return new QueryWrapper<LogDO>().and(StrUtil.isNotBlank(description), q -> q.like("t1.description", description)
.or() .or()
.like("t1.module", description)) .like("t1.module", description))

View File

@@ -500,7 +500,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
protected QueryWrapper<UserDO> buildQueryWrapper(UserQuery query) { protected QueryWrapper<UserDO> buildQueryWrapper(UserQuery query) {
String description = query.getDescription(); String description = query.getDescription();
DisEnableStatusEnum status = query.getStatus(); DisEnableStatusEnum status = query.getStatus();
List<Date> createTimeList = query.getCreateTime(); List<LocalDateTime> createTimeList = query.getCreateTime();
Long deptId = query.getDeptId(); Long deptId = query.getDeptId();
List<Long> userIdList = query.getUserIds(); List<Long> userIdList = query.getUserIds();
// 获取排除用户 ID 列表 // 获取排除用户 ID 列表

View File

@@ -16,13 +16,11 @@
package top.continew.admin.schedule.model.query; package top.continew.admin.schedule.model.query;
import cn.hutool.core.date.DatePattern;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min; import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;
import top.continew.admin.schedule.enums.JobExecuteStatusEnum; import top.continew.admin.schedule.enums.JobExecuteStatusEnum;
import java.io.Serial; import java.io.Serial;
@@ -70,7 +68,6 @@ public class JobLogQuery implements Serializable {
* 创建时间 * 创建时间
*/ */
@Schema(description = "创建时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59") @Schema(description = "创建时间", example = "2023-08-08 00:00:00,2023-08-08 23:59:59")
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@Size(max = 2, message = "创建时间必须是一个范围") @Size(max = 2, message = "创建时间必须是一个范围")
private LocalDateTime[] datetimeRange; private LocalDateTime[] datetimeRange;