From 5fec4cb0203daac348cdb214846a8cbb641a73f0 Mon Sep 17 00:00:00 2001 From: ziin Date: Mon, 30 Mar 2026 09:04:36 +0800 Subject: [PATCH] =?UTF-8?q?refactor(core):=20=E5=8D=87=E7=BA=A7=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=AD=97=E6=AE=B5=E4=B8=BA=20LocalDateTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 SystemTenant 及相关 VO 的过期时间字段由 java.util.Date 替换为 java.time.LocalDateTime - 同步修改 DateUtils.dateBetween 签名并适配 LocalDateTime 计算 - 调整 FeatureAuthController 与 LoginService 中的时间比较逻辑 - 保持功能不变,提升类型安全与时区清晰度 --- .../controller/FeatureAuthController.java | 7 ++++--- .../model/entity/SystemTenant.java | 18 +++++++++--------- .../model/vo/user/SystemTenantVO.java | 2 +- .../model/vo/user/SystemUsersVO.java | 9 +++++---- .../service/impl/LoginService.java | 2 +- .../service/impl/SystemUsersServiceImpl.java | 4 ++-- .../yupi/springbootinit/utils/DateUtils.java | 6 ++++-- 7 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/yupi/springbootinit/controller/FeatureAuthController.java b/src/main/java/com/yupi/springbootinit/controller/FeatureAuthController.java index b19d062..6945f88 100644 --- a/src/main/java/com/yupi/springbootinit/controller/FeatureAuthController.java +++ b/src/main/java/com/yupi/springbootinit/controller/FeatureAuthController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Date; /** @@ -91,8 +92,8 @@ public class FeatureAuthController { // 5. 校验租户是否过期(根据功能代码选择不同的过期时间字段) String featureCode = request.getFeatureCode(); - Date expireTime = getFeatureExpireTime(tenant, featureCode); - if (expireTime != null && expireTime.before(new Date())) { + LocalDateTime expireTime = getFeatureExpireTime(tenant, featureCode); + if (expireTime != null && expireTime.isBefore(LocalDateTime.now())) { throw new BusinessException(ErrorCode.PACKAGE_EXPIRED, "该功能套餐已过期"); } @@ -119,7 +120,7 @@ public class FeatureAuthController { /** * 根据功能代码获取对应的过期时间 */ - private Date getFeatureExpireTime(SystemTenant tenant, String featureCode) { + private LocalDateTime getFeatureExpireTime(SystemTenant tenant, String featureCode) { if (featureCode == null) { return tenant.getExpireTime(); } diff --git a/src/main/java/com/yupi/springbootinit/model/entity/SystemTenant.java b/src/main/java/com/yupi/springbootinit/model/entity/SystemTenant.java index 758c107..d3a6359 100644 --- a/src/main/java/com/yupi/springbootinit/model/entity/SystemTenant.java +++ b/src/main/java/com/yupi/springbootinit/model/entity/SystemTenant.java @@ -84,28 +84,28 @@ public class SystemTenant { */ @TableField(value = "expire_time") @ApiModelProperty(value="过期时间") - private Date expireTime; + private LocalDateTime expireTime; /** * 爬主播过期时间 */ @TableField(value = "crawl_expire_time") @ApiModelProperty(value="爬主播过期时间") - private Date crawlExpireTime; + private LocalDateTime crawlExpireTime; /** * ai过期时间 */ - @TableField(value = "expire_time") @ApiModelProperty(value="ai过期时间") - private Date aiExpireTime; + @TableField(value = "ai_expire_time") + private LocalDateTime aiExpireTime; /** * 大哥过期时间 */ - @TableField(value = "expire_time") @ApiModelProperty(value="大哥过期时间") - private Date brotherExpireTime; + @TableField(value = "brother_expire_time") + private LocalDateTime brotherExpireTime; /** @@ -125,9 +125,9 @@ public class SystemTenant { /** * 创建时间 */ - @TableField(value = "create_time") @ApiModelProperty(value="创建时间") - private Date createTime; + @TableField(value = "create_time") + private LocalDateTime createTime; /** * 更新者 @@ -141,7 +141,7 @@ public class SystemTenant { */ @TableField(value = "update_time") @ApiModelProperty(value="更新时间") - private Date updateTime; + private LocalDateTime updateTime; /** * 是否删除 diff --git a/src/main/java/com/yupi/springbootinit/model/vo/user/SystemTenantVO.java b/src/main/java/com/yupi/springbootinit/model/vo/user/SystemTenantVO.java index 1440ba9..3936ab0 100644 --- a/src/main/java/com/yupi/springbootinit/model/vo/user/SystemTenantVO.java +++ b/src/main/java/com/yupi/springbootinit/model/vo/user/SystemTenantVO.java @@ -11,5 +11,5 @@ import java.util.Date; */ @Data public class SystemTenantVO { - private Date expiredTime; + private LocalDateTime expiredTime; } diff --git a/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java b/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java index 6fd5f5d..04e9b8a 100644 --- a/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java +++ b/src/main/java/com/yupi/springbootinit/model/vo/user/SystemUsersVO.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; import java.util.Date; /* @@ -32,13 +33,13 @@ public class SystemUsersVO { private String tokenValue; - private Date expireTime; + private LocalDateTime expireTime; - private Date brotherExpireTime; + private LocalDateTime brotherExpireTime; - private Date aiExpireTime; + private LocalDateTime aiExpireTime; - private Date crawlExpireTime; + private LocalDateTime crawlExpireTime; private Byte aiReplay; diff --git a/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java b/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java index c3bdd7f..2007ef1 100644 --- a/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java +++ b/src/main/java/com/yupi/springbootinit/service/impl/LoginService.java @@ -102,7 +102,7 @@ public class LoginService { StpUtil.login(user.getId(), scene.getSaMode()); switch (scene) { case AI_CHAT: - StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getAiExpireTime(),DateUtil.date())); + StpUtil.renewTimeout(DateUtils.dateBetween(systemTenant.getAiExpireTime(), DateUtil.date().toLocalDateTime())); BeanUtil.copyProperties(user, vo); vo.setTokenName(StpUtil.getTokenName()); vo.setTokenValue(StpUtil.getTokenValue()); diff --git a/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java b/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java index 5b402b5..1b1589f 100644 --- a/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java +++ b/src/main/java/com/yupi/springbootinit/service/impl/SystemUsersServiceImpl.java @@ -51,14 +51,14 @@ public class SystemUsersServiceImpl extends ServiceImpl 0 ) { return between; } diff --git a/src/main/java/com/yupi/springbootinit/utils/DateUtils.java b/src/main/java/com/yupi/springbootinit/utils/DateUtils.java index 72032a4..0264199 100644 --- a/src/main/java/com/yupi/springbootinit/utils/DateUtils.java +++ b/src/main/java/com/yupi/springbootinit/utils/DateUtils.java @@ -3,6 +3,7 @@ package com.yupi.springbootinit.utils; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; +import java.time.LocalDateTime; import java.util.Date; /* @@ -11,7 +12,8 @@ import java.util.Date; */ public class DateUtils { - public static Long dateBetween(Date date1, Date date2) { - return DateUtil.between(date1, date2, DateUnit.SECOND); + public static Long dateBetween(LocalDateTime date1, LocalDateTime date2) { + + return DateUtil.between(DateUtil.date(date1), DateUtil.date(date2), DateUnit.SECOND); } }