You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.6 KiB
35 lines
1.6 KiB
package com.aurora.service.impl;
|
|
|
|
import com.aurora.model.dto.OperationLogDTO;
|
|
import com.aurora.entity.OperationLog;
|
|
import com.aurora.mapper.OperationLogMapper;
|
|
import com.aurora.service.OperationLogService;
|
|
import com.aurora.util.BeanCopyUtil;
|
|
import com.aurora.util.PageUtil;
|
|
import com.aurora.model.vo.ConditionVO;
|
|
import com.aurora.model.dto.PageResultDTO;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, OperationLog> implements OperationLogService {
|
|
|
|
@Override
|
|
public PageResultDTO<OperationLogDTO> listOperationLogs(ConditionVO conditionVO) {
|
|
Page<OperationLog> page = new Page<>(PageUtil.getCurrent(), PageUtil.getSize());
|
|
Page<OperationLog> operationLogPage = this.page(page, new LambdaQueryWrapper<OperationLog>()
|
|
.like(StringUtils.isNotBlank(conditionVO.getKeywords()), OperationLog::getOptModule, conditionVO.getKeywords())
|
|
.or()
|
|
.like(StringUtils.isNotBlank(conditionVO.getKeywords()), OperationLog::getOptDesc, conditionVO.getKeywords())
|
|
.orderByDesc(OperationLog::getId));
|
|
List<OperationLogDTO> operationLogDTOs = BeanCopyUtil.copyList(operationLogPage.getRecords(), OperationLogDTO.class);
|
|
return new PageResultDTO<>(operationLogDTOs, (int) operationLogPage.getTotal());
|
|
}
|
|
|
|
}
|