From a5c5cfb4f94a8687dc1b8ce5d1cebe124853f594 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Wed, 4 Jun 2025 17:17:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E7=94=A8=E6=88=B7=E7=94=9F?= =?UTF-8?q?=E6=95=88=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/system/api/domain/SysUser.java | 12 +++---- .../common/core/enums/UserPermanentEnum.java | 33 +++++++++++++++++++ .../system/controller/SysUserController.java | 15 ++++++++- 3 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/enums/UserPermanentEnum.java diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java index f3538cf..90f216a 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java @@ -172,12 +172,12 @@ public class SysUser extends BaseEntity { /** 临时用户生效开始日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "生效开始日期", width = 30, dateFormat = "yyyy-MM-dd") - private String effectiveStartDay; + private Date effectiveStartDay; /** 临时用户生效截止日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "生效截止日期", width = 30, dateFormat = "yyyy-MM-dd") - private String effectiveEndDay; + private Date effectiveEndDay; public SysUser() { @@ -439,19 +439,19 @@ public class SysUser extends BaseEntity { this.isBuiltIn = isBuiltIn; } - public String getEffectiveStartDay() { + public Date getEffectiveStartDay() { return effectiveStartDay; } - public void setEffectiveStartDay(String effectiveStartDay) { + public void setEffectiveStartDay(Date effectiveStartDay) { this.effectiveStartDay = effectiveStartDay; } - public String getEffectiveEndDay() { + public Date getEffectiveEndDay() { return effectiveEndDay; } - public void setEffectiveEndDay(String effectiveEndDay) { + public void setEffectiveEndDay(Date effectiveEndDay) { this.effectiveEndDay = effectiveEndDay; } } diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/enums/UserPermanentEnum.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/enums/UserPermanentEnum.java new file mode 100644 index 0000000..1e67b03 --- /dev/null +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/enums/UserPermanentEnum.java @@ -0,0 +1,33 @@ +package com.bonus.common.core.enums; + +/** + * 是否长期用户 + * + * @author bonus + */ +public enum UserPermanentEnum +{ + //正常 + TEMP_USER("0", "临时用户"), + //停用 + LONG_USER("1", "长期用户"); + + private final String code; + private final String info; + + UserPermanentEnum(String code, String info) + { + this.code = code; + this.info = info; + } + + public String getCode() + { + return code; + } + + public String getInfo() + { + return info; + } +} diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java index 6b5b16b..30d7a20 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java @@ -2,6 +2,8 @@ package com.bonus.system.controller; import com.bonus.common.core.constant.CacheConstants; import com.bonus.common.core.domain.R; +import com.bonus.common.core.enums.UserPermanentEnum; +import com.bonus.common.core.enums.UserStatus; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; @@ -330,7 +332,7 @@ public class SysUserController extends BaseController { } user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - + setUserStatus(user); return toAjax(userService.insertUser(user)); } catch (Exception e) { logger.error(e.toString(), e); @@ -338,6 +340,16 @@ public class SysUserController extends BaseController { return error("系统异常,请联系管理员"); } + private static void setUserStatus(SysUser user) { + if (UserPermanentEnum.TEMP_USER.getCode().equals(user.getIsPermanent())) { + Date now = new Date(); + if (Objects.nonNull(user.getEffectiveStartDay()) && user.getEffectiveStartDay().after(now) + || Objects.nonNull(user.getEffectiveEndDay()) && user.getEffectiveEndDay().before(now)) { + user.setStatus(UserStatus.DISABLE.getCode()); + } + } + } + /** * 修改用户 */ @@ -360,6 +372,7 @@ public class SysUserController extends BaseController { return error("内置用户不允许修改"); } user.setUpdateBy(SecurityUtils.getUsername()); + setUserStatus(user); return toAjax(userService.updateUser(user)); } catch (Exception e) { logger.error(e.toString(), e);