From 05ffa1a7f490e1e81d6fbf1ee948db50b1fff6fc Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 14 二月 2023 16:02:52 +0800
Subject: [PATCH] 修改depcode、dircode值

---
 src/main/java/com/lf/server/service/sys/UserService.java |  172 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 122 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/lf/server/service/sys/UserService.java b/src/main/java/com/lf/server/service/sys/UserService.java
index 51eba3c..0b1a135 100644
--- a/src/main/java/com/lf/server/service/sys/UserService.java
+++ b/src/main/java/com/lf/server/service/sys/UserService.java
@@ -1,19 +1,18 @@
 package com.lf.server.service.sys;
 
-import com.lf.server.entity.all.RedisCacheKey;
-import com.lf.server.entity.all.SettingData;
+import com.lf.server.entity.sys.RoleEntity;
 import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.helper.Md5Helper;
 import com.lf.server.helper.RsaHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.mapper.sys.UserMapper;
 import com.lf.server.service.all.RedisService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.cache.RedisCache;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.concurrent.TimeUnit;
 
 /**
  * 鐢ㄦ埛琛�
@@ -29,11 +28,20 @@
     @Autowired
     RedisService redisService;
 
-    @Override
-    public Integer selectCount(String uname) {
-        uname = StringHelper.getLikeStr(uname);
+    @Autowired
+    LoginService loginService;
 
-        return userMapper.selectCount(uname);
+    @Autowired
+    TokenService tokenService;
+
+    private final static Log log = LogFactory.getLog(UserService.class);
+
+    @Override
+    public Integer selectCount(String uname, String depcode) {
+        uname = StringHelper.getLikeStr(uname);
+        depcode = StringHelper.getLeftLike(depcode);
+
+        return userMapper.selectCount(uname, depcode);
     }
 
     @Override
@@ -52,15 +60,36 @@
     }
 
     @Override
-    public List<UserEntity> selectByPage(String uname, Integer limit, Integer offset) {
+    public List<UserEntity> selectByPage(String uname, String depcode, Integer limit, Integer offset) {
         uname = StringHelper.getLikeStr(uname);
+        depcode = StringHelper.getLeftLike(depcode);
 
-        return userMapper.selectByPage(uname, limit, offset);
+        return userMapper.selectByPage(uname, depcode, limit, offset);
     }
 
     @Override
     public UserEntity selectByToken(String token) {
         return userMapper.selectByToken(token);
+    }
+
+    @Override
+    public Integer selectForIsAdmin(Integer id) {
+        return userMapper.selectForIsAdmin(id);
+    }
+
+    @Override
+    public List<UserEntity> selectAdminUsers(Integer type) {
+        return userMapper.selectAdminUsers(type);
+    }
+
+    @Override
+    public List<RoleEntity> selectRoleByUserId(Integer id) {
+        return userMapper.selectRoleByUserId(id);
+    }
+
+    @Override
+    public List<UserEntity> selectUserByRoleId(Integer roleId) {
+        return userMapper.selectUserByRoleId(roleId);
     }
 
     @Override
@@ -84,22 +113,24 @@
     }
 
     @Override
-    public Integer updateUsers(UserEntity userEntity) {
-        return userMapper.updateUsers(userEntity);
+    public Integer updateUser(UserEntity userEntity) {
+        return userMapper.updateUser(userEntity);
     }
 
     @Override
-    public Integer selectCountForRole(String uname, Integer roleid, Integer depid) {
+    public Integer selectCountForRole(String uname, Integer roleid, String depcode) {
         uname = StringHelper.getLikeStr(uname);
+        depcode = StringHelper.getLeftLike(depcode);
 
-        return userMapper.selectCountForRole(uname, roleid, depid);
+        return userMapper.selectCountForRole(uname, roleid, depcode);
     }
 
     @Override
-    public List<UserEntity> selectByPageForRole(String uname, Integer roleid, Integer depid, Integer limit, Integer offset) {
+    public List<UserEntity> selectByPageForRole(String uname, Integer roleid, String depcode, Integer limit, Integer offset) {
         uname = StringHelper.getLikeStr(uname);
+        depcode = StringHelper.getLeftLike(depcode);
 
-        return userMapper.selectByPageForRole(uname, roleid, depid, limit, offset);
+        return userMapper.selectByPageForRole(uname, roleid, depcode, limit, offset);
     }
 
     @Override
@@ -108,28 +139,76 @@
     }
 
     /**
-     * 楠岃瘉鏂扮敤鎴峰瘑鐮�
+     * 楠岃瘉鐢ㄦ埛瀹炰綋绫�
      */
-    public String validateNewPwd(UserEntity entity) {
+    public String validateUserEntity(UserEntity entity) {
         if (entity == null) {
             return "娌℃湁鎵惧埌鐢ㄦ埛";
         }
+        if (StringHelper.isEmpty(entity.getUid())) {
+            return "鐢ㄦ埛ID涓嶈兘涓虹┖";
+        }
         if (StringHelper.isEmpty(entity.getPwd())) {
-            return "瀵嗙爜涓嶈兘涓虹┖";
+            return "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖";
         }
 
+        return null;
+    }
+
+    /**
+     * 楠岃瘉鐧诲綍鐢ㄦ埛瀵嗙爜
+     */
+    public String validateLoginPwd(UserEntity entity) {
         try {
+            String str = validateUserEntity(entity);
+            if (str != null) {
+                return str;
+            }
+
+            // 瑙e瘑
+            String uid = RsaHelper.decrypt(entity.getUid());
             String pwd = RsaHelper.decrypt(entity.getPwd());
-            if (!StringHelper.checkPwdValid(pwd)) {
+
+            entity.setUid(uid);
+            entity.setPwd(pwd);
+
+            if (tokenService.isUidDisable(entity)) {
+                return "鐢ㄦ埛ID宸茬鐢�";
+            }
+
+            return null;
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+            return "瑙e瘑澶辫触";
+        }
+    }
+
+    /**
+     * 楠岃瘉鏂扮敤鎴峰瘑鐮�
+     */
+    @SuppressWarnings("AlibabaRemoveCommentedCode")
+    public String validateNewPwd(UserEntity entity) {
+        try {
+            String str = validateUserEntity(entity);
+            if (str != null) {
+                return str;
+            }
+
+            // 瑙e瘑
+            String uid = RsaHelper.decrypt(entity.getUid());
+            /*String pwd = RsaHelper.decrypt(entity.getPwd());
+            if (!StringHelper.isPwdValid(pwd)) {
                 return "瀵嗙爜涓嶇鍚堣姹�";
             }
 
             String newPwd = Md5Helper.reverse(Md5Helper.generate(pwd));
-            entity.setPwd(newPwd);
+            entity.setPwd(newPwd);*/
+            entity.setUid(uid);
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            log.error(ex.getMessage(), ex);
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -137,36 +216,40 @@
      * 楠岃瘉鑰佺敤鎴峰瘑鐮�
      */
     public String validateOldPwd(UserEntity entity) {
-        if (entity == null) {
-            return "娌℃湁鎵惧埌鐢ㄦ埛";
-        }
-        if (StringHelper.isEmpty(entity.getPwd())) {
-            return "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖";
-        }
-
         try {
+            String str = validateUserEntity(entity);
+            if (str != null) {
+                return str;
+            }
+            if (StringHelper.isEmpty(entity.getSalt())) {
+                return "鏂板瘑鐮佷笉鑳戒负绌�";
+            }
+
+            String uid = RsaHelper.decrypt(entity.getUid());
             String pwd = RsaHelper.decrypt(entity.getPwd());
             String salt = RsaHelper.decrypt(entity.getSalt());
 
-            UserEntity ue = selectUser(entity.getId());
+            UserEntity ue = selectByUid(uid);
             if (ue == null) {
                 return "娌℃湁鎵惧埌鐢ㄦ埛";
             }
             if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
-                //
-                return "鏃у瘑鐮佽緭鍏ラ敊璇�";
+                tokenService.setPwdErrCache(ue);
+                return "鏃у瘑鐮佷笉姝g‘";
             }
-            if (!StringHelper.checkPwdValid(salt)) {
+            if (StringHelper.isPwdInvalid(salt)) {
                 return "瀵嗙爜涓嶇鍚堣姹�";
             }
 
             String newPwd = Md5Helper.reverse(Md5Helper.generate(salt));
             entity.setPwd(newPwd);
             entity.setSalt(null);
+            entity.setUid(uid);
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            log.error(ex.getMessage(), ex);
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -184,12 +267,13 @@
         try {
             String pwd = RsaHelper.decrypt(adminPwd);
             if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
+                tokenService.setPwdErrCache(ue);
                 return "绠$悊鍛樺瘑鐮佷笉姝g‘";
             }
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            return "瑙e瘑澶辫触";
         }
     }
 
@@ -203,7 +287,7 @@
 
         try {
             String pwd = RsaHelper.decrypt(newPwd);
-            if (!StringHelper.checkPwdValid(pwd)) {
+            if (StringHelper.isPwdInvalid(pwd)) {
                 return "瀵嗙爜涓嶇鍚堣姹�";
             }
 
@@ -212,20 +296,8 @@
 
             return null;
         } catch (Exception ex) {
-            return "瀵嗙爜瑙e瘑澶辫触";
+            log.error(ex.getMessage(), ex);
+            return "瑙e瘑澶辫触";
         }
-    }
-
-    /**
-     * 璁剧疆瀵嗙爜閿欒缂撳瓨
-     *
-     * @param ue
-     */
-    public void setPwdErrCache(UserEntity ue) {
-        String key = RedisCacheKey.signPwdError(ue.getUid());
-        Object objCount = redisService.get(key);
-
-        int count = objCount == null ? 1 : (int) objCount + 1;
-        redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES);
     }
 }

--
Gitblit v1.9.3