【8.1.9】【sys】更新登录日志查询,用户名称的字段名,查询条件筛选完善

dev-8.1.9
stylefeng 2024-07-09 15:50:59 +08:00
parent 3e7524fcdf
commit 7e7192faee
5 changed files with 23 additions and 39 deletions

View File

@ -89,12 +89,12 @@ public class SysLoginLogRequest extends BaseRequest {
*
*/
@ChineseDescription("开始时间")
private String beginTime;
private Date beginTime;
/**
*
*/
@ChineseDescription("结束时间")
private String endTime;
private Date endTime;
}

View File

@ -25,7 +25,6 @@
package cn.stylefeng.roses.kernel.log.loginlog.controller;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
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.loginlog.entity.SysLoginLog;
import cn.stylefeng.roses.kernel.log.loginlog.service.SysLoginLogService;
@ -88,7 +87,7 @@ public class SysLoginLogController {
* @since 2021/1/13 17:51
*/
@GetResource(name = "分页查询登录日志", path = "/loginLog/page")
public ResponseData<PageResult<SysLoginLogDto>> page(SysLoginLogRequest sysLoginLogRequest) {
public ResponseData<PageResult<SysLoginLog>> page(SysLoginLogRequest sysLoginLogRequest) {
return new SuccessResponseData<>(sysLoginLogService.findPage(sysLoginLogRequest));
}

View File

@ -25,6 +25,8 @@
package cn.stylefeng.roses.kernel.log.loginlog.entity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.annotation.SimpleFieldFormat;
import cn.stylefeng.roses.kernel.sys.api.format.UserNameFormatProcess;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -83,6 +85,7 @@ public class SysLoginLog {
*/
@TableField(value = "user_id")
@ChineseDescription("用户id")
@SimpleFieldFormat(processClass = UserNameFormatProcess.class)
private Long userId;
/**

View File

@ -25,7 +25,6 @@
package cn.stylefeng.roses.kernel.log.loginlog.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
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.loginlog.entity.SysLoginLog;
import com.baomidou.mybatisplus.extension.service.IService;
@ -71,6 +70,6 @@ public interface SysLoginLogService extends IService<SysLoginLog> {
* @author chenjinlong
* @since 2021/1/13 10:57
*/
PageResult<SysLoginLogDto> findPage(SysLoginLogRequest sysLoginLogRequest);
PageResult<SysLoginLog> findPage(SysLoginLogRequest sysLoginLogRequest);
}

View File

@ -25,8 +25,6 @@
package cn.stylefeng.roses.kernel.log.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 +33,6 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.log.api.LoginLogServiceApi;
import cn.stylefeng.roses.kernel.log.api.exception.LogException;
import cn.stylefeng.roses.kernel.log.api.exception.enums.LogExceptionEnum;
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.loginlog.constants.LoginLogConstant;
import cn.stylefeng.roses.kernel.log.loginlog.entity.SysLoginLog;
@ -43,15 +40,12 @@ import cn.stylefeng.roses.kernel.log.loginlog.mapper.SysLoginLogMapper;
import cn.stylefeng.roses.kernel.log.loginlog.service.SysLoginLogService;
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi;
import cn.stylefeng.roses.kernel.sys.api.pojo.user.SimpleUserDTO;
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.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
/**
* service
@ -78,25 +72,13 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
}
@Override
public PageResult<SysLoginLogDto> findPage(SysLoginLogRequest sysLoginLogRequest) {
public PageResult<SysLoginLog> findPage(SysLoginLogRequest sysLoginLogRequest) {
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);
// 填充用户姓名
SimpleUserDTO userInfoByUserId = sysUserServiceApi.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()));
return PageResultFactory.createPageResult(page);
}
@Override
@ -182,19 +164,20 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
return queryWrapper;
}
Date beginDate = null;
if (StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime())) {
beginDate = DateUtil.parseDateTime(sysLoginLogRequest.getBeginTime() + " 00:00:00").toJdkDate();
}
Date endDate = null;
if (StrUtil.isNotBlank(sysLoginLogRequest.getEndTime())) {
endDate = DateUtil.parseDateTime(sysLoginLogRequest.getEndTime() + " 23:59:59").toJdkDate();
// 根据【创建时间】筛选
if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getBeginTime()) && ObjectUtil.isNotEmpty(sysLoginLogRequest.getEndTime())) {
queryWrapper.between(SysLoginLog::getCreateTime, sysLoginLogRequest.getBeginTime(), sysLoginLogRequest.getEndTime());
}
// SQL条件拼接
queryWrapper.eq(StrUtil.isNotBlank(sysLoginLogRequest.getLlgName()), SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName());
queryWrapper.ge(StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime()), SysLoginLog::getCreateTime, beginDate);
queryWrapper.le(StrUtil.isNotBlank(sysLoginLogRequest.getEndTime()), SysLoginLog::getCreateTime, endDate);
// 根据【日志名称】筛选,名称只有登录和退出日志两种
if (StrUtil.isNotBlank(sysLoginLogRequest.getLlgName())) {
queryWrapper.eq(SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName());
}
// 根据【指定用户】筛选
if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getUserId())) {
queryWrapper.eq(SysLoginLog::getUserId, sysLoginLogRequest.getUserId());
}
// 根据请求参数的顺序排列
if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getOrderBy()) && ObjectUtil.isNotEmpty(sysLoginLogRequest.getSortBy())) {