From d63b4703ef5017a6b49571b1558f6716f55733f2 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 17 十月 2022 09:14:48 +0800
Subject: [PATCH] 1、修改所有Mapper的删除功能 2、用户添加批量修改密码功能 3、添加Java的GDAL操作类

---
 src/main/java/com/lf/server/service/sys/UserService.java |   77 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 75 insertions(+), 2 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 e871b45..51eba3c 100644
--- a/src/main/java/com/lf/server/service/sys/UserService.java
+++ b/src/main/java/com/lf/server/service/sys/UserService.java
@@ -1,14 +1,19 @@
 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.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.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;
 
 /**
  * 鐢ㄦ埛琛�
@@ -20,6 +25,9 @@
 public class UserService implements UserMapper {
     @Autowired
     UserMapper userMapper;
+
+    @Autowired
+    RedisService redisService;
 
     @Override
     public Integer selectCount(String uname) {
@@ -94,10 +102,15 @@
         return userMapper.selectByPageForRole(uname, roleid, depid, limit, offset);
     }
 
+    @Override
+    public Integer updateUsersPwd(Integer updateUser, String pwd, List<Integer> ids) {
+        return userMapper.updateUsersPwd(updateUser, pwd, ids);
+    }
+
     /**
      * 楠岃瘉鏂扮敤鎴峰瘑鐮�
      */
-    public String ValidateNewPwd(UserEntity entity) {
+    public String validateNewPwd(UserEntity entity) {
         if (entity == null) {
             return "娌℃湁鎵惧埌鐢ㄦ埛";
         }
@@ -123,7 +136,7 @@
     /**
      * 楠岃瘉鑰佺敤鎴峰瘑鐮�
      */
-    public String ValidateOldPwd(UserEntity entity) {
+    public String validateOldPwd(UserEntity entity) {
         if (entity == null) {
             return "娌℃湁鎵惧埌鐢ㄦ埛";
         }
@@ -140,6 +153,7 @@
                 return "娌℃湁鎵惧埌鐢ㄦ埛";
             }
             if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
+                //
                 return "鏃у瘑鐮佽緭鍏ラ敊璇�";
             }
             if (!StringHelper.checkPwdValid(salt)) {
@@ -155,4 +169,63 @@
             return "瀵嗙爜瑙e瘑澶辫触";
         }
     }
+
+    /**
+     * 楠岃瘉绠$悊鍛樺瘑鐮�
+     */
+    public String validateAdminPwd(UserEntity ue, String adminPwd) {
+        if (ue == null) {
+            return "娌℃湁鐧诲綍鎴栬秴鏃�";
+        }
+        if (StringHelper.isEmpty(adminPwd)) {
+            return "绠$悊鍛樺瘑鐮佷笉鑳戒负绌�";
+        }
+
+        try {
+            String pwd = RsaHelper.decrypt(adminPwd);
+            if (!Md5Helper.validatePassword(pwd, ue.getPwd())) {
+                return "绠$悊鍛樺瘑鐮佷笉姝g‘";
+            }
+
+            return null;
+        } catch (Exception ex) {
+            return "瀵嗙爜瑙e瘑澶辫触";
+        }
+    }
+
+    /**
+     * 楠岃瘉鏂板瘑鐮�
+     */
+    public String validateNewPwd(UserEntity ue, String newPwd) {
+        if (StringHelper.isEmpty(newPwd)) {
+            return "鏂板瘑鐮佷笉鑳戒负绌�";
+        }
+
+        try {
+            String pwd = RsaHelper.decrypt(newPwd);
+            if (!StringHelper.checkPwdValid(pwd)) {
+                return "瀵嗙爜涓嶇鍚堣姹�";
+            }
+
+            String dbPwd = Md5Helper.reverse(Md5Helper.generate(pwd));
+            ue.setSalt(dbPwd);
+
+            return null;
+        } catch (Exception 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