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