mirror of
https://github.com/BgaSol/sol-cloud
synced 2026-05-23 17:18:44 +00:00
refactor(common): Refactor the related code for paginated queries
This commit is contained in:
parent
8e3561848a
commit
c13b474ea8
6 changed files with 24 additions and 14 deletions
|
|
@ -1,7 +1,6 @@
|
|||
package com.bgasol.common.core.base.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.bgasol.common.core.base.entity.BaseEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
|
@ -32,7 +31,7 @@ public abstract class BasePageDto<T extends BaseEntity> {
|
|||
|
||||
@JsonIgnore
|
||||
@Schema(hidden = true)
|
||||
public AbstractLambdaWrapper<T, LambdaQueryWrapper<T>> getQueryWrapper() {
|
||||
public Wrapper<T> getQueryWrapper() {
|
||||
throw new UnsupportedOperationException("not implemented yet");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bgasol.common.core.base.service;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
@ -301,18 +302,24 @@ public abstract class BaseService<ENTITY extends BaseEntity, PAGE_DTO extends Ba
|
|||
}
|
||||
|
||||
/**
|
||||
* PAGE_DTO
|
||||
* 分页查询
|
||||
*
|
||||
* @param pageDto 分页查询条件
|
||||
* @return 分页数据
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
public PageVo<ENTITY> findByPage(PAGE_DTO pageDto) {
|
||||
// 获取分页条件
|
||||
Page<ENTITY> page = new Page<>(pageDto.getPage(), pageDto.getSize());
|
||||
return this.findByPage(page, pageDto.getQueryWrapper());
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
public PageVo<ENTITY> findByPage(Page<ENTITY> page,
|
||||
Wrapper<ENTITY> queryWrapper) {
|
||||
// 执行分页查询
|
||||
Page<ENTITY> entityPage = commonBaseMapper().selectPage(page, pageDto.getQueryWrapper());
|
||||
Page<ENTITY> entityPage = commonBaseMapper().selectPage(page, queryWrapper);
|
||||
|
||||
// 缓存查询结果
|
||||
if (ObjectUtils.isNotEmpty(commonBaseRedissonClient())) {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
package com.bgasol.model.file.file.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.bgasol.common.core.base.dto.BasePageDto;
|
||||
import com.bgasol.model.file.file.entity.FileEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
|
|
@ -46,7 +48,7 @@ public class FilePageDto extends BasePageDto<FileEntity> {
|
|||
@Override
|
||||
@JsonIgnore
|
||||
@Schema(hidden = true)
|
||||
public AbstractLambdaWrapper<FileEntity, LambdaQueryWrapper<FileEntity>> getQueryWrapper() {
|
||||
public Wrapper<FileEntity> getQueryWrapper() {
|
||||
LambdaQueryWrapper<FileEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(ObjectUtils.isNotEmpty(name), FileEntity::getName, name);
|
||||
queryWrapper.like(ObjectUtils.isNotEmpty(url), FileEntity::getUrl, url);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bgasol.model.file.image.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.bgasol.common.core.base.dto.BasePageDto;
|
||||
import com.bgasol.model.file.image.entity.ImageEntity;
|
||||
|
|
@ -22,7 +23,7 @@ public class ImagePageDto extends BasePageDto<ImageEntity> {
|
|||
@Override
|
||||
@JsonIgnore
|
||||
@Schema(hidden = true)
|
||||
public AbstractLambdaWrapper<ImageEntity, LambdaQueryWrapper<ImageEntity>> getQueryWrapper() {
|
||||
public Wrapper<ImageEntity> getQueryWrapper() {
|
||||
LambdaQueryWrapper<ImageEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(ObjectUtils.isNotEmpty(name), ImageEntity::getName, name);
|
||||
return queryWrapper;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.bgasol.model.file.video.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.bgasol.common.core.base.dto.BasePageDto;
|
||||
import com.bgasol.model.file.video.entity.VideoEntity;
|
||||
|
|
@ -33,7 +33,7 @@ public class VideoPageDto extends BasePageDto<VideoEntity> {
|
|||
@Override
|
||||
@JsonIgnore
|
||||
@Schema(hidden = true)
|
||||
public AbstractLambdaWrapper<VideoEntity, LambdaQueryWrapper<VideoEntity>> getQueryWrapper() {
|
||||
public Wrapper<VideoEntity> getQueryWrapper() {
|
||||
LambdaQueryWrapper<VideoEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(ObjectUtils.isNotEmpty(name), VideoEntity::getName, name);
|
||||
queryWrapper.gt(ObjectUtils.isNotEmpty(duration), VideoEntity::getDuration, duration);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bgasol.model.system.user.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.bgasol.common.core.base.dto.BasePageDto;
|
||||
import com.bgasol.model.system.user.entity.UserEntity;
|
||||
|
|
@ -40,7 +41,7 @@ public class UserPageDto extends BasePageDto<UserEntity> {
|
|||
@Override
|
||||
@JsonIgnore
|
||||
@Schema(hidden = true)
|
||||
public AbstractLambdaWrapper<UserEntity, LambdaQueryWrapper<UserEntity>> getQueryWrapper() {
|
||||
public Wrapper<UserEntity> getQueryWrapper() {
|
||||
LambdaQueryWrapper<UserEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(ObjectUtils.isNotEmpty(username), UserEntity::getUsername, username);
|
||||
queryWrapper.like(ObjectUtils.isNotEmpty(nickname), UserEntity::getNickname, nickname);
|
||||
|
|
|
|||
Loading…
Reference in a new issue