【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("开始时间") @ChineseDescription("开始时间")
private String beginTime; private Date beginTime;
/** /**
* *
*/ */
@ChineseDescription("结束时间") @ChineseDescription("结束时间")
private String endTime; private Date endTime;
} }

View File

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

View File

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

View File

@ -25,7 +25,6 @@
package cn.stylefeng.roses.kernel.log.loginlog.service; package cn.stylefeng.roses.kernel.log.loginlog.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; 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.api.pojo.loginlog.SysLoginLogRequest;
import cn.stylefeng.roses.kernel.log.loginlog.entity.SysLoginLog; import cn.stylefeng.roses.kernel.log.loginlog.entity.SysLoginLog;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -71,6 +70,6 @@ public interface SysLoginLogService extends IService<SysLoginLog> {
* @author chenjinlong * @author chenjinlong
* @since 2021/1/13 10:57 * @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; package cn.stylefeng.roses.kernel.log.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 +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.LoginLogServiceApi;
import cn.stylefeng.roses.kernel.log.api.exception.LogException; 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.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.api.pojo.loginlog.SysLoginLogRequest;
import cn.stylefeng.roses.kernel.log.loginlog.constants.LoginLogConstant; import cn.stylefeng.roses.kernel.log.loginlog.constants.LoginLogConstant;
import cn.stylefeng.roses.kernel.log.loginlog.entity.SysLoginLog; 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.log.loginlog.service.SysLoginLogService;
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil; import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
import cn.stylefeng.roses.kernel.sys.api.SysUserServiceApi; 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.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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 javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
/** /**
* service * service
@ -78,25 +72,13 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
} }
@Override @Override
public PageResult<SysLoginLogDto> findPage(SysLoginLogRequest sysLoginLogRequest) { public PageResult<SysLoginLog> findPage(SysLoginLogRequest sysLoginLogRequest) {
LambdaQueryWrapper<SysLoginLog> wrapper = this.createWrapper(sysLoginLogRequest); LambdaQueryWrapper<SysLoginLog> wrapper = this.createWrapper(sysLoginLogRequest);
Page<SysLoginLog> page = this.page(PageFactory.defaultPage(), wrapper); Page<SysLoginLog> page = this.page(PageFactory.defaultPage(), wrapper);
ArrayList<SysLoginLogDto> sysLoginLogDtos = new ArrayList<>(); return PageResultFactory.createPageResult(page);
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()));
} }
@Override @Override
@ -182,19 +164,20 @@ public class SysLoginLogServiceImpl extends ServiceImpl<SysLoginLogMapper, SysLo
return queryWrapper; return queryWrapper;
} }
Date beginDate = null; // 根据【创建时间】筛选
if (StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime())) { if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getBeginTime()) && ObjectUtil.isNotEmpty(sysLoginLogRequest.getEndTime())) {
beginDate = DateUtil.parseDateTime(sysLoginLogRequest.getBeginTime() + " 00:00:00").toJdkDate(); queryWrapper.between(SysLoginLog::getCreateTime, sysLoginLogRequest.getBeginTime(), sysLoginLogRequest.getEndTime());
}
Date endDate = null;
if (StrUtil.isNotBlank(sysLoginLogRequest.getEndTime())) {
endDate = DateUtil.parseDateTime(sysLoginLogRequest.getEndTime() + " 23:59:59").toJdkDate();
} }
// SQL条件拼接 // 根据【日志名称】筛选,名称只有登录和退出日志两种
queryWrapper.eq(StrUtil.isNotBlank(sysLoginLogRequest.getLlgName()), SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName()); if (StrUtil.isNotBlank(sysLoginLogRequest.getLlgName())) {
queryWrapper.ge(StrUtil.isNotBlank(sysLoginLogRequest.getBeginTime()), SysLoginLog::getCreateTime, beginDate); queryWrapper.eq(SysLoginLog::getLlgName, sysLoginLogRequest.getLlgName());
queryWrapper.le(StrUtil.isNotBlank(sysLoginLogRequest.getEndTime()), SysLoginLog::getCreateTime, endDate); }
// 根据【指定用户】筛选
if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getUserId())) {
queryWrapper.eq(SysLoginLog::getUserId, sysLoginLogRequest.getUserId());
}
// 根据请求参数的顺序排列 // 根据请求参数的顺序排列
if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getOrderBy()) && ObjectUtil.isNotEmpty(sysLoginLogRequest.getSortBy())) { if (ObjectUtil.isNotEmpty(sysLoginLogRequest.getOrderBy()) && ObjectUtil.isNotEmpty(sysLoginLogRequest.getSortBy())) {