Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjsgfa_mysql
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiangyun
zjsgfa_mysql
Commits
aec531c5
Commit
aec531c5
authored
Jan 23, 2026
by
jiang'yun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
ec30edfe
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
42 additions
and
3 deletions
+42
-3
src/main/java/com/zjsgfa/framework/security/service/TokenService.java
+27
-0
src/main/java/com/zjsgfa/project/monitor/domain/SysLogininfor.java
+5
-0
src/main/resources/mybatis/monitor/SysLogininforMapper.xml
+10
-3
No files found.
src/main/java/com/zjsgfa/framework/security/service/TokenService.java
View file @
aec531c5
...
@@ -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 登录信息
...
...
src/main/java/com/zjsgfa/project/monitor/domain/SysLogininfor.java
View file @
aec531c5
...
@@ -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
;
...
...
src/main/resources/mybatis/monitor/SysLogininforMapper.xml
View file @
aec531c5
...
@@ -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
>
= #{params.beginTime}
AND login_time
>
= #{params.beginTime}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment