优化查询逻辑.

This commit is contained in:
lijiahang
2024-09-02 12:37:11 +08:00
parent de9b89d805
commit 3a16f9d9ab
15 changed files with 184 additions and 93 deletions

View File

@@ -122,7 +122,8 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
@Override
public List<${type}VO> get${type}List(${type}QueryRequest request) {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request)
.orderByDesc(${type}DO::getId);
// 查询
return ${typeLower}DAO.of(wrapper).list(${type}Convert.MAPPER::to);
}
@@ -148,23 +149,28 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
.sorted(Comparator.comparing(${type}VO::getId).reversed())
.collect(Collectors.toList());
}
#end
@Override
public Long get${type}Count(${type}QueryRequest request) {
return ${typeLower}DAO.of()
.wrapper(this.buildQueryWrapper(request))
.countMax(request.getLimit());
}
@Override
public DataGrid<${type}VO> get${type}Page(${type}QueryRequest request) {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request)
.orderByDesc(${type}DO::getId);
// 查询
return ${typeLower}DAO.of()
.page(request)
.wrapper(wrapper)
.dataGrid(${type}Convert.MAPPER::to);
}
@Override
public Long get${type}Count(${type}QueryRequest request) {
// 条件
LambdaQueryWrapper<${type}DO> wrapper = this.buildQueryWrapper(request);
// 查询
return ${typeLower}DAO.of(wrapper)
.page(request)
.dataGrid(${type}Convert.MAPPER::to);
return ${typeLower}DAO.of()
.wrapper(wrapper)
.countMax(request.getLimit());
}
@Override
@@ -234,13 +240,8 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
Valid.isFalse(present, ErrorMessage.DATA_PRESENT);
}
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
private LambdaQueryWrapper<${type}DO> buildQueryWrapper(${type}QueryRequest request) {
@Override
public LambdaQueryWrapper<${type}DO> buildQueryWrapper(${type}QueryRequest request) {
String searchValue = request.getSearchValue();
return ${typeLower}DAO.wrapper()
#foreach($field in ${table.fields})
@@ -250,8 +251,7 @@ public class ${table.serviceImplName} implements ${table.serviceName} {
#foreach($field in ${table.fields})
.eq(${type}DO::get${field.capitalName}, searchValue)#if($foreach.hasNext).or()#end
#end
)
.orderByDesc(${type}DO::getId);
);
}
}

View File

@@ -1,5 +1,6 @@
package ${package.Service};
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.define.wrapper.DataGrid;
#foreach($pkg in ${customModuleFilePackages})
import ${pkg}.*;
@@ -116,4 +117,12 @@ public interface ${table.serviceName} {
*/
Integer delete${type}(${type}QueryRequest request);
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
private LambdaQueryWrapper<${type}DO> buildQueryWrapper(${type}QueryRequest request);
}

View File

@@ -1,6 +1,8 @@
package com.orion.visor.module.asset.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.visor.module.asset.entity.domain.ExecLogDO;
import com.orion.visor.module.asset.entity.dto.ExecLogTailDTO;
import com.orion.visor.module.asset.entity.request.exec.ExecLogClearRequest;
import com.orion.visor.module.asset.entity.request.exec.ExecLogQueryRequest;
@@ -144,4 +146,12 @@ public interface ExecLogService {
*/
void asyncDeleteLogFiles(List<Long> idList);
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
LambdaQueryWrapper<ExecLogDO> buildQueryWrapper(ExecLogQueryRequest request);
}

View File

@@ -1,5 +1,6 @@
package com.orion.visor.module.asset.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.visor.module.asset.entity.domain.HostConnectLogDO;
import com.orion.visor.module.asset.entity.request.host.HostConnectLogClearRequest;
@@ -106,4 +107,12 @@ public interface HostConnectLogService {
*/
Integer forceOffline(HostConnectLogQueryRequest request);
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
LambdaQueryWrapper<HostConnectLogDO> buildQueryWrapper(HostConnectLogQueryRequest request);
}

View File

@@ -1,6 +1,8 @@
package com.orion.visor.module.asset.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.visor.module.asset.entity.domain.HostDO;
import com.orion.visor.module.asset.entity.request.host.*;
import com.orion.visor.module.asset.entity.vo.HostConfigVO;
import com.orion.visor.module.asset.entity.vo.HostVO;
@@ -123,4 +125,12 @@ public interface HostService {
*/
void clearCache();
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
LambdaQueryWrapper<HostDO> buildQueryWrapper(HostQueryRequest request);
}

View File

@@ -1,6 +1,8 @@
package com.orion.visor.module.asset.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.visor.module.asset.entity.domain.UploadTaskDO;
import com.orion.visor.module.asset.entity.request.upload.UploadTaskClearRequest;
import com.orion.visor.module.asset.entity.request.upload.UploadTaskCreateRequest;
import com.orion.visor.module.asset.entity.request.upload.UploadTaskQueryRequest;
@@ -113,4 +115,12 @@ public interface UploadTaskService {
*/
void clearUploadSwapFiles(List<Long> idList);
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
LambdaQueryWrapper<UploadTaskDO> buildQueryWrapper(UploadTaskQueryRequest request);
}

View File

@@ -93,7 +93,8 @@ public class ExecLogServiceImpl implements ExecLogService {
@Override
public DataGrid<ExecLogVO> getExecLogPage(ExecLogQueryRequest request) {
// 条件
LambdaQueryWrapper<ExecLogDO> wrapper = this.buildQueryWrapper(request);
LambdaQueryWrapper<ExecLogDO> wrapper = this.buildQueryWrapper(request)
.orderByDesc(ExecLogDO::getId);
// 查询
return execLogDAO.of(wrapper)
.page(request)
@@ -220,8 +221,11 @@ public class ExecLogServiceImpl implements ExecLogService {
@Override
public Long queryExecLogCount(ExecLogQueryRequest request) {
// 条件
LambdaQueryWrapper<ExecLogDO> wrapper = this.buildQueryWrapper(request);
// 查询
return execLogDAO.of()
.wrapper(this.buildQueryWrapper(request))
.wrapper(wrapper)
.countMax(request.getLimit());
}
@@ -232,6 +236,7 @@ public class ExecLogServiceImpl implements ExecLogService {
// 查询
LambdaQueryWrapper<ExecLogDO> wrapper = this.buildQueryWrapper(request)
.select(ExecLogDO::getId)
.orderByAsc(ExecLogDO::getId)
.last(SqlUtils.limit(request.getLimit()));
List<Long> idList = execLogDAO.selectList(wrapper)
.stream()
@@ -452,13 +457,8 @@ public class ExecLogServiceImpl implements ExecLogService {
.forEach(Files1::delete);
}
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
private LambdaQueryWrapper<ExecLogDO> buildQueryWrapper(ExecLogQueryRequest request) {
@Override
public LambdaQueryWrapper<ExecLogDO> buildQueryWrapper(ExecLogQueryRequest request) {
return execLogDAO.wrapper()
.eq(ExecLogDO::getId, request.getId())
.eq(ExecLogDO::getUserId, request.getUserId())
@@ -471,8 +471,7 @@ public class ExecLogServiceImpl implements ExecLogService {
.in(ExecLogDO::getStatus, request.getStatusList())
.ge(ExecLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 0))
.le(ExecLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 1))
.le(ExecLogDO::getCreateTime, request.getCreateTimeLe())
.orderByDesc(ExecLogDO::getId);
.le(ExecLogDO::getCreateTime, request.getCreateTimeLe());
}
/**

View File

@@ -73,7 +73,8 @@ public class HostConnectLogServiceImpl implements HostConnectLogService {
@Override
public DataGrid<HostConnectLogVO> getHostConnectLogPage(HostConnectLogQueryRequest request) {
// 条件
LambdaQueryWrapper<HostConnectLogDO> wrapper = this.buildQueryWrapper(request);
LambdaQueryWrapper<HostConnectLogDO> wrapper = this.buildQueryWrapper(request)
.orderByDesc(HostConnectLogDO::getId);
// 查询
return hostConnectLogDAO.of(wrapper)
.page(request)
@@ -104,7 +105,8 @@ public class HostConnectLogServiceImpl implements HostConnectLogService {
// 条件
request.setIdList(idList);
request.setStatus(HostConnectStatusEnum.CONNECTING.name());
LambdaQueryWrapper<HostConnectLogDO> wrapper = this.buildQueryWrapper(request);
LambdaQueryWrapper<HostConnectLogDO> wrapper = this.buildQueryWrapper(request)
.orderByDesc(HostConnectLogDO::getId);
// 查询
return hostConnectLogDAO.of(wrapper)
.list(s -> {
@@ -187,8 +189,11 @@ public class HostConnectLogServiceImpl implements HostConnectLogService {
@Override
public Long getHostConnectLogCount(HostConnectLogQueryRequest request) {
// 条件
LambdaQueryWrapper<HostConnectLogDO> wrapper = this.buildQueryWrapper(request);
// 查询
return hostConnectLogDAO.of()
.wrapper(this.buildQueryWrapper(request))
.wrapper(wrapper)
.countMax(request.getLimit());
}
@@ -199,6 +204,7 @@ public class HostConnectLogServiceImpl implements HostConnectLogService {
// 查询
LambdaQueryWrapper<HostConnectLogDO> wrapper = this.buildQueryWrapper(request)
.select(HostConnectLogDO::getId)
.orderByAsc(HostConnectLogDO::getId)
.last(SqlUtils.limit(request.getLimit()));
List<HostConnectLogDO> list = hostConnectLogDAO.selectList(wrapper);
if (list.isEmpty()) {
@@ -234,13 +240,8 @@ public class HostConnectLogServiceImpl implements HostConnectLogService {
return this.updateStatus(record, HostConnectStatusEnum.FORCE_OFFLINE, null);
}
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
private LambdaQueryWrapper<HostConnectLogDO> buildQueryWrapper(HostConnectLogQueryRequest request) {
@Override
public LambdaQueryWrapper<HostConnectLogDO> buildQueryWrapper(HostConnectLogQueryRequest request) {
return hostConnectLogDAO.wrapper()
.eq(HostConnectLogDO::getId, request.getId())
.in(HostConnectLogDO::getId, request.getIdList())
@@ -253,8 +254,7 @@ public class HostConnectLogServiceImpl implements HostConnectLogService {
.in(HostConnectLogDO::getStatus, request.getStatusList())
.ge(HostConnectLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 0))
.le(HostConnectLogDO::getStartTime, Arrays1.getIfPresent(request.getStartTimeRange(), 1))
.le(HostConnectLogDO::getCreateTime, request.getCreateTimeLe())
.orderByDesc(HostConnectLogDO::getId);
.le(HostConnectLogDO::getCreateTime, request.getCreateTimeLe());
}
}

View File

@@ -259,9 +259,10 @@ public class HostServiceImpl implements HostService {
if (wrapper == null) {
return DataGrid.of(Lists.empty());
}
// 数量条件
LambdaQueryWrapper<HostDO> countWrapper = wrapper.clone();
wrapper.select(HostDAO.BASE_COLUMN);
// 基础条件
LambdaQueryWrapper<HostDO> countWrapper = wrapper.clone()
.select(HostDAO.BASE_COLUMN)
.orderByAsc(HostDO::getId);
// 查询
DataGrid<HostVO> hosts = hostDAO.of(wrapper)
.page(request)
@@ -273,8 +274,11 @@ public class HostServiceImpl implements HostService {
@Override
public Long getHostCount(HostQueryRequest request) {
// 条件
LambdaQueryWrapper<HostDO> wrapper = this.buildQueryWrapper(request);
// 查询
return hostDAO.of()
.wrapper(this.buildQueryWrapper(request))
.wrapper(wrapper)
.countMax(request.getLimit());
}
@@ -359,13 +363,8 @@ public class HostServiceImpl implements HostService {
Valid.isFalse(present, ErrorMessage.CODE_PRESENT);
}
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
private LambdaQueryWrapper<HostDO> buildQueryWrapper(HostQueryRequest request) {
@Override
public LambdaQueryWrapper<HostDO> buildQueryWrapper(HostQueryRequest request) {
String searchValue = request.getSearchValue();
LambdaQueryWrapper<HostDO> wrapper = hostDAO.wrapper();
// tag 条件

View File

@@ -169,7 +169,8 @@ public class UploadTaskServiceImpl implements UploadTaskService {
@Override
public DataGrid<UploadTaskVO> getUploadTaskPage(UploadTaskQueryRequest request) {
// 条件
LambdaQueryWrapper<UploadTaskDO> wrapper = this.buildQueryWrapper(request);
LambdaQueryWrapper<UploadTaskDO> wrapper = this.buildQueryWrapper(request)
.orderByDesc(UploadTaskDO::getId);
// 查询
return uploadTaskDAO.of(wrapper)
.page(request)
@@ -216,8 +217,11 @@ public class UploadTaskServiceImpl implements UploadTaskService {
@Override
public Long getUploadTaskCount(UploadTaskQueryRequest request) {
// 条件
LambdaQueryWrapper<UploadTaskDO> wrapper = this.buildQueryWrapper(request);
// 查询
return uploadTaskDAO.of()
.wrapper(this.buildQueryWrapper(request))
.wrapper(wrapper)
.countMax(request.getLimit());
}
@@ -227,6 +231,7 @@ public class UploadTaskServiceImpl implements UploadTaskService {
// 查询id
LambdaQueryWrapper<UploadTaskDO> wrapper = this.buildQueryWrapper(request)
.select(UploadTaskDO::getId)
.orderByAsc(UploadTaskDO::getId)
.last(SqlUtils.limit(request.getLimit()));
List<Long> idList = uploadTaskDAO.of(wrapper)
.list(UploadTaskDO::getId);
@@ -306,13 +311,8 @@ public class UploadTaskServiceImpl implements UploadTaskService {
paths.forEach(Files1::delete);
}
/**
* 构建查询 wrapper
*
* @param request request
* @return wrapper
*/
private LambdaQueryWrapper<UploadTaskDO> buildQueryWrapper(UploadTaskQueryRequest request) {
@Override
public LambdaQueryWrapper<UploadTaskDO> buildQueryWrapper(UploadTaskQueryRequest request) {
return uploadTaskDAO.wrapper()
.eq(UploadTaskDO::getId, request.getId())
.eq(UploadTaskDO::getUserId, request.getUserId())
@@ -320,8 +320,7 @@ public class UploadTaskServiceImpl implements UploadTaskService {
.like(UploadTaskDO::getRemotePath, request.getRemotePath())
.eq(UploadTaskDO::getStatus, request.getStatus())
.ge(UploadTaskDO::getCreateTime, Arrays1.getIfPresent(request.getCreateTimeRange(), 0))
.le(UploadTaskDO::getCreateTime, Arrays1.getIfPresent(request.getCreateTimeRange(), 1))
.orderByDesc(UploadTaskDO::getId);
.le(UploadTaskDO::getCreateTime, Arrays1.getIfPresent(request.getCreateTimeRange(), 1));
}
/**

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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));
}
}

View File

@@ -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());
}
}