package com.ruoyi.system.service.impl;
|
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.Date;
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.ruoyi.system.domain.vo.SysOperLogVO;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import com.ruoyi.system.domain.SysOperLog;
|
import com.ruoyi.system.mapper.SysOperLogMapper;
|
import com.ruoyi.system.service.ISysOperLogService;
|
|
/**
|
* 操作日志 服务层处理
|
*
|
* @author ruoyi
|
*/
|
@Service
|
public class SysOperLogServiceImpl implements ISysOperLogService
|
{
|
@Autowired
|
private SysOperLogMapper operLogMapper;
|
|
/**
|
* 新增操作日志
|
*
|
* @param operLog 操作日志对象
|
*/
|
@Override
|
public void insertOperlog(SysOperLog operLog)
|
{
|
operLogMapper.insertOperlog(operLog);
|
}
|
|
/**
|
* 查询系统操作日志集合
|
*
|
* @param operLog 操作日志对象
|
* @return 操作日志集合
|
*/
|
@Override
|
public List<SysOperLog> selectOperLogList(SysOperLog operLog)
|
{
|
return operLogMapper.selectOperLogList(operLog);
|
}
|
|
/**
|
* 批量删除系统操作日志
|
*
|
* @param operIds 需要删除的操作日志ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteOperLogByIds(Long[] operIds)
|
{
|
return operLogMapper.deleteOperLogByIds(operIds);
|
}
|
|
/**
|
* 查询操作日志详细
|
*
|
* @param operId 操作ID
|
* @return 操作日志对象
|
*/
|
@Override
|
public SysOperLog selectOperLogById(Long operId)
|
{
|
return operLogMapper.selectOperLogById(operId);
|
}
|
|
/**
|
* 清空操作日志
|
*/
|
@Override
|
public void cleanOperLog()
|
{
|
operLogMapper.cleanOperLog();
|
}
|
|
/**
|
* 查询时间段内每天的操作日志
|
*/
|
@Override
|
public Map<String,List<SysOperLog>> queryByDate(SysOperLogVO logVO){
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter dft = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
LocalDate startLocalDate = LocalDate.parse(logVO.getStartTime(),formatter);
|
LocalDate endLocalDate = LocalDate.parse(logVO.getEndTime(),formatter);
|
String title = logVO.getTitle();
|
|
Map<String,List<SysOperLog>> resMap = new LinkedHashMap<>();
|
|
while (!startLocalDate.isAfter(endLocalDate)){
|
LocalDateTime startOfDay = startLocalDate.atStartOfDay();
|
LocalDateTime endOfDay = startLocalDate.plusDays(1).atStartOfDay();
|
SysOperLogVO sysOperLogVO = new SysOperLogVO();
|
sysOperLogVO.setTitle(title);
|
sysOperLogVO.setStartTime(startOfDay.format(dft));
|
sysOperLogVO.setEndTime(endOfDay.format(dft));
|
|
List<SysOperLog> dailyList = operLogMapper.queryByDate(sysOperLogVO);
|
|
resMap.put(startLocalDate.format(formatter),dailyList);
|
startLocalDate = startLocalDate.plusDays(1);
|
}
|
return resMap;
|
}
|
|
/**
|
* 筛选查询操作日志
|
*/
|
@Override
|
public List<SysOperLog> queryDataByTitle(SysOperLogVO logVO){
|
return operLogMapper.queryData(logVO);
|
}
|
}
|