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