mirror of https://gitee.com/stylefeng/roses
【7.0.4】日志查询条件更改
parent
db38f47d51
commit
39b5fdd527
|
@ -24,12 +24,8 @@
|
||||||
*/
|
*/
|
||||||
package cn.stylefeng.roses.kernel.system.modular.loginlog.mapper;
|
package cn.stylefeng.roses.kernel.system.modular.loginlog.mapper;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogDto;
|
|
||||||
import cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogRequest;
|
|
||||||
import cn.stylefeng.roses.kernel.system.modular.loginlog.entity.SysLoginLog;
|
import cn.stylefeng.roses.kernel.system.modular.loginlog.entity.SysLoginLog;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统应用mapper接口
|
* 系统应用mapper接口
|
||||||
|
@ -39,12 +35,4 @@ import org.apache.ibatis.annotations.Param;
|
||||||
*/
|
*/
|
||||||
public interface SysLoginLogMapper extends BaseMapper<SysLoginLog> {
|
public interface SysLoginLogMapper extends BaseMapper<SysLoginLog> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页查询登录日志
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2021/3/30 20:52
|
|
||||||
*/
|
|
||||||
Page<SysLoginLogDto> customFindPage(@Param("page") Page page, @Param("sysLoginLogRequest") SysLoginLogRequest sysLoginLogRequest);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,18 +2,4 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.loginlog.mapper.SysLoginLogMapper">
|
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.loginlog.mapper.SysLoginLogMapper">
|
||||||
|
|
||||||
<select id="customFindPage" resultType="cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogDto" parameterType="cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogRequest">
|
|
||||||
select a.llg_id as llgId,a.llg_name as llgName,a.llg_succeed as llgSucceed,a.llg_message as llgMessage,a.llg_ip_address as llgIpAddress ,a.user_id as userId,a.create_time as createTime,b.real_name as userName
|
|
||||||
from sys_login_log a
|
|
||||||
left join sys_user b on a.user_id = b.user_id
|
|
||||||
where 1=1
|
|
||||||
<if test="sysLoginLogRequest.llgName != null and sysLoginLogRequest.llgName != ''">
|
|
||||||
and a.llg_name like CONCAT('%',#{sysLoginLogRequest.llgName},'%')
|
|
||||||
</if>
|
|
||||||
<if test="sysLoginLogRequest.beginTime != null and sysLoginLogRequest.beginTime != '' and sysLoginLogRequest.endTime != null and sysLoginLogRequest.endTime != ''">
|
|
||||||
and a.create_time <![CDATA[ >= ]]> #{sysLoginLogRequest.beginTime} and a.create_time <![CDATA[ <= ]]>
|
|
||||||
#{sysLoginLogRequest.endTime}
|
|
||||||
</if>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
package cn.stylefeng.roses.kernel.system.modular.loginlog.service.impl;
|
package cn.stylefeng.roses.kernel.system.modular.loginlog.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
|
@ -35,7 +37,9 @@ import cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogDto;
|
||||||
import cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogRequest;
|
import cn.stylefeng.roses.kernel.log.api.pojo.loginlog.SysLoginLogRequest;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
|
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
|
||||||
|
import cn.stylefeng.roses.kernel.system.api.UserServiceApi;
|
||||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.log.LogExceptionEnum;
|
import cn.stylefeng.roses.kernel.system.api.exception.enums.log.LogExceptionEnum;
|
||||||
|
import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserDTO;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.loginlog.constants.LoginLogConstant;
|
import cn.stylefeng.roses.kernel.system.modular.loginlog.constants.LoginLogConstant;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.loginlog.entity.SysLoginLog;
|
import cn.stylefeng.roses.kernel.system.modular.loginlog.entity.SysLoginLog;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.loginlog.mapper.SysLoginLogMapper;
|
import cn.stylefeng.roses.kernel.system.modular.loginlog.mapper.SysLoginLogMapper;
|
||||||
|
@ -45,6 +49,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统应用service接口实现类
|
* 系统应用service接口实现类
|
||||||
*
|
*
|
||||||
|
@ -54,6 +62,9 @@ import org.springframework.stereotype.Service;
|
||||||
@Service
|
@Service
|
||||||
public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLoginLog> implements SysLoginLogService, LoginLogServiceApi {
|
public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLoginLog> implements SysLoginLogService, LoginLogServiceApi {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private UserServiceApi userServiceApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void del(SysLoginLogRequest sysLoginLogRequest) {
|
public void del(SysLoginLogRequest sysLoginLogRequest) {
|
||||||
SysLoginLog sysLoginLog = this.querySysLoginLogById(sysLoginLogRequest);
|
SysLoginLog sysLoginLog = this.querySysLoginLogById(sysLoginLogRequest);
|
||||||
|
@ -68,8 +79,23 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<SysLoginLogDto> findPage(SysLoginLogRequest sysLoginLogRequest) {
|
public PageResult<SysLoginLogDto> findPage(SysLoginLogRequest sysLoginLogRequest) {
|
||||||
Page<SysLoginLogDto> page = baseMapper.customFindPage(PageFactory.defaultPage(), sysLoginLogRequest);
|
LambdaQueryWrapper<SysLoginLog> wrapper = this.createWrapper(sysLoginLogRequest);
|
||||||
return PageResultFactory.createPageResult(page);
|
Page<SysLoginLog> page = this.page(PageFactory.defaultPage(), wrapper);
|
||||||
|
|
||||||
|
ArrayList<SysLoginLogDto> sysLoginLogDtos = new ArrayList<>();
|
||||||
|
for (SysLoginLog record : page.getRecords()) {
|
||||||
|
SysLoginLogDto sysLoginLogDto = new SysLoginLogDto();
|
||||||
|
BeanUtil.copyProperties(record, sysLoginLogDto);
|
||||||
|
|
||||||
|
// 填充用户姓名
|
||||||
|
SysUserDTO userInfoByUserId = userServiceApi.getUserInfoByUserId(sysLoginLogDto.getUserId());
|
||||||
|
if (userInfoByUserId != null) {
|
||||||
|
sysLoginLogDto.setUserName(userInfoByUserId.getRealName());
|
||||||
|
}
|
||||||
|
sysLoginLogDtos.add(sysLoginLogDto);
|
||||||
|
}
|
||||||
|
|
||||||
|
return PageResultFactory.createPageResult(sysLoginLogDtos, page.getTotal(), Convert.toInt(page.getSize()), Convert.toInt(page.getCurrent()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -155,10 +181,19 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Date beginDate = null;
|
||||||
|
if (StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime())) {
|
||||||
|
beginDate = DateUtil.parseDate(sysLoginLogRequest.getBeginTime()).toJdkDate();
|
||||||
|
}
|
||||||
|
Date endDate = null;
|
||||||
|
if (StrUtil.isNotBlank(sysLoginLogRequest.getEndTime())) {
|
||||||
|
endDate = DateUtil.parseDate(sysLoginLogRequest.getEndTime()).toJdkDate();
|
||||||
|
}
|
||||||
|
|
||||||
// SQL条件拼接
|
// SQL条件拼接
|
||||||
queryWrapper.eq(StrUtil.isNotBlank(sysLoginLogRequest.getLlgName()), SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName());
|
queryWrapper.eq(StrUtil.isNotBlank(sysLoginLogRequest.getLlgName()), SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName());
|
||||||
queryWrapper.ge(StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime()), SysLoginLog::getCreateTime, sysLoginLogRequest.getBeginTime());
|
queryWrapper.ge(StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime()), SysLoginLog::getCreateTime, beginDate);
|
||||||
queryWrapper.le(StrUtil.isNotBlank(sysLoginLogRequest.getEndTime()), SysLoginLog::getCreateTime, sysLoginLogRequest.getEndTime());
|
queryWrapper.le(StrUtil.isNotBlank(sysLoginLogRequest.getEndTime()), SysLoginLog::getCreateTime, endDate);
|
||||||
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
package cn.stylefeng.roses.kernel.log.db.service.impl;
|
package cn.stylefeng.roses.kernel.log.db.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
|
@ -42,6 +43,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,6 +132,15 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||||
String beginDateTime = logManagerRequest.getBeginDate();
|
String beginDateTime = logManagerRequest.getBeginDate();
|
||||||
String endDateTime = logManagerRequest.getEndDate();
|
String endDateTime = logManagerRequest.getEndDate();
|
||||||
|
|
||||||
|
Date beginDate = null;
|
||||||
|
Date endDate = null;
|
||||||
|
if (StrUtil.isNotBlank(beginDateTime)) {
|
||||||
|
beginDate = DateUtil.parseDate(beginDateTime + " 00:00:00").toJdkDate();
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(endDateTime)) {
|
||||||
|
endDate = DateUtil.parseDate(endDateTime + " 23:59:59").toJdkDate();
|
||||||
|
}
|
||||||
|
|
||||||
// SQL条件拼接
|
// SQL条件拼接
|
||||||
String name = logManagerRequest.getLogName();
|
String name = logManagerRequest.getLogName();
|
||||||
String appName = logManagerRequest.getAppName();
|
String appName = logManagerRequest.getAppName();
|
||||||
|
@ -140,7 +151,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||||
Long logId = logManagerRequest.getLogId();
|
Long logId = logManagerRequest.getLogId();
|
||||||
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotEmpty(logId), SysLog::getLogId, logId);
|
queryWrapper.eq(ObjectUtil.isNotEmpty(logId), SysLog::getLogId, logId);
|
||||||
queryWrapper.between(StrUtil.isAllNotBlank(beginDateTime, endDateTime), SysLog::getCreateTime, beginDateTime + " 00:00:00", endDateTime + " 23:59:59");
|
queryWrapper.between(ObjectUtil.isAllNotEmpty(beginDate, endDate), SysLog::getCreateTime, beginDate, endDate);
|
||||||
queryWrapper.like(StrUtil.isNotEmpty(name), SysLog::getLogContent, name);
|
queryWrapper.like(StrUtil.isNotEmpty(name), SysLog::getLogContent, name);
|
||||||
queryWrapper.like(StrUtil.isNotEmpty(appName), SysLog::getAppName, appName);
|
queryWrapper.like(StrUtil.isNotEmpty(appName), SysLog::getAppName, appName);
|
||||||
queryWrapper.like(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);
|
queryWrapper.like(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);
|
||||||
|
|
Loading…
Reference in New Issue