⚡ 优化查询逻辑.
This commit is contained in:
@@ -32,9 +32,12 @@ public class OperatorLogApiImpl implements OperatorLogApi {
|
||||
@Override
|
||||
public DataGrid<OperatorLogDTO> getOperatorLogPage(OperatorLogQueryDTO request) {
|
||||
Valid.valid(request);
|
||||
// 条件
|
||||
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request);
|
||||
// 查询
|
||||
return operatorLogDAO.of()
|
||||
.page(request)
|
||||
.wrapper(this.buildQueryWrapper(request))
|
||||
.wrapper(wrapper)
|
||||
.dataGrid(OperatorLogProviderConvert.MAPPER::to);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.orion.visor.module.infra.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.orion.lang.define.wrapper.DataGrid;
|
||||
import com.orion.visor.framework.biz.operator.log.core.model.OperatorLogModel;
|
||||
import com.orion.visor.module.infra.entity.domain.OperatorLogDO;
|
||||
import com.orion.visor.module.infra.entity.request.operator.OperatorLogClearRequest;
|
||||
import com.orion.visor.module.infra.entity.request.operator.OperatorLogQueryRequest;
|
||||
import com.orion.visor.module.infra.entity.vo.LoginHistoryVO;
|
||||
@@ -66,4 +68,12 @@ public interface OperatorLogService {
|
||||
*/
|
||||
List<LoginHistoryVO> getLoginHistory(String username, Integer count);
|
||||
|
||||
/**
|
||||
* 构建查询 wrapper
|
||||
*
|
||||
* @param request request
|
||||
* @return wrapper
|
||||
*/
|
||||
LambdaQueryWrapper<OperatorLogDO> buildQueryWrapper(OperatorLogQueryRequest request);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.orion.visor.module.infra.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.orion.lang.define.wrapper.DataGrid;
|
||||
import com.orion.visor.module.infra.entity.domain.SystemUserDO;
|
||||
import com.orion.visor.module.infra.entity.request.user.*;
|
||||
import com.orion.visor.module.infra.entity.vo.SystemUserVO;
|
||||
|
||||
@@ -62,6 +64,14 @@ public interface SystemUserService {
|
||||
*/
|
||||
DataGrid<SystemUserVO> getSystemUserPage(SystemUserQueryRequest request);
|
||||
|
||||
/**
|
||||
* 查询系统用户数量
|
||||
*
|
||||
* @param request request
|
||||
* @return count
|
||||
*/
|
||||
Long getSystemUserCount(SystemUserQueryRequest request);
|
||||
|
||||
/**
|
||||
* 通过 id 删除用户
|
||||
*
|
||||
@@ -92,4 +102,12 @@ public interface SystemUserService {
|
||||
*/
|
||||
void resetPassword(UserResetPasswordRequest request);
|
||||
|
||||
/**
|
||||
* 获取查询 wrapper
|
||||
*
|
||||
* @param request request
|
||||
* @return wrapper
|
||||
*/
|
||||
LambdaQueryWrapper<SystemUserDO> buildQueryWrapper(SystemUserQueryRequest request);
|
||||
|
||||
}
|
||||
|
||||
@@ -49,7 +49,8 @@ public class OperatorLogServiceImpl implements OperatorLogService {
|
||||
@Override
|
||||
public DataGrid<OperatorLogVO> getOperatorLogPage(OperatorLogQueryRequest request) {
|
||||
// 条件
|
||||
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request);
|
||||
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request)
|
||||
.orderByDesc(OperatorLogDO::getId);
|
||||
// 查询
|
||||
return operatorLogDAO.of(wrapper)
|
||||
.page(request)
|
||||
@@ -68,8 +69,11 @@ public class OperatorLogServiceImpl implements OperatorLogService {
|
||||
|
||||
@Override
|
||||
public Long getOperatorLogCount(OperatorLogQueryRequest request) {
|
||||
// 条件
|
||||
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request);
|
||||
// 查询
|
||||
return operatorLogDAO.of()
|
||||
.wrapper(this.buildQueryWrapper(request))
|
||||
.wrapper(wrapper)
|
||||
.countMax(request.getLimit());
|
||||
}
|
||||
|
||||
@@ -78,6 +82,7 @@ public class OperatorLogServiceImpl implements OperatorLogService {
|
||||
log.info("OperatorLogService.clearOperatorLog start {}", JSON.toJSONString(request));
|
||||
// 删除参数
|
||||
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request)
|
||||
.orderByAsc(OperatorLogDO::getId)
|
||||
.last(SqlUtils.limit(request.getLimit()));
|
||||
// 删除
|
||||
int effect = operatorLogDAO.delete(wrapper);
|
||||
@@ -89,25 +94,20 @@ public class OperatorLogServiceImpl implements OperatorLogService {
|
||||
|
||||
@Override
|
||||
public List<LoginHistoryVO> getLoginHistory(String username, Integer count) {
|
||||
Valid.gt(count, 0, ErrorMessage.PARAM_ERROR);
|
||||
// 条件
|
||||
OperatorLogQueryRequest request = new OperatorLogQueryRequest();
|
||||
request.setUsername(username);
|
||||
request.setType(AuthenticationOperatorType.LOGIN);
|
||||
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request);
|
||||
Valid.inRange(count, 0, 100, ErrorMessage.PARAM_ERROR);
|
||||
// 查询
|
||||
return operatorLogDAO.of(wrapper)
|
||||
return operatorLogDAO.of()
|
||||
.createWrapper()
|
||||
.eq(OperatorLogDO::getUsername, username)
|
||||
.eq(OperatorLogDO::getType, AuthenticationOperatorType.LOGIN)
|
||||
.orderByDesc(OperatorLogDO::getId)
|
||||
.then()
|
||||
.limit(count)
|
||||
.list(OperatorLogConvert.MAPPER::toLoginHistory);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建查询 wrapper
|
||||
*
|
||||
* @param request request
|
||||
* @return wrapper
|
||||
*/
|
||||
private LambdaQueryWrapper<OperatorLogDO> buildQueryWrapper(OperatorLogQueryRequest request) {
|
||||
@Override
|
||||
public LambdaQueryWrapper<OperatorLogDO> buildQueryWrapper(OperatorLogQueryRequest request) {
|
||||
return operatorLogDAO.wrapper()
|
||||
.eq(OperatorLogDO::getUserId, request.getUserId())
|
||||
.eq(OperatorLogDO::getUsername, request.getUsername())
|
||||
@@ -116,8 +116,7 @@ public class OperatorLogServiceImpl implements OperatorLogService {
|
||||
.eq(OperatorLogDO::getType, request.getType())
|
||||
.eq(OperatorLogDO::getResult, request.getResult())
|
||||
.ge(OperatorLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 0))
|
||||
.le(OperatorLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 1))
|
||||
.orderByDesc(OperatorLogDO::getId);
|
||||
.le(OperatorLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 1));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -207,20 +207,25 @@ public class SystemUserServiceImpl implements SystemUserService {
|
||||
|
||||
@Override
|
||||
public DataGrid<SystemUserVO> getSystemUserPage(SystemUserQueryRequest request) {
|
||||
// 构造条件
|
||||
LambdaQueryWrapper<SystemUserDO> wrapper = systemUserDAO.wrapper()
|
||||
.eq(SystemUserDO::getId, request.getId())
|
||||
.like(SystemUserDO::getUsername, request.getUsername())
|
||||
.like(SystemUserDO::getNickname, request.getNickname())
|
||||
.like(SystemUserDO::getMobile, request.getMobile())
|
||||
.like(SystemUserDO::getEmail, request.getEmail())
|
||||
.eq(SystemUserDO::getStatus, request.getStatus());
|
||||
// 条件
|
||||
LambdaQueryWrapper<SystemUserDO> wrapper = this.buildQueryWrapper(request);
|
||||
// 查询
|
||||
return systemUserDAO.of(wrapper)
|
||||
return systemUserDAO.of()
|
||||
.page(request)
|
||||
.wrapper(wrapper)
|
||||
.dataGrid(SystemUserConvert.MAPPER::to);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getSystemUserCount(SystemUserQueryRequest request) {
|
||||
// 条件
|
||||
LambdaQueryWrapper<SystemUserDO> wrapper = this.buildQueryWrapper(request);
|
||||
// 查询
|
||||
return systemUserDAO.of()
|
||||
.wrapper(wrapper)
|
||||
.countMax(request.getLimit());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer deleteSystemUserById(Long id) {
|
||||
return this.deleteSystemUserByIdList(Lists.singleton(id));
|
||||
@@ -358,4 +363,15 @@ public class SystemUserServiceImpl implements SystemUserService {
|
||||
RedisUtils.delete(deleteKeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LambdaQueryWrapper<SystemUserDO> buildQueryWrapper(SystemUserQueryRequest request) {
|
||||
return systemUserDAO.wrapper()
|
||||
.eq(SystemUserDO::getId, request.getId())
|
||||
.like(SystemUserDO::getUsername, request.getUsername())
|
||||
.like(SystemUserDO::getNickname, request.getNickname())
|
||||
.like(SystemUserDO::getMobile, request.getMobile())
|
||||
.like(SystemUserDO::getEmail, request.getEmail())
|
||||
.eq(SystemUserDO::getStatus, request.getStatus());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user