Commit aec531c5 by jiang'yun

修改

parent ec30edfe
......@@ -4,6 +4,13 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
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.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -54,6 +61,9 @@ public class TokenService
@Autowired
private RedisCache redisCache;
@Autowired
private ISysUserService userService;
/**
* 获取用户身份信息
*
......@@ -121,10 +131,27 @@ public class TokenService
Map<String, Object> claims = new HashMap<>();
claims.put(Constants.LOGIN_USER_KEY, token);
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);
}
/**
* 记录登录信息
*
* @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分钟,自动刷新缓存
*
* @param loginUser 登录信息
......
......@@ -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.ColumnType;
import com.zjsgfa.framework.web.domain.BaseEntity;
import lombok.Data;
/**
* 系统访问记录表 sys_logininfor
*
* @author
*/
@Data
public class SysLogininfor extends BaseEntity
{
private static final long serialVersionUID = 1L;
......@@ -52,6 +54,9 @@ public class SysLogininfor extends BaseEntity
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date loginTime;
private String nickName;
private String deptName;
public Long getInfoId()
{
return infoId;
......
......@@ -14,6 +14,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="os" column="os" />
<result property="msg" column="msg" />
<result property="loginTime" column="login_time" />
<result property="nickName" column="nick_name" />
<result property="deptName" column="dept_name" />
</resultMap>
<insert id="insertLogininfor" parameterType="SysLogininfor">
......@@ -22,16 +24,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert>
<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>
<if test="ipaddr != null and ipaddr != ''">
AND ipaddr like concat('%', #{ipaddr}, '%')
</if>
<if test="status != null and status != ''">
AND status = #{status}
AND a.status = #{status}
</if>
<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 test="params.beginTime != null and 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