package com.zbkj.service.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zbkj.common.model.log.SystemLog; import com.zbkj.common.page.CommonPage; import com.zbkj.common.request.PageParamRequest; import com.zbkj.common.request.SystemLogRequest; import com.zbkj.common.response.SystemLogResponse; import com.zbkj.service.dao.SystemLogDao; import com.zbkj.service.service.SystemLogService; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Slf4j @Service public class SystemLogServiceImpl extends ServiceImpl implements SystemLogService { /** * @Description:系统日志分页列表 * @author:chenbing * @date 2025/7/4 10:35 */ @Override public PageInfo getList(SystemLogRequest request, PageParamRequest pageParamRequest) { final Page startPage = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); if (ObjectUtil.isNotNull(request.getUsername())) { lqw.like(SystemLog::getUsername, request.getUsername()); } if (ObjectUtil.isNotNull(request.getIp())) { lqw.like(SystemLog::getIp, request.getIp()); } if (ObjectUtil.isNotNull(request.getOperationType())) { lqw.eq(SystemLog::getOperationType, request.getOperationType()); } if (ObjectUtil.isNotNull(request.getOperationStartTime()) && ObjectUtil.isNotNull(request.getOperationEndTime())) { lqw.between(SystemLog::getOperationTime, request.getOperationStartTime() + " 00:00:00", request.getOperationEndTime() + " 23:59:59"); } lqw.orderByDesc(SystemLog::getOperationTime); final List systemLogs = baseMapper.selectList(lqw); if (ObjectUtil.isEmpty(systemLogs)) { return new PageInfo<>(); } final List systemLogResponses = new ArrayList<>(); systemLogs.forEach(systemLog -> { SystemLogResponse systemLogResponse = new SystemLogResponse(); BeanUtils.copyProperties(systemLog, systemLogResponse); systemLogResponse.setOperationTime(DateUtil.format(systemLog.getOperationTime(), "yyyy-MM-dd HH:mm:ss")); systemLogResponses.add(systemLogResponse); }); return CommonPage.copyPageInfo(startPage, systemLogResponses); } }