Просмотр исходного кода

将 LoginAttempts 更名为 UserLogin

reghao 5 месяцев назад
Родитель
Сommit
25a8021c89

+ 4 - 4
account/account-service/src/main/java/cn/reghao/tnb/account/app/db/mapper/LoginAttemptsMapper.java → account/account-service/src/main/java/cn/reghao/tnb/account/app/db/mapper/UserLoginMapper.java

@@ -1,7 +1,7 @@
 package cn.reghao.tnb.account.app.db.mapper;
 
 import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.account.app.model.po.LoginAttempts;
+import cn.reghao.tnb.account.app.model.po.UserLogin;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -12,9 +12,9 @@ import java.util.List;
  * @date 2020-04-27 09:35:39
  */
 @Mapper
-public interface LoginAttemptsMapper extends BaseMapper<LoginAttempts> {
+public interface UserLoginMapper extends BaseMapper<UserLogin> {
     void updateSetFailed(String loginId);
 
-    List<LoginAttempts> findByLoginIds(List<String> loginIds);
-    List<LoginAttempts> findByUserId(@Param("userId") long userId, @Param("pageSize") int pageSize);
+    List<UserLogin> findByLoginIds(List<String> loginIds);
+    List<UserLogin> findByUserId(@Param("userId") long userId, @Param("pageSize") int pageSize);
 }

+ 3 - 3
account/account-service/src/main/java/cn/reghao/tnb/account/app/model/po/LoginAttempts.java → account/account-service/src/main/java/cn/reghao/tnb/account/app/model/po/UserLogin.java

@@ -13,7 +13,7 @@ import lombok.*;
 @NoArgsConstructor
 @Setter
 @Getter
-public class LoginAttempts extends BaseObject<Integer> {
+public class UserLogin extends BaseObject<Integer> {
     private String loginId;
     private Long userId;
     private Integer loginType;
@@ -24,8 +24,8 @@ public class LoginAttempts extends BaseObject<Integer> {
     private Boolean rememberMe;
     private Boolean success;
 
-    public LoginAttempts(String loginId, long userId, int plat, String loginIp,
-                         int loginType, String userAgent, boolean rememberMe) {
+    public UserLogin(String loginId, long userId, int plat, String loginIp,
+                     int loginType, String userAgent, boolean rememberMe) {
         this.loginId = loginId;
         this.userId = userId;
         this.loginType = loginType;

+ 0 - 1
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/LoginAttemptService.java

@@ -1,7 +1,6 @@
 package cn.reghao.tnb.account.app.service;
 
 import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.tnb.account.app.model.po.LoginAttempts;
 import cn.reghao.tnb.account.app.model.vo.LoginRecordVo;
 import cn.reghao.tnb.account.app.security.form.AccountAuthToken;
 

+ 10 - 10
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/impl/AccountTokenServiceImpl.java

@@ -3,9 +3,9 @@ package cn.reghao.tnb.account.app.service.impl;
 import cn.reghao.jutil.jdk.security.RandomString;
 import cn.reghao.jutil.jdk.security.RsaCryptor;
 import cn.reghao.tnb.account.api.constant.TokenType;
-import cn.reghao.tnb.account.app.db.mapper.LoginAttemptsMapper;
+import cn.reghao.tnb.account.app.db.mapper.UserLoginMapper;
 import cn.reghao.tnb.account.app.model.constant.LoginPlat;
-import cn.reghao.tnb.account.app.model.po.LoginAttempts;
+import cn.reghao.tnb.account.app.model.po.UserLogin;
 import cn.reghao.tnb.account.app.service.AccountTokenService;
 import cn.reghao.tnb.account.app.redis.ds.RedisOps;
 import cn.reghao.jutil.web.ServletUtil;
@@ -49,17 +49,17 @@ public class AccountTokenServiceImpl implements AccountTokenService {
     private final RedisOps redisOps;
     private final RedisString redisString;
     private final RedisStringObject redisStringObject;
-    private final LoginAttemptsMapper loginAttemptsMapper;
+    private final UserLoginMapper userLoginMapper;
     private final PubkeyService pubkeyService;
 
     public AccountTokenServiceImpl(RedisOps redisOps, RedisString redisString, RedisStringObject redisStringObject,
-                                   LoginAttemptsMapper loginAttemptsMapper, ServerProperties serverProperties,
+                                   UserLoginMapper userLoginMapper, ServerProperties serverProperties,
                                    PubkeyService pubkeyService) {
         long sessionTimeout = serverProperties.getServlet().getSession().getTimeout().getSeconds();
         this.redisOps = redisOps;
         this.redisString = redisString;
         this.redisStringObject = redisStringObject;
-        this.loginAttemptsMapper = loginAttemptsMapper;
+        this.userLoginMapper = userLoginMapper;
         this.pubkeyService = pubkeyService;
     }
 
@@ -170,11 +170,11 @@ public class AccountTokenServiceImpl implements AccountTokenService {
 
     @Override
     public void logout(String loginId) {
-        List<LoginAttempts> loginAttemptsList = loginAttemptsMapper.findByLoginIds(List.of(loginId));
-        if (!loginAttemptsList.isEmpty() && !loginAttemptsList.get(0).getRememberMe()) {
-            LoginAttempts loginAttempts = loginAttemptsList.get(0);
-            long userId = loginAttempts.getUserId();
-            int plat = loginAttempts.getPlat();
+        List<UserLogin> userLoginList = userLoginMapper.findByLoginIds(List.of(loginId));
+        if (!userLoginList.isEmpty() && !userLoginList.get(0).getRememberMe()) {
+            UserLogin userLogin = userLoginList.get(0);
+            long userId = userLogin.getUserId();
+            int plat = userLogin.getPlat();
             if (LoginPlat.rest.getValue() == plat) {
                 revokeUserToken(userId, loginId);
             } else {

+ 17 - 17
account/account-service/src/main/java/cn/reghao/tnb/account/app/service/impl/LoginAttemptServiceImpl.java

@@ -9,8 +9,8 @@ import cn.reghao.tnb.account.app.redis.ds.RedisOps;
 import cn.reghao.tnb.account.app.security.form.AccountAuthToken;
 import cn.reghao.tnb.account.app.redis.RedisKeys;
 import cn.reghao.jutil.web.ServletUtil;
-import cn.reghao.tnb.account.app.db.mapper.LoginAttemptsMapper;
-import cn.reghao.tnb.account.app.model.po.LoginAttempts;
+import cn.reghao.tnb.account.app.db.mapper.UserLoginMapper;
+import cn.reghao.tnb.account.app.model.po.UserLogin;
 import cn.reghao.tnb.account.app.redis.ds.RedisString;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.web.authentication.preauth.PreAuthenticatedCredentialsNotFoundException;
@@ -29,12 +29,12 @@ import java.util.stream.Collectors;
 public class LoginAttemptServiceImpl implements LoginAttemptService {
     // 帐号可同时登入的设备数量
     private final int maxDevice = 3;
-    private final LoginAttemptsMapper attemptsMapper;
+    private final UserLoginMapper attemptsMapper;
     private final RedisString redisString;
     private final RedisOps redisOps;
     private final AccountTokenService accountTokenService;
 
-    public LoginAttemptServiceImpl(LoginAttemptsMapper attemptsMapper, RedisString redisString, RedisOps redisOps,
+    public LoginAttemptServiceImpl(UserLoginMapper attemptsMapper, RedisString redisString, RedisOps redisOps,
                                    AccountTokenService accountTokenService) {
         this.attemptsMapper = attemptsMapper;
         this.redisString = redisString;
@@ -74,11 +74,11 @@ public class LoginAttemptServiceImpl implements LoginAttemptService {
 
         if (loginIds.size() >= maxDevice) {
             // 登出最早登入的设备
-            List<LoginAttempts> list = attemptsMapper.findByLoginIds(loginIds).stream()
+            List<UserLogin> list = attemptsMapper.findByLoginIds(loginIds).stream()
                     .sorted((o1, o2) -> (int) (o1.getLoginAt()-o2.getLoginAt()))
                     .collect(Collectors.toList());
             if (!list.isEmpty()) {
-                LoginAttempts oldest = list.get(0);
+                UserLogin oldest = list.get(0);
                 accountTokenService.logout(oldest.getLoginId());
             }
         }
@@ -116,8 +116,8 @@ public class LoginAttemptServiceImpl implements LoginAttemptService {
         String userAgent = request.getHeader("user-agent");
         String loginIp = request.getRemoteAddr();
 
-        LoginAttempts loginAttempts = new LoginAttempts(loginId, userId, plat, loginIp, loginType, userAgent, rememberMe);
-        attemptsMapper.save(loginAttempts);
+        UserLogin userLogin = new UserLogin(loginId, userId, plat, loginIp, loginType, userAgent, rememberMe);
+        attemptsMapper.save(userLogin);
     }
 
     @Override
@@ -139,24 +139,24 @@ public class LoginAttemptServiceImpl implements LoginAttemptService {
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
 
-        List<LoginAttempts> loginAttemptsList = attemptsMapper.findByUserId(userId, 10);
-        loginAttemptsList.forEach(loginAttempts -> {
-            long userId0 = loginAttempts.getUserId();
-            String loginId0 = loginAttempts.getLoginId();
+        List<UserLogin> userLoginList = attemptsMapper.findByUserId(userId, 10);
+        userLoginList.forEach(userLogin -> {
+            long userId0 = userLogin.getUserId();
+            String loginId0 = userLogin.getLoginId();
             String redisKey = RedisKeys.getAuthTokenKey(userId0, loginId0);
             boolean online = redisOps.exists(redisKey);
         });
 
         return attemptsMapper.findByLoginIds(loginIds).stream()
-                .map(loginAttempts -> {
+                .map(userLogin -> {
                     String status = "在线";
-                    if (loginId.equals(loginAttempts.getLoginId())) {
+                    if (loginId.equals(userLogin.getLoginId())) {
                         status += "(当前设备)";
                     }
 
-                    String loginAtStr = DateTimeConverter.format(loginAttempts.getLoginAt());
-                    String location = getLocationByIp(loginAttempts.getLoginIp());
-                    return new LoginRecordVo(loginAttempts.getLoginId(), loginAttempts.getUserAgent(), loginAttempts.getLoginIp(), location, loginAtStr, status);
+                    String loginAtStr = DateTimeConverter.format(userLogin.getLoginAt());
+                    String location = getLocationByIp(userLogin.getLoginIp());
+                    return new LoginRecordVo(userLogin.getLoginId(), userLogin.getUserAgent(), userLogin.getLoginIp(), location, loginAtStr, status);
                 })
                 .collect(Collectors.toList());
     }

+ 3 - 3
account/account-service/src/main/resources/mapper/LoginAttemptsMapper.xml → account/account-service/src/main/resources/mapper/UserLoginMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
-<mapper namespace="cn.reghao.tnb.account.app.db.mapper.LoginAttemptsMapper">
+<mapper namespace="cn.reghao.tnb.account.app.db.mapper.UserLoginMapper">
     <insert id="save">
         insert into user_login_attempts
         (`login_id`,`user_id`,`login_type`,`user_agent`,`login_ip`,`login_at`,`plat`,`remember_me`,`success`)
@@ -15,7 +15,7 @@
         where login_id=#{loginId}
     </update>
 
-    <select id="findByLoginIds" resultType="cn.reghao.tnb.account.app.model.po.LoginAttempts">
+    <select id="findByLoginIds" resultType="cn.reghao.tnb.account.app.model.po.UserLogin">
         select *
         from user_login_attempts
         where login_id in
@@ -23,7 +23,7 @@
             #{id}
         </foreach>
     </select>
-    <select id="findByUserId" resultType="cn.reghao.tnb.account.app.model.po.LoginAttempts">
+    <select id="findByUserId" resultType="cn.reghao.tnb.account.app.model.po.UserLogin">
         select *
         from user_login_attempts
         where user_id=#{userId}