From 7fe3b97982cbe57e378580a79591a21c98babadb Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Tue, 16 Dec 2025 10:32:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=BD=AF=E4=BB=B6=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=92=8C=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sdm/common/log/dto/SysLogDTO.java | 11 +++++++ .../controller/SystemLogController.java | 7 +++-- .../sdm/system/service/ISysLogService.java | 4 +-- .../service/impl/ISysLogServiceImpl.java | 31 +++++++++++++------ 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/common/src/main/java/com/sdm/common/log/dto/SysLogDTO.java b/common/src/main/java/com/sdm/common/log/dto/SysLogDTO.java index 27b97792..01bc77a0 100644 --- a/common/src/main/java/com/sdm/common/log/dto/SysLogDTO.java +++ b/common/src/main/java/com/sdm/common/log/dto/SysLogDTO.java @@ -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; + } diff --git a/system/src/main/java/com/sdm/system/controller/SystemLogController.java b/system/src/main/java/com/sdm/system/controller/SystemLogController.java index ae203a46..e7a6e85b 100644 --- a/system/src/main/java/com/sdm/system/controller/SystemLogController.java +++ b/system/src/main/java/com/sdm/system/controller/SystemLogController.java @@ -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>> getLogPage(@ParameterObject SysLogDTO sysLog) { + return logService.getLogByPage(sysLog); } /** diff --git a/system/src/main/java/com/sdm/system/service/ISysLogService.java b/system/src/main/java/com/sdm/system/service/ISysLogService.java index bf232787..80c30330 100644 --- a/system/src/main/java/com/sdm/system/service/ISysLogService.java +++ b/system/src/main/java/com/sdm/system/service/ISysLogService.java @@ -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 { /** * 分页查询日志 - * @param page * @param sysLog * @return */ - SdmResponse getLogByPage(Page page, SysLogDTO sysLog); + SdmResponse>> getLogByPage(SysLogDTO sysLog); /** * 统计某时间段的用户登录数 diff --git a/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java index bce9f6a3..2dfe5fff 100644 --- a/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/ISysLogServiceImpl.java @@ -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 implem SysUserFeignClientImpl sysUserFeignClient; @Override - public SdmResponse getLogByPage(Page page, SysLogDTO sysLog) { + public SdmResponse>> getLogByPage(SysLogDTO sysLog) { LambdaQueryWrapper 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 sysLogList = this.list(wrapper); + List sysLogDTOList = sysLogList.stream().map(i -> { + SysLogDTO sysLogDTO = new SysLogDTO(); + BeanUtils.copyProperties(i, sysLogDTO); + sysLogDTO.setCreatorId(i.getCreateBy()); + return sysLogDTO; + }).toList(); + setCreatorNames(sysLogDTOList); - Page pageData = baseMapper.selectPage(page, wrapper); - setCreatorNames(pageData.getRecords()); - return SdmResponse.success(pageData); + PageInfo page = new PageInfo<>(sysLogDTOList); + return PageUtils.getJsonObjectSdmResponse(sysLogDTOList, page); } @Override @@ -78,12 +91,12 @@ public class ISysLogServiceImpl extends ServiceImpl implem return SdmResponse.success(result); } - private void setCreatorNames(List list) { + private void setCreatorNames(List list) { try { if (ObjectUtils.isNotEmpty(list)) { // 提取去重的 creatorId List creatorIds = list.stream() - .map(SysLog::getCreateBy) + .map(SysLogDTO::getCreateBy) .filter(createBy -> !"anonymousUser".equals(createBy)) .distinct() .toList();