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<SystemLogDao, SystemLog> implements SystemLogService {
|
|
/**
|
* @Description:系统日志分页列表
|
* @author:chenbing
|
* @date 2025/7/4 10:35
|
*/
|
@Override
|
public PageInfo<SystemLogResponse> getList(SystemLogRequest request, PageParamRequest pageParamRequest) {
|
final Page<SystemLogResponse> startPage = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit());
|
LambdaQueryWrapper<SystemLog> 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<SystemLog> systemLogs = baseMapper.selectList(lqw);
|
if (ObjectUtil.isEmpty(systemLogs)) {
|
return new PageInfo<>();
|
}
|
final List<SystemLogResponse> 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);
|
}
|
}
|