소스 검색

add 登录时间

he2802 3 년 전
부모
커밋
d79af7c6c9

+ 5 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysUser.java

@@ -157,6 +157,11 @@ public class SysUser implements Serializable
     @TableField(exist = false)
     private String roleName;
 
+    /** 上一次登录IP */
+    private String preLoginIp;
+    /** 上一次登录时间 */
+    private Date preLoginDate;
+
     public SysUser(Long userId)
     {
         this.userId = userId;

+ 5 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysLoginService.java

@@ -3,6 +3,7 @@ package com.zhongzheng.framework.web.service;
 import javax.annotation.Resource;
 
 import com.zhongzheng.framework.manager.factory.AsyncFactory;
+import com.zhongzheng.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.BadCredentialsException;
@@ -36,6 +37,9 @@ public class SysLoginService
     @Autowired
     private RedisCache redisCache;
 
+    @Autowired
+    private ISysUserService iSysUserService;
+
     /**
      * 登录验证
      *
@@ -83,6 +87,7 @@ public class SysLoginService
         }
         AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
         LoginUser loginUser = (LoginUser) authentication.getPrincipal();
+        iSysUserService.updateLoginTimeIp(loginUser.getUser().getUserId());
         // 生成token
         return tokenService.createToken(loginUser);
     }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysUserService.java

@@ -168,4 +168,6 @@ public interface ISysUserService extends IService<SysUser> {
      * @return 结果
      */
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
+
+    Boolean updateLoginTimeIp(Long userId);
 }

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysUserServiceImpl.java

@@ -9,8 +9,10 @@ import com.zhongzheng.common.constant.UserConstants;
 import com.zhongzheng.common.core.domain.entity.SysRole;
 import com.zhongzheng.common.core.domain.entity.SysUser;
 import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.common.utils.ip.IpUtils;
 import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
 import com.zhongzheng.modules.exam.domain.ExamBefore;
 import com.zhongzheng.modules.system.domain.SysPost;
@@ -476,4 +478,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         return successMsg.toString();
     }
+
+    @Override
+    public Boolean updateLoginTimeIp(Long userId) {
+        SysUser user = selectUserById(userId);
+        user.setPreLoginIp(user.getLoginIp());
+        user.setPreLoginDate(user.getLoginDate());
+        user.setLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
+        user.setLoginDate(DateUtils.getNowDate());
+        user.setUpdateTime(DateUtils.getNowDate());
+        updateById(user);
+        return null;
+    }
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -107,4 +107,5 @@ public interface IUserService extends IService<User> {
 
 	Boolean updatePwd(UserAppUpdatePwdBo bo);
 
+
 }

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/system/SysUserMapper.xml

@@ -24,6 +24,8 @@
         <result property="updateTime" column="update_time"/>
         <result property="remark" column="remark"/>
         <result property="code" column="code"/>
+        <result property="preLoginIp" column="pre_login_ip"/>
+        <result property="preLoginDate" column="pre_login_date"/>
         <association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
         <collection property="roles" column="user_id" select="findRolesList" javaType="java.util.List" />
     </resultMap>