fix: 重构日志模块
This commit is contained in:
parent
2401ec2c62
commit
9859bb1360
@ -4,10 +4,10 @@ import com.agileboot.common.core.base.BaseController;
|
||||
import com.agileboot.common.core.dto.ResponseDTO;
|
||||
import com.agileboot.common.core.page.PageDTO;
|
||||
import com.agileboot.domain.common.cache.CacheCenter;
|
||||
import com.agileboot.domain.system.monitor.MonitorApplicationService;
|
||||
import com.agileboot.domain.system.monitor.dto.OnlineUserInfo;
|
||||
import com.agileboot.domain.system.monitor.dto.RedisCacheInfoDTO;
|
||||
import com.agileboot.domain.system.monitor.dto.ServerInfo;
|
||||
import com.agileboot.domain.monitor.MonitorApplicationService;
|
||||
import com.agileboot.domain.monitor.dto.OnlineUserInfo;
|
||||
import com.agileboot.domain.monitor.dto.RedisCacheInfoDTO;
|
||||
import com.agileboot.domain.monitor.dto.ServerInfo;
|
||||
import com.agileboot.infrastructure.annotations.AccessLog;
|
||||
import com.agileboot.orm.common.enums.BusinessTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
@ -1,80 +0,0 @@
|
||||
package com.agileboot.admin.controller.system;
|
||||
|
||||
|
||||
import com.agileboot.common.core.base.BaseController;
|
||||
import com.agileboot.common.core.dto.ResponseDTO;
|
||||
import com.agileboot.common.core.page.PageDTO;
|
||||
import com.agileboot.common.exception.error.ErrorCode;
|
||||
import com.agileboot.common.utils.poi.CustomExcelUtil;
|
||||
import com.agileboot.domain.common.command.BulkOperationCommand;
|
||||
import com.agileboot.domain.system.logininfo.LoginInfoApplicationService;
|
||||
import com.agileboot.domain.system.logininfo.dto.LoginInfoDTO;
|
||||
import com.agileboot.domain.system.logininfo.query.LoginInfoQuery;
|
||||
import com.agileboot.infrastructure.annotations.AccessLog;
|
||||
import com.agileboot.orm.common.enums.BusinessTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.NonNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 系统访问记录
|
||||
*
|
||||
* @author valarchie
|
||||
*/
|
||||
@Tag(name = "登录日志API", description = "登录日志相关API")
|
||||
@RestController
|
||||
@RequestMapping("/loginInfo")
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
public class SysLoginInfoController extends BaseController {
|
||||
|
||||
@NonNull
|
||||
private LoginInfoApplicationService loginInfoApplicationService;
|
||||
|
||||
@Operation(summary = "日志列表")
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:list')")
|
||||
@GetMapping("/list")
|
||||
public ResponseDTO<PageDTO<LoginInfoDTO>> list(LoginInfoQuery query) {
|
||||
PageDTO<LoginInfoDTO> pageDTO = loginInfoApplicationService.getLoginInfoList(query);
|
||||
return ResponseDTO.ok(pageDTO);
|
||||
}
|
||||
|
||||
@Operation(summary = "日志列表导出", description = "将登录日志导出到excel")
|
||||
@AccessLog(title = "登录日志", businessType = BusinessTypeEnum.EXPORT)
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:export')")
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, LoginInfoQuery query) {
|
||||
PageDTO<LoginInfoDTO> pageDTO = loginInfoApplicationService.getLoginInfoList(query);
|
||||
CustomExcelUtil.writeToResponse(pageDTO.getRows(), LoginInfoDTO.class, response);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除登录日志")
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:remove')")
|
||||
@AccessLog(title = "登录日志", businessType = BusinessTypeEnum.DELETE)
|
||||
@DeleteMapping("/{infoIds}")
|
||||
public ResponseDTO<Void> remove(@PathVariable @NotNull @NotEmpty List<Long> infoIds) {
|
||||
loginInfoApplicationService.deleteLoginInfo(new BulkOperationCommand<>(infoIds));
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "清空登录日志", description = "暂时不支持")
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:remove')")
|
||||
@AccessLog(title = "登录日志", businessType = BusinessTypeEnum.CLEAN)
|
||||
@DeleteMapping("/clean")
|
||||
public ResponseDTO<Void> clean() {
|
||||
return ResponseDTO.fail(ErrorCode.Business.UNSUPPORTED_OPERATION);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,99 @@
|
||||
package com.agileboot.admin.controller.system;
|
||||
|
||||
|
||||
import com.agileboot.common.core.base.BaseController;
|
||||
import com.agileboot.common.core.dto.ResponseDTO;
|
||||
import com.agileboot.common.core.page.PageDTO;
|
||||
import com.agileboot.common.utils.poi.CustomExcelUtil;
|
||||
import com.agileboot.domain.common.command.BulkOperationCommand;
|
||||
import com.agileboot.domain.system.log.LogApplicationService;
|
||||
import com.agileboot.domain.system.log.dto.LoginInfoDTO;
|
||||
import com.agileboot.domain.system.log.query.LoginInfoQuery;
|
||||
import com.agileboot.domain.system.log.dto.OperationLogDTO;
|
||||
import com.agileboot.domain.system.log.dto.OperationLogQuery;
|
||||
import com.agileboot.infrastructure.annotations.AccessLog;
|
||||
import com.agileboot.orm.common.enums.BusinessTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 系统访问记录
|
||||
*
|
||||
* @author valarchie
|
||||
*/
|
||||
@Tag(name = "日志API", description = "日志相关API")
|
||||
@RestController
|
||||
@RequestMapping("/logs")
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
public class SysLogsController extends BaseController {
|
||||
|
||||
private final LogApplicationService logApplicationService;
|
||||
|
||||
@Operation(summary = "登录日志列表")
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:list')")
|
||||
@GetMapping("/loginInfos")
|
||||
public ResponseDTO<PageDTO<LoginInfoDTO>> loginInfoList(LoginInfoQuery query) {
|
||||
PageDTO<LoginInfoDTO> pageDTO = logApplicationService.getLoginInfoList(query);
|
||||
return ResponseDTO.ok(pageDTO);
|
||||
}
|
||||
|
||||
@Operation(summary = "登录日志导出", description = "将登录日志导出到excel")
|
||||
@AccessLog(title = "登录日志", businessType = BusinessTypeEnum.EXPORT)
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:export')")
|
||||
@PostMapping("/loginInfos/excel")
|
||||
public void loginInfosExcel(HttpServletResponse response, LoginInfoQuery query) {
|
||||
PageDTO<LoginInfoDTO> pageDTO = logApplicationService.getLoginInfoList(query);
|
||||
CustomExcelUtil.writeToResponse(pageDTO.getRows(), LoginInfoDTO.class, response);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除登录日志")
|
||||
@PreAuthorize("@permission.has('monitor:logininfor:remove')")
|
||||
@AccessLog(title = "登录日志", businessType = BusinessTypeEnum.DELETE)
|
||||
@DeleteMapping("/loginInfos")
|
||||
public ResponseDTO<Void> removeLoginInfos(@RequestParam @NotNull @NotEmpty List<Long> infoIds) {
|
||||
logApplicationService.deleteLoginInfo(new BulkOperationCommand<>(infoIds));
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "操作日志列表")
|
||||
@PreAuthorize("@permission.has('monitor:operlog:list')")
|
||||
@GetMapping("/operationLogs")
|
||||
public ResponseDTO<PageDTO<OperationLogDTO>> operationLogs(OperationLogQuery query) {
|
||||
PageDTO<OperationLogDTO> pageDTO = logApplicationService.getOperationLogList(query);
|
||||
return ResponseDTO.ok(pageDTO);
|
||||
}
|
||||
|
||||
@Operation(summary = "操作日志导出")
|
||||
@AccessLog(title = "操作日志", businessType = BusinessTypeEnum.EXPORT)
|
||||
@PreAuthorize("@permission.has('monitor:operlog:export')")
|
||||
@PostMapping("/operationLogs/excel")
|
||||
public void operationLogsExcel(HttpServletResponse response, OperationLogQuery query) {
|
||||
PageDTO<OperationLogDTO> pageDTO = logApplicationService.getOperationLogList(query);
|
||||
CustomExcelUtil.writeToResponse(pageDTO.getRows(), OperationLogDTO.class, response);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除操作日志")
|
||||
@AccessLog(title = "操作日志", businessType = BusinessTypeEnum.DELETE)
|
||||
@PreAuthorize("@permission.has('monitor:operlog:remove')")
|
||||
@DeleteMapping
|
||||
public ResponseDTO<Void> removeOperationLogs(@RequestParam List<Long> operationIds) {
|
||||
logApplicationService.deleteOperationLog(new BulkOperationCommand<>(operationIds));
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
package com.agileboot.admin.controller.system;
|
||||
|
||||
import com.agileboot.common.core.base.BaseController;
|
||||
import com.agileboot.common.core.dto.ResponseDTO;
|
||||
import com.agileboot.common.core.page.PageDTO;
|
||||
import com.agileboot.common.exception.error.ErrorCode;
|
||||
import com.agileboot.common.utils.poi.CustomExcelUtil;
|
||||
import com.agileboot.domain.common.command.BulkOperationCommand;
|
||||
import com.agileboot.domain.system.operationlog.OperationLogApplicationService;
|
||||
import com.agileboot.domain.system.operationlog.dto.OperationLogDTO;
|
||||
import com.agileboot.domain.system.operationlog.query.OperationLogQuery;
|
||||
import com.agileboot.infrastructure.annotations.AccessLog;
|
||||
import com.agileboot.orm.common.enums.BusinessTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import lombok.NonNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 操作日志记录
|
||||
*
|
||||
* @author valarchie
|
||||
*/
|
||||
@Tag(name = "操作日志API", description = "操作日志相关接口")
|
||||
@RestController
|
||||
@RequestMapping("/operationLog")
|
||||
@RequiredArgsConstructor
|
||||
public class SysOperationLogController extends BaseController {
|
||||
|
||||
@NonNull
|
||||
private OperationLogApplicationService operationLogApplicationService;
|
||||
|
||||
@Operation(summary = "操作日志列表")
|
||||
@PreAuthorize("@permission.has('monitor:operlog:list')")
|
||||
@GetMapping("/list")
|
||||
public ResponseDTO<PageDTO<OperationLogDTO>> list(OperationLogQuery query) {
|
||||
PageDTO<OperationLogDTO> pageDTO = operationLogApplicationService.getOperationLogList(query);
|
||||
return ResponseDTO.ok(pageDTO);
|
||||
}
|
||||
|
||||
@Operation(summary = "操作日志导出")
|
||||
@AccessLog(title = "操作日志", businessType = BusinessTypeEnum.EXPORT)
|
||||
@PreAuthorize("@permission.has('monitor:operlog:export')")
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, OperationLogQuery query) {
|
||||
PageDTO<OperationLogDTO> pageDTO = operationLogApplicationService.getOperationLogList(query);
|
||||
CustomExcelUtil.writeToResponse(pageDTO.getRows(), OperationLogDTO.class, response);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除操作日志")
|
||||
@AccessLog(title = "操作日志", businessType = BusinessTypeEnum.DELETE)
|
||||
@PreAuthorize("@permission.has('monitor:operlog:remove')")
|
||||
@DeleteMapping("/{operationIds}")
|
||||
public ResponseDTO<Void> remove(@PathVariable List<Long> operationIds) {
|
||||
operationLogApplicationService.deleteOperationLog(new BulkOperationCommand<>(operationIds));
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "清空操作日志", description = "暂未支持")
|
||||
@AccessLog(title = "操作日志", businessType = BusinessTypeEnum.CLEAN)
|
||||
@PreAuthorize("@permission.has('monitor:operlog:remove')")
|
||||
@DeleteMapping("/clean")
|
||||
public ResponseDTO<Void> clean() {
|
||||
return ResponseDTO.fail(ErrorCode.Business.UNSUPPORTED_OPERATION);
|
||||
}
|
||||
}
|
||||
@ -1,11 +1,11 @@
|
||||
package com.agileboot.domain.system.monitor;
|
||||
package com.agileboot.domain.monitor;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.agileboot.domain.common.cache.CacheCenter;
|
||||
import com.agileboot.domain.system.monitor.dto.OnlineUserInfo;
|
||||
import com.agileboot.domain.system.monitor.dto.RedisCacheInfoDTO;
|
||||
import com.agileboot.domain.system.monitor.dto.RedisCacheInfoDTO.CommonStatusDTO;
|
||||
import com.agileboot.domain.system.monitor.dto.ServerInfo;
|
||||
import com.agileboot.domain.monitor.dto.OnlineUserInfo;
|
||||
import com.agileboot.domain.monitor.dto.RedisCacheInfoDTO;
|
||||
import com.agileboot.domain.monitor.dto.RedisCacheInfoDTO.CommonStatusDTO;
|
||||
import com.agileboot.domain.monitor.dto.ServerInfo;
|
||||
import com.agileboot.infrastructure.cache.RedisUtil;
|
||||
import com.agileboot.infrastructure.cache.redis.CacheKeyEnum;
|
||||
import java.util.ArrayList;
|
||||
@ -31,7 +31,7 @@ import org.springframework.stereotype.Service;
|
||||
public class MonitorApplicationService {
|
||||
|
||||
@NonNull
|
||||
private RedisTemplate redisTemplate;
|
||||
private RedisTemplate<?, ?> redisTemplate;
|
||||
|
||||
@NonNull
|
||||
private RedisUtil redisUtil;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import lombok.Data;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.agileboot.common.constant.Constants;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import com.agileboot.domain.common.cache.CacheCenter;
|
||||
import com.agileboot.infrastructure.web.domain.login.LoginUser;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import cn.hutool.core.net.NetUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
package com.agileboot.domain.monitor.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@ -1,11 +1,15 @@
|
||||
package com.agileboot.domain.system.logininfo;
|
||||
package com.agileboot.domain.system.log;
|
||||
|
||||
import com.agileboot.common.core.page.PageDTO;
|
||||
import com.agileboot.domain.common.command.BulkOperationCommand;
|
||||
import com.agileboot.domain.system.logininfo.dto.LoginInfoDTO;
|
||||
import com.agileboot.domain.system.logininfo.query.LoginInfoQuery;
|
||||
import com.agileboot.domain.system.log.dto.LoginInfoDTO;
|
||||
import com.agileboot.domain.system.log.query.LoginInfoQuery;
|
||||
import com.agileboot.domain.system.log.dto.OperationLogDTO;
|
||||
import com.agileboot.domain.system.log.dto.OperationLogQuery;
|
||||
import com.agileboot.orm.system.entity.SysLoginInfoEntity;
|
||||
import com.agileboot.orm.system.entity.SysOperationLogEntity;
|
||||
import com.agileboot.orm.system.service.ISysLoginInfoService;
|
||||
import com.agileboot.orm.system.service.ISysOperationLogService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import java.util.List;
|
||||
@ -19,11 +23,14 @@ import org.springframework.stereotype.Service;
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class LoginInfoApplicationService {
|
||||
public class LogApplicationService {
|
||||
|
||||
@NonNull
|
||||
private ISysLoginInfoService loginInfoService;
|
||||
|
||||
@NonNull
|
||||
private ISysOperationLogService operationLogService;
|
||||
|
||||
public PageDTO<LoginInfoDTO> getLoginInfoList(LoginInfoQuery query) {
|
||||
Page<SysLoginInfoEntity> page = loginInfoService.page(query.toPage(), query.toQueryWrapper());
|
||||
List<LoginInfoDTO> records = page.getRecords().stream().map(LoginInfoDTO::new).collect(Collectors.toList());
|
||||
@ -36,4 +43,14 @@ public class LoginInfoApplicationService {
|
||||
loginInfoService.remove(queryWrapper);
|
||||
}
|
||||
|
||||
public PageDTO<OperationLogDTO> getOperationLogList(OperationLogQuery query) {
|
||||
Page<SysOperationLogEntity> page = operationLogService.page(query.toPage(), query.toQueryWrapper());
|
||||
List<OperationLogDTO> records = page.getRecords().stream().map(OperationLogDTO::new).collect(Collectors.toList());
|
||||
return new PageDTO<>(records, page.getTotal());
|
||||
}
|
||||
|
||||
public void deleteOperationLog(BulkOperationCommand<Long> deleteCommand) {
|
||||
operationLogService.removeBatchByIds(deleteCommand.getIds());
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.logininfo.dto;
|
||||
package com.agileboot.domain.system.log.dto;
|
||||
|
||||
import com.agileboot.common.annotation.ExcelColumn;
|
||||
import com.agileboot.common.annotation.ExcelSheet;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.operationlog.dto;
|
||||
package com.agileboot.domain.system.log.dto;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.agileboot.common.annotation.ExcelColumn;
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.operationlog.query;
|
||||
package com.agileboot.domain.system.log.dto;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.agileboot.orm.common.query.AbstractPageQuery;
|
||||
@ -19,7 +19,6 @@ public class OperationLogQuery extends AbstractPageQuery<SysOperationLogEntity>
|
||||
private String username;
|
||||
private String requestModule;
|
||||
|
||||
|
||||
@Override
|
||||
public QueryWrapper<SysOperationLogEntity> addQueryCondition() {
|
||||
QueryWrapper<SysOperationLogEntity> queryWrapper = new QueryWrapper<SysOperationLogEntity>()
|
||||
@ -1,4 +1,4 @@
|
||||
package com.agileboot.domain.system.logininfo.query;
|
||||
package com.agileboot.domain.system.log.query;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.agileboot.orm.common.query.AbstractPageQuery;
|
||||
@ -1,36 +0,0 @@
|
||||
package com.agileboot.domain.system.operationlog;
|
||||
|
||||
import com.agileboot.common.core.page.PageDTO;
|
||||
import com.agileboot.domain.common.command.BulkOperationCommand;
|
||||
import com.agileboot.domain.system.operationlog.dto.OperationLogDTO;
|
||||
import com.agileboot.domain.system.operationlog.query.OperationLogQuery;
|
||||
import com.agileboot.orm.system.entity.SysOperationLogEntity;
|
||||
import com.agileboot.orm.system.service.ISysOperationLogService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.NonNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author valarchie
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class OperationLogApplicationService {
|
||||
|
||||
@NonNull
|
||||
private ISysOperationLogService operationLogService;
|
||||
|
||||
public PageDTO<OperationLogDTO> getOperationLogList(OperationLogQuery query) {
|
||||
Page<SysOperationLogEntity> page = operationLogService.page(query.toPage(), query.toQueryWrapper());
|
||||
List<OperationLogDTO> records = page.getRecords().stream().map(OperationLogDTO::new).collect(Collectors.toList());
|
||||
return new PageDTO<>(records, page.getTotal());
|
||||
}
|
||||
|
||||
public void deleteOperationLog(BulkOperationCommand<Long> deleteCommand) {
|
||||
operationLogService.removeBatchByIds(deleteCommand.getIds());
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package com.agileboot.domain.system.monitor.dto;
|
||||
|
||||
import com.agileboot.domain.monitor.dto.ServerInfo;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
|
||||
@ -146,6 +146,7 @@ public class SecurityConfig {
|
||||
.antMatchers("/swagger-resources/**").anonymous()
|
||||
.antMatchers("/webjars/**").anonymous()
|
||||
.antMatchers("/**/api-docs/**" ).anonymous()
|
||||
.antMatchers("/**/api-docs.yaml" ).anonymous()
|
||||
.antMatchers("/druid/**").anonymous()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated()
|
||||
|
||||
@ -57,9 +57,12 @@ public abstract class AbstractQuery<T> {
|
||||
}
|
||||
|
||||
public void addTimeCondition(QueryWrapper<T> queryWrapper) {
|
||||
if (queryWrapper != null && StrUtil.isNotEmpty(this.timeRangeColumn)) {
|
||||
if (queryWrapper != null
|
||||
&& StrUtil.isNotEmpty(this.timeRangeColumn)
|
||||
&& beginTime != null && endTime != null) {
|
||||
queryWrapper
|
||||
.ge(beginTime != null, StrUtil.toUnderlineCase(timeRangeColumn), DatePickUtil.getBeginOfTheDay(beginTime))
|
||||
.ge(beginTime != null, StrUtil.toUnderlineCase(timeRangeColumn),
|
||||
DatePickUtil.getBeginOfTheDay(beginTime))
|
||||
.le(endTime != null, StrUtil.toUnderlineCase(timeRangeColumn), DatePickUtil.getEndOfTheDay(endTime));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user