| 
					
				 | 
			
			
				@@ -8,15 +8,20 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.security.core.Authentication;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Component;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.constant.Constants;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.core.domain.entity.SysUser;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.core.domain.model.LoginUser;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.core.redis.RedisCache;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.exception.CustomException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.exception.user.CaptchaException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.exception.user.CaptchaExpireException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.DateUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.utils.MessageUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.ServletUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.utils.ip.IpUtils;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.framework.manager.AsyncManager;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.framework.manager.factory.AsyncFactory;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.system.service.ISysUserService;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 登录校验方法
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34,6 +39,9 @@ public class SysLoginService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private RedisCache redisCache;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ISysUserService userService;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 登录验证
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,7 +90,18 @@ public class SysLoginService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LoginUser loginUser = (LoginUser) authentication.getPrincipal();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        recordLoginInfo(loginUser.getUser());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 生成token
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return tokenService.createToken(loginUser);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 记录登录信息
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void recordLoginInfo(SysUser user)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        user.setLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        user.setLoginDate(DateUtils.getNowDate());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userService.updateUserProfile(user);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 |