【7.0.4】日志查询条件更改

pull/17/head
fengshuonan 2021-05-20 14:42:22 +08:00
parent db38f47d51
commit 39b5fdd527
4 changed files with 51 additions and 31 deletions

View File

@ -24,12 +24,8 @@
*/
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 com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
/**
* mapper
@ -39,12 +35,4 @@ import org.apache.ibatis.annotations.Param;
*/
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);
}

View File

@ -2,18 +2,4 @@
<!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">
<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>

View File

@ -25,6 +25,8 @@
package cn.stylefeng.roses.kernel.system.modular.loginlog.service.impl;
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.StrUtil;
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.rule.exception.base.ServiceException;
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.pojo.user.SysUserDTO;
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.mapper.SysLoginLogMapper;
@ -45,6 +49,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
/**
* service
*
@ -54,6 +62,9 @@ import org.springframework.stereotype.Service;
@Service
public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLoginLog> implements SysLoginLogService, LoginLogServiceApi {
@Resource
private UserServiceApi userServiceApi;
@Override
public void del(SysLoginLogRequest sysLoginLogRequest) {
SysLoginLog sysLoginLog = this.querySysLoginLogById(sysLoginLogRequest);
@ -68,8 +79,23 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
@Override
public PageResult<SysLoginLogDto> findPage(SysLoginLogRequest sysLoginLogRequest) {
Page<SysLoginLogDto> page = baseMapper.customFindPage(PageFactory.defaultPage(), sysLoginLogRequest);
return PageResultFactory.createPageResult(page);
LambdaQueryWrapper<SysLoginLog> wrapper = this.createWrapper(sysLoginLogRequest);
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
@ -155,10 +181,19 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
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条件拼接
queryWrapper.eq(StrUtil.isNotBlank(sysLoginLogRequest.getLlgName()), SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName());
queryWrapper.ge(StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime()), SysLoginLog::getCreateTime, sysLoginLogRequest.getBeginTime());
queryWrapper.le(StrUtil.isNotBlank(sysLoginLogRequest.getEndTime()), SysLoginLog::getCreateTime, sysLoginLogRequest.getEndTime());
queryWrapper.ge(StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime()), SysLoginLog::getCreateTime, beginDate);
queryWrapper.le(StrUtil.isNotBlank(sysLoginLogRequest.getEndTime()), SysLoginLog::getCreateTime, endDate);
return queryWrapper;
}

View File

@ -25,6 +25,7 @@
package cn.stylefeng.roses.kernel.log.db.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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 org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@ -130,6 +132,15 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
String beginDateTime = logManagerRequest.getBeginDate();
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条件拼接
String name = logManagerRequest.getLogName();
String appName = logManagerRequest.getAppName();
@ -140,7 +151,7 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
Long logId = logManagerRequest.getLogId();
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(appName), SysLog::getAppName, appName);
queryWrapper.like(StrUtil.isNotEmpty(serverIp), SysLog::getServerIp, serverIp);