From bcb2a89388f6f2b6dcbd6f6576d46939ad989ce7 Mon Sep 17 00:00:00 2001 From: Redkale Date: Sun, 25 Dec 2022 17:54:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96DataSource?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/test/source/LoginRecord.java | 13 +++++++------ .../org/redkale/test/source/LoginUserRecord.java | 11 ++++------- .../java/org/redkale/test/source/UserDetail.java | 11 ++++------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/test/java/org/redkale/test/source/LoginRecord.java b/src/test/java/org/redkale/test/source/LoginRecord.java index 762d8cb2d..a98e6177d 100644 --- a/src/test/java/org/redkale/test/source/LoginRecord.java +++ b/src/test/java/org/redkale/test/source/LoginRecord.java @@ -6,10 +6,7 @@ package org.redkale.test.source; import java.io.Serializable; - -import org.redkale.persistence.Column; -import org.redkale.source.DistributeTable; -import org.redkale.persistence.Id; +import org.redkale.persistence.*; import org.redkale.source.*; import org.redkale.util.Utility; @@ -131,11 +128,15 @@ public class LoginRecord extends BaseEntity { //过滤查询时调用本方法 @Override - public String getTable(String table, FilterNode node) { + public String[] getTables(String table, FilterNode node) { Serializable day = node.findValue("#day"); //LoginRecord没有day字段,所以前面要加#,表示虚拟字段, 值为yyyyMMdd格式 if (day != null) getTable(table, (Integer) day, 0L); //存在#day参数则直接使用day值 Serializable time = node.findValue("createtime"); //存在createtime则使用最小时间,且createtime的范围必须在一天内,因为本表以天为单位建表 - return getTable(table, 0, (time == null ? 0L : (time instanceof Range ? ((Range.LongRange) time).getMin() : (Long) time))); + if (time instanceof Long) { + return new String[]{getTable(table, 0, (Long) time)}; + } + Range.LongRange createTime = (Range.LongRange) time; + return new String[]{getTable(table, 0, createTime.getMin())}; } //创建或单个查询时调用本方法 diff --git a/src/test/java/org/redkale/test/source/LoginUserRecord.java b/src/test/java/org/redkale/test/source/LoginUserRecord.java index eb5f4541f..160ea6ef5 100644 --- a/src/test/java/org/redkale/test/source/LoginUserRecord.java +++ b/src/test/java/org/redkale/test/source/LoginUserRecord.java @@ -6,10 +6,7 @@ package org.redkale.test.source; import java.io.Serializable; - -import org.redkale.persistence.Column; -import org.redkale.source.DistributeTable; -import org.redkale.persistence.Id; +import org.redkale.persistence.*; import org.redkale.source.*; /** @@ -74,10 +71,10 @@ public class LoginUserRecord extends BaseEntity { } @Override - public String getTable(String table, FilterNode node) { + public String[] getTables(String table, FilterNode node) { Serializable id = node.findValue("userid"); - if (id != null) return getTable(table, id); - return getHashTable(table, (Integer) node.findValue("#hash")); + if (id != null) return new String[]{getTable(table, id)}; + return new String[]{getHashTable(table, (Integer) node.findValue("#hash"))}; } @Override diff --git a/src/test/java/org/redkale/test/source/UserDetail.java b/src/test/java/org/redkale/test/source/UserDetail.java index 972ad39c6..7042e789d 100644 --- a/src/test/java/org/redkale/test/source/UserDetail.java +++ b/src/test/java/org/redkale/test/source/UserDetail.java @@ -6,11 +6,8 @@ package org.redkale.test.source; import java.io.Serializable; - import org.redkale.convert.*; -import org.redkale.persistence.Column; -import org.redkale.source.DistributeTable; -import org.redkale.persistence.Id; +import org.redkale.persistence.*; import org.redkale.source.*; /** @@ -28,10 +25,10 @@ public class UserDetail extends BaseEntity { } @Override - public String getTable(String table, FilterNode node) { + public String[] getTables(String table, FilterNode node) { Serializable id = node.findValue("userid"); - if (id != null) return getTable(table, id); - return getHashTable(table, (Integer) node.findValue("#hash")); + if (id != null) return new String[]{getTable(table, id)}; + return new String[]{getHashTable(table, (Integer) node.findValue("#hash"))}; } @Override