Commit aec531c5 by jiang'yun

修改

parent ec30edfe
...@@ -4,6 +4,13 @@ import java.util.HashMap; ...@@ -4,6 +4,13 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.zjsgfa.common.utils.DateUtils;
import com.zjsgfa.common.utils.MessageUtils;
import com.zjsgfa.framework.manager.AsyncManager;
import com.zjsgfa.framework.manager.factory.AsyncFactory;
import com.zjsgfa.project.system.domain.SysUser;
import com.zjsgfa.project.system.service.ISysUserService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -54,6 +61,9 @@ public class TokenService ...@@ -54,6 +61,9 @@ public class TokenService
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@Autowired
private ISysUserService userService;
/** /**
* 获取用户身份信息 * 获取用户身份信息
* *
...@@ -121,10 +131,27 @@ public class TokenService ...@@ -121,10 +131,27 @@ public class TokenService
Map<String, Object> claims = new HashMap<>(); Map<String, Object> claims = new HashMap<>();
claims.put(Constants.LOGIN_USER_KEY, token); claims.put(Constants.LOGIN_USER_KEY, token);
claims.put(Constants.JWT_USERNAME, loginUser.getUsername()); claims.put(Constants.JWT_USERNAME, loginUser.getUsername());
System.out.println("-------------------------登录成功,保存登录日志");
AsyncManager.me().execute(AsyncFactory.recordLogininfor(loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
return createToken(claims); return createToken(claims);
} }
/** /**
* 记录登录信息
*
* @param userId 用户ID
*/
public void recordLoginInfo(Long userId)
{
SysUser sysUser = new SysUser();
sysUser.setUserId(userId);
sysUser.setLoginIp(IpUtils.getIpAddr());
sysUser.setLoginDate(DateUtils.getNowDate());
userService.updateUserProfile(sysUser);
}
/**
* 验证令牌有效期,相差不足20分钟,自动刷新缓存 * 验证令牌有效期,相差不足20分钟,自动刷新缓存
* *
* @param loginUser 登录信息 * @param loginUser 登录信息
......
...@@ -5,12 +5,14 @@ import com.fasterxml.jackson.annotation.JsonFormat; ...@@ -5,12 +5,14 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel; import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel.ColumnType; import com.zjsgfa.framework.aspectj.lang.annotation.Excel.ColumnType;
import com.zjsgfa.framework.web.domain.BaseEntity; import com.zjsgfa.framework.web.domain.BaseEntity;
import lombok.Data;
/** /**
* 系统访问记录表 sys_logininfor * 系统访问记录表 sys_logininfor
* *
* @author * @author
*/ */
@Data
public class SysLogininfor extends BaseEntity public class SysLogininfor extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -52,6 +54,9 @@ public class SysLogininfor extends BaseEntity ...@@ -52,6 +54,9 @@ public class SysLogininfor extends BaseEntity
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date loginTime; private Date loginTime;
private String nickName;
private String deptName;
public Long getInfoId() public Long getInfoId()
{ {
return infoId; return infoId;
......
...@@ -14,6 +14,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -14,6 +14,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="os" column="os" /> <result property="os" column="os" />
<result property="msg" column="msg" /> <result property="msg" column="msg" />
<result property="loginTime" column="login_time" /> <result property="loginTime" column="login_time" />
<result property="nickName" column="nick_name" />
<result property="deptName" column="dept_name" />
</resultMap> </resultMap>
<insert id="insertLogininfor" parameterType="SysLogininfor"> <insert id="insertLogininfor" parameterType="SysLogininfor">
...@@ -22,16 +24,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -22,16 +24,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert> </insert>
<select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult"> <select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult">
select info_id, user_name, ipaddr, login_location, browser, os, status, msg, login_time from sys_logininfor select info_id, a.user_name, ipaddr, login_location, browser, os, a.status, msg, login_time,b.nick_name,d.dept_name from sys_logininfor a
left join sys_user b on a.user_name=b.user_name
left join sys_dept d on b.dept_id=d.dept_id
<where> <where>
<if test="ipaddr != null and ipaddr != ''"> <if test="ipaddr != null and ipaddr != ''">
AND ipaddr like concat('%', #{ipaddr}, '%') AND ipaddr like concat('%', #{ipaddr}, '%')
</if> </if>
<if test="status != null and status != ''"> <if test="status != null and status != ''">
AND status = #{status} AND a.status = #{status}
</if> </if>
<if test="userName != null and userName != ''"> <if test="userName != null and userName != ''">
AND user_name like concat('%', #{userName}, '%') AND a.user_name like concat('%', #{userName}, '%')
</if>
<if test="nickName != null and nickName != ''">
AND b.nick_name like concat('%', #{nickName}, '%')
</if> </if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND login_time &gt;= #{params.beginTime} AND login_time &gt;= #{params.beginTime}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment