Browse Source

清除密码错误次数定时器修复

wangmh 7 years ago
parent
commit
9939ab4836

+ 2 - 0
sso-server/src/main/java/com/uas/sso/dao/UserRecordDao.java

@@ -3,6 +3,7 @@ package com.uas.sso.dao;
 import com.uas.sso.entity.UserRecord;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 
 /**
@@ -16,6 +17,7 @@ public interface UserRecordDao extends JpaRepository<UserRecord, Long>, JpaSpeci
     /**
      * 将所有用户密码输错次数设为0
      */
+    @Modifying
     @Query("update UserRecord u set u.pwdErrorCount = 0")
     void clearPwdErrorCount();
 }

+ 15 - 0
sso-server/src/main/java/com/uas/sso/service/UserRecordService.java

@@ -0,0 +1,15 @@
+package com.uas.sso.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author wangmh
+ * @create 2018-05-29 9:50
+ * @desc
+ **/
+@Service
+public interface UserRecordService {
+
+    void clearPwdErrorCount();
+}

+ 25 - 0
sso-server/src/main/java/com/uas/sso/service/impl/UserRecordServiceImpl.java

@@ -0,0 +1,25 @@
+package com.uas.sso.service.impl;
+
+import com.uas.sso.dao.UserRecordDao;
+import com.uas.sso.service.UserRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author wangmh
+ * @create 2018-05-29 9:56
+ * @desc
+ **/
+@Service
+public class UserRecordServiceImpl implements UserRecordService {
+
+    @Autowired
+    private UserRecordDao userRecordDao;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void clearPwdErrorCount() {
+        userRecordDao.clearPwdErrorCount();
+    }
+}

+ 4 - 8
sso-server/src/main/java/com/uas/sso/timertask/UserLockTimerTask.java

@@ -1,6 +1,6 @@
 package com.uas.sso.timertask;
 
-import com.uas.sso.dao.UserRecordDao;
+import com.uas.sso.service.UserRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -14,16 +14,12 @@ import org.springframework.stereotype.Component;
 public class UserLockTimerTask {
 
     @Autowired
-    private UserRecordDao userRecordDao;
+    private UserRecordService userRecordService;
 
     @Scheduled(cron = "0 0 0 * * *")
     public void deleteAllLock() {
-        try {
-            userRecordDao.clearPwdErrorCount();
-            System.out.println("锁定清除:"+System.currentTimeMillis());
-        } catch (Exception e) {
-
-        }
+        userRecordService.clearPwdErrorCount();
+        System.out.println("锁定清除:"+System.currentTimeMillis());
     }
 
 }