package com.liuyanzhao.sens.service.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.liuyanzhao.sens.entity.Log; import com.liuyanzhao.sens.mapper.LogMapper; import com.liuyanzhao.sens.service.LogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * <pre> * 日志业务逻辑实现类 * </pre> * * @author : saysky * @date : 2018/1/19 */ @Service public class LogServiceImpl implements LogService { @Autowired private LogMapper logMapper; @Override public BaseMapper<Log> getRepository() { return logMapper; } @Override public QueryWrapper<Log> getQueryWrapper(Log log) { //对指定字段查询 QueryWrapper<Log> queryWrapper = new QueryWrapper<>(); if (log != null) { if (StrUtil.isNotBlank(log.getName())) { queryWrapper.eq("name", log.getName()); } if (StrUtil.isNotBlank(log.getIp())) { queryWrapper.eq("ip", log.getIp()); } if (StrUtil.isNotBlank(log.getLogType())) { queryWrapper.eq("log_type", log.getLogType()); } if (StrUtil.isNotBlank(log.getUsername())) { queryWrapper.eq("username", log.getUsername()); } if (StrUtil.isNotBlank(log.getRequestType())) { queryWrapper.eq("request_type", log.getRequestType()); } } return queryWrapper; } /** * 移除所有日志 */ @Override public void removeAllLog() { logMapper.deleteAll(); } /** * 查询最新的五条日志 * * @return List */ @Override public List<Log> findLatestLog(Integer limit) { return logMapper.findLatestLog(limit); } /** * 查询最新的日志 * @param logTypes * @param limit * @return List */ @Override public List<Log> findLatestLogByLogTypes(List<String> logTypes, Integer limit) { return logMapper.findLatestLogByLogTypes(logTypes, limit); } @Override public List<Log> findLatestLogByUsername(String username, Integer limit) { return logMapper.findLatestLogByUsername(username, limit); } @Override public Log insertOrUpdate(Log entity) { if (entity.getId() == null) { insert(entity); } else { update(entity); } return entity; } @Override public Integer getTodayCount() { return logMapper.getTodayCount(); } }