From 56efb9b94e1a256743a7ded90d43cd7479918fe4 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期三, 30 七月 2025 18:19:54 +0800 Subject: [PATCH] 会员判断 --- ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java | 4 ++++ ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 26 ++++++++++++++++++++++++++ ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 3 ++- ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 15 ++++++++++++++- ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java | 2 +- 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index 1dc0d3d..e9b9959 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -57,7 +57,7 @@ /** 瀵嗙爜 */ private String password; - /** 甯愬彿鐘舵�侊紙0姝e父 1鍋滅敤锛� */ + /** 甯愬彿鐘舵�侊紙0姝e父 1鍋滅敤 2鍒犻櫎 3寮傚父 4璇曠敤鏈熺粨鏉燂級 */ @Excel(name = "甯愬彿鐘舵��", readConverterExp = "0=姝e父,1=鍋滅敤") private String status; @@ -90,6 +90,18 @@ /** 瑙掕壊ID */ private Long roleId; + + /**鏄惁浼氬憳 0鍚� 1鏄�*/ + private Integer paid; + + public Integer getPaid() { + return paid; + } + + public void setPaid(Integer paid) { + this.paid = paid; + } + public Integer getClanId() { @@ -336,6 +348,7 @@ .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) + .append("paid",getPaid()) .toString(); } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java index 9aa6ccd..a554be7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java @@ -7,7 +7,7 @@ */ public enum UserStatus { - OK("0", "姝e父"), DISABLE("1", "鍋滅敤"), DELETED("2", "鍒犻櫎"), ABNORMAL("3","寮傚父"); + OK("0", "姝e父"), DISABLE("1", "鍋滅敤"), DELETED("2", "鍒犻櫎"), ABNORMAL("3","寮傚父"), END("4","璇曠敤鏈熺粨鏉�"); private final String code; private final String info; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index 58be3dd..07d6867 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -33,6 +33,14 @@ import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; +import java.time.temporal.Temporal; +import java.util.Date; +import java.util.Objects; + /** * 鐧诲綍鏍¢獙鏂规硶 * @@ -109,7 +117,23 @@ + public boolean endOfLife(String username) { + SysUser sysUser = userService.selectUserByUserName(username); + if (sysUser.getPaid() != null && sysUser.getPaid().equals(0) && !"4".equals(sysUser.getStatus())) { + Date startTime = sysUser.getCreateTime(); + // 瀹夊叏杞崲 + Instant instant = startTime.toInstant(); + LocalDateTime startDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); + long daysPassed = ChronoUnit.DAYS.between(startDateTime, LocalDateTime.now()); + + if (daysPassed > 7) { + sysUser.setStatus("4"); + userService.updateUserStatus(sysUser); + } + } + return true; + } @@ -124,6 +148,8 @@ */ public String login(String nickName, String password, String code, String uuid) { + System.out.println("[[[[[[[[[[[[[["); + endOfLife(nickName); // 楠岃瘉鐮佹牎楠� validateCaptcha(nickName, code, uuid); // 鐧诲綍鍓嶇疆鏍¢獙 diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java index 1df9939..7ef58a1 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java @@ -56,6 +56,10 @@ { log.info("鐧诲綍鐢ㄦ埛锛歿} 寮傚父.", username); throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + username + " 鍑虹幇寮傚父锛岃鑱旂郴绠$悊鍛�"); + }else if(UserStatus.END.getCode().equals(user.getStatus())) + { + log.info("鐧诲綍鐢ㄦ埛锛歿} 寮傚父.", username); + throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + username + " 璇曠敤鏈熷凡缁撴潫锛岃浠樿垂缁х画浣跨敤"); } passwordService.validate(user); diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 30699b6..95dc3a5 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -24,6 +24,7 @@ <result property="updateTime" column="update_time" /> <result property="clanId" column="clan_id" /> <result property="remark" column="remark" /> + <result property="paid" column="paid" /> <association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" /> <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> </resultMap> @@ -48,7 +49,7 @@ </resultMap> <sql id="selectUserVo"> - select u.clan_id,u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, + select u.clan_id,u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.clan_id,u.paid, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u -- Gitblit v1.9.1