Browse Source

修复分页查询增强实现异常问题

woody 11 months ago
parent
commit
753392702e

+ 7 - 8
framework-database/src/main/java/com/chelvc/framework/database/support/EnhanceService.java

@@ -5,8 +5,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.function.Function;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.conditions.query.ChainQuery;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
@@ -109,7 +108,7 @@ public interface EnhanceService<T> extends IService<T>, EventService<T> {
      * @return 数据分页信息
      */
     default Pagination<T> paging(@NonNull Paging paging) {
-        return this.paging(Wrappers.emptyWrapper(), paging);
+        return this.paging(this.lambdaQuery(), paging);
     }
 
     /**
@@ -121,7 +120,7 @@ public interface EnhanceService<T> extends IService<T>, EventService<T> {
      * @return 数据分页信息
      */
     default <R> Pagination<R> paging(@NonNull Paging paging, @NonNull Function<List<T>, @NonNull List<R>> adapter) {
-        return this.paging(Wrappers.emptyWrapper(), paging, adapter);
+        return this.paging(this.lambdaQuery(), paging, adapter);
     }
 
     /**
@@ -131,8 +130,8 @@ public interface EnhanceService<T> extends IService<T>, EventService<T> {
      * @param paging 查询分页信息
      * @return 数据分页信息
      */
-    default Pagination<T> paging(@NonNull Wrapper<T> query, @NonNull Paging paging) {
-        return DatabaseContextHolder.paging(paging, page -> this.page(page, query));
+    default Pagination<T> paging(@NonNull ChainQuery<T> query, @NonNull Paging paging) {
+        return DatabaseContextHolder.paging(paging, query::page);
     }
 
     /**
@@ -144,8 +143,8 @@ public interface EnhanceService<T> extends IService<T>, EventService<T> {
      * @param <R>     目标数据类型
      * @return 数据分页信息
      */
-    default <R> Pagination<R> paging(@NonNull Wrapper<T> query, @NonNull Paging paging,
+    default <R> Pagination<R> paging(@NonNull ChainQuery<T> query, @NonNull Paging paging,
                                      @NonNull Function<List<T>, List<R>> adapter) {
-        return DatabaseContextHolder.paging(paging, page -> this.page(page, query), adapter);
+        return DatabaseContextHolder.paging(paging, query::page, adapter);
     }
 }