在线用户显示、定时删除日志
This commit is contained in:
@@ -36,4 +36,8 @@ public interface LogRepository extends JpaRepository<Log,Long>, JpaSpecification
|
|||||||
@Modifying
|
@Modifying
|
||||||
@Query(value = "delete from sys_log where log_type = ?1", nativeQuery = true)
|
@Query(value = "delete from sys_log where log_type = ?1", nativeQuery = true)
|
||||||
void deleteByLogType(String logType);
|
void deleteByLogType(String logType);
|
||||||
|
|
||||||
|
@Modifying
|
||||||
|
@Query(value = "delete from sys_log where log_type = ?1 and DATEDIFF(NOW(),create_time) >= 15", nativeQuery = true)
|
||||||
|
void delAfterDay(String logType);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,4 +79,14 @@ public interface LogService {
|
|||||||
* 删除所有INFO日志
|
* 删除所有INFO日志
|
||||||
*/
|
*/
|
||||||
void delAllByInfo();
|
void delAllByInfo();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除15天之前的错误日志
|
||||||
|
*/
|
||||||
|
void delAfterDay15ByError();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除15天之前的INFO日志
|
||||||
|
*/
|
||||||
|
void delAfterDay15ByInfo();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,4 +155,16 @@ public class LogServiceImpl implements LogService {
|
|||||||
public void delAllByInfo() {
|
public void delAllByInfo() {
|
||||||
logRepository.deleteByLogType("INFO");
|
logRepository.deleteByLogType("INFO");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void delAfterDay15ByError() {
|
||||||
|
logRepository.delAfterDay("ERROR");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void delAfterDay15ByInfo() {
|
||||||
|
logRepository.delAfterDay("INFO");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -118,10 +118,11 @@ public class AuthorizationController {
|
|||||||
put("user", jsonObject);
|
put("user", jsonObject);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
// 使redis获取过期的token
|
||||||
redisUtils.set("my-satoken", StpUtil.getTokenValue(), StpUtil.getTokenTimeout());
|
redisUtils.set("my-satoken", StpUtil.getTokenValue(), StpUtil.getTokenTimeout());
|
||||||
|
|
||||||
// 保存在线信息
|
// 保存在线信息
|
||||||
// onlineUserService.save(userDto, StpUtil.getTokenValue(), request);
|
onlineUserService.save(userDto, StpUtil.getTokenValue(), request);
|
||||||
return ResponseEntity.ok(authInfo);
|
return ResponseEntity.ok(authInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,7 +160,7 @@ public class AuthorizationController {
|
|||||||
@ApiOperation("退出登录")
|
@ApiOperation("退出登录")
|
||||||
@DeleteMapping(value = "/logout")
|
@DeleteMapping(value = "/logout")
|
||||||
public ResponseEntity<Object> logout(HttpServletRequest request) {
|
public ResponseEntity<Object> logout(HttpServletRequest request) {
|
||||||
// onlineUserService.logout(StpUtil.getTokenValue());
|
onlineUserService.logout(StpUtil.getTokenValue());
|
||||||
StpUtil.logout();
|
StpUtil.logout();
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.nl.modules.security.service;
|
package org.nl.modules.security.service;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.common.utils.*;
|
import org.nl.modules.common.utils.*;
|
||||||
@@ -61,7 +62,7 @@ public class OnlineUserService {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(),e);
|
log.error(e.getMessage(),e);
|
||||||
}
|
}
|
||||||
redisUtils.set(token, onlineUserDto, 60*60*1000);
|
redisUtils.set(token, onlineUserDto, StpUtil.getTokenTimeout());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -84,19 +85,22 @@ public class OnlineUserService {
|
|||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
public List<OnlineUserDto> getAll(String filter){
|
public List<OnlineUserDto> getAll(String filter){
|
||||||
// List<String> keys = redisUtils.scan(properties.getOnlineKey() + "*");
|
List<String> keys = redisUtils.scan("*");
|
||||||
// Collections.reverse(keys);
|
Collections.reverse(keys);
|
||||||
List<OnlineUserDto> onlineUserDtos = new ArrayList<>();
|
List<OnlineUserDto> onlineUserDtos = new ArrayList<>();
|
||||||
// for (String key : keys) {
|
for (String key : keys) {
|
||||||
// OnlineUserDto onlineUserDto = (OnlineUserDto) redisUtils.get(key);
|
if (key.length() == 1511) {
|
||||||
// if(StrUtil.isNotEmpty(filter)){
|
OnlineUserDto onlineUserDto = (OnlineUserDto) redisUtils.get(key);
|
||||||
// if(onlineUserDto.toString().contains(filter)){
|
if(StrUtil.isNotEmpty(filter)){
|
||||||
// onlineUserDtos.add(onlineUserDto);
|
if(onlineUserDto.toString().contains(filter)){
|
||||||
// }
|
onlineUserDtos.add(onlineUserDto);
|
||||||
// } else {
|
}
|
||||||
// onlineUserDtos.add(onlineUserDto);
|
} else {
|
||||||
// }
|
onlineUserDtos.add(onlineUserDto);
|
||||||
// }
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
onlineUserDtos.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime()));
|
onlineUserDtos.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime()));
|
||||||
return onlineUserDtos;
|
return onlineUserDtos;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package org.nl.wms.autotask;
|
package org.nl.wms.autotask;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.modules.logging.service.LogService;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -8,9 +10,16 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class CleanLog {
|
public class CleanLog {
|
||||||
|
private final LogService logService;
|
||||||
|
|
||||||
public void run(){
|
public void run(){
|
||||||
log.info("run 执行成功");
|
// 删除所有异常日志
|
||||||
|
logService.delAfterDay15ByError();
|
||||||
|
// 删除所有操作日志
|
||||||
|
logService.delAfterDay15ByInfo();
|
||||||
|
log.info("删除所有异常/操作日志 执行成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user