Merge branch 'main' of http://www.carsafe-caem.com/toolchaintechnologycenter/spdm-backend
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package com.sdm.common.log.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -34,16 +36,19 @@ public class SysLogDTO {
|
||||
* 创建者
|
||||
*/
|
||||
private String createBy;
|
||||
private String creatorId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
private String[] createTimeArr;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
@@ -96,4 +101,10 @@ public class SysLogDTO {
|
||||
*/
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description = "当前页码")
|
||||
private Integer current;
|
||||
|
||||
@Schema(description = "每页显示数量")
|
||||
private Integer size;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.sdm.system.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.feign.inter.system.ISysLogFeignClient;
|
||||
import com.sdm.common.log.dto.SysLogDTO;
|
||||
import com.sdm.system.model.entity.SysLog;
|
||||
import com.sdm.system.model.resp.DailyOnlineStateResp;
|
||||
import com.sdm.system.model.resp.LoginStateResp;
|
||||
import com.sdm.system.service.ISysLogService;
|
||||
@@ -39,13 +41,12 @@ public class SystemLogController implements ISysLogFeignClient {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
* @param sysLog 系统日志
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/page")
|
||||
public SdmResponse getLogPage(@ParameterObject Page page, @ParameterObject SysLogDTO sysLog) {
|
||||
return logService.getLogByPage(page, sysLog);
|
||||
public SdmResponse<PageDataResp<List<SysLogDTO>>> getLogPage(@ParameterObject SysLogDTO sysLog) {
|
||||
return logService.getLogByPage(sysLog);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,7 @@ package com.sdm.system.service;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.log.dto.SysLogDTO;
|
||||
import com.sdm.system.model.entity.SysLog;
|
||||
import com.sdm.system.model.resp.DailyOnlineStateResp;
|
||||
@@ -21,11 +22,10 @@ public interface ISysLogService extends IService<SysLog> {
|
||||
|
||||
/**
|
||||
* 分页查询日志
|
||||
* @param page
|
||||
* @param sysLog
|
||||
* @return
|
||||
*/
|
||||
SdmResponse getLogByPage(Page page, SysLogDTO sysLog);
|
||||
SdmResponse<PageDataResp<List<SysLogDTO>>> getLogByPage(SysLogDTO sysLog);
|
||||
|
||||
/**
|
||||
* 统计某时间段的用户登录数
|
||||
|
||||
@@ -7,12 +7,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import com.sdm.common.feign.impl.system.SysUserFeignClientImpl;
|
||||
import com.sdm.common.log.dto.SysLogDTO;
|
||||
import com.sdm.common.utils.CidSysUserUtil;
|
||||
import com.sdm.common.utils.PageUtils;
|
||||
import com.sdm.system.dao.SysLogMapper;
|
||||
import com.sdm.system.model.dto.HourlyOnlineDto;
|
||||
import com.sdm.system.model.entity.SysLog;
|
||||
@@ -42,23 +47,31 @@ public class ISysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implem
|
||||
SysUserFeignClientImpl sysUserFeignClient;
|
||||
|
||||
@Override
|
||||
public SdmResponse<Page> getLogByPage(Page page, SysLogDTO sysLog) {
|
||||
public SdmResponse<PageDataResp<List<SysLogDTO>>> getLogByPage(SysLogDTO sysLog) {
|
||||
LambdaQueryWrapper<SysLog> wrapper = Wrappers.lambdaQuery();
|
||||
if (StrUtil.isNotBlank(sysLog.getLogType())) {
|
||||
wrapper.eq(SysLog::getLogType, sysLog.getLogType());
|
||||
}
|
||||
if (StrUtil.isNotBlank(sysLog.getCreateBy())) {
|
||||
wrapper.eq(SysLog::getCreateBy, sysLog.getCreateBy());
|
||||
if (StrUtil.isNotBlank(sysLog.getCreatorId())) {
|
||||
wrapper.eq(SysLog::getCreateBy, sysLog.getCreatorId());
|
||||
}
|
||||
|
||||
if (ArrayUtil.isNotEmpty(sysLog.getCreateTime())) {
|
||||
if (ArrayUtil.isNotEmpty(sysLog.getCreateTimeArr())) {
|
||||
wrapper.ge(SysLog::getCreateTime, sysLog.getCreateTimeArr()[0])
|
||||
.le(SysLog::getCreateTime, sysLog.getCreateTimeArr()[1]);
|
||||
}
|
||||
PageHelper.startPage(sysLog.getCurrent(), sysLog.getSize());
|
||||
List<SysLog> sysLogList = this.list(wrapper);
|
||||
List<SysLogDTO> sysLogDTOList = sysLogList.stream().map(i -> {
|
||||
SysLogDTO sysLogDTO = new SysLogDTO();
|
||||
BeanUtils.copyProperties(i, sysLogDTO);
|
||||
sysLogDTO.setCreatorId(i.getCreateBy());
|
||||
return sysLogDTO;
|
||||
}).toList();
|
||||
setCreatorNames(sysLogDTOList);
|
||||
|
||||
Page<SysLog> pageData = baseMapper.selectPage(page, wrapper);
|
||||
setCreatorNames(pageData.getRecords());
|
||||
return SdmResponse.success(pageData);
|
||||
PageInfo<SysLogDTO> page = new PageInfo<>(sysLogDTOList);
|
||||
return PageUtils.getJsonObjectSdmResponse(sysLogDTOList, page);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -78,12 +91,12 @@ public class ISysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implem
|
||||
return SdmResponse.success(result);
|
||||
}
|
||||
|
||||
private void setCreatorNames(List<SysLog> list) {
|
||||
private void setCreatorNames(List<SysLogDTO> list) {
|
||||
try {
|
||||
if (ObjectUtils.isNotEmpty(list)) {
|
||||
// 提取去重的 creatorId
|
||||
List<String> creatorIds = list.stream()
|
||||
.map(SysLog::getCreateBy)
|
||||
.map(SysLogDTO::getCreateBy)
|
||||
.filter(createBy -> !"anonymousUser".equals(createBy))
|
||||
.distinct()
|
||||
.toList();
|
||||
|
||||
Reference in New Issue
Block a user