|
@@ -5,7 +5,10 @@ import org.example.join.domain.QueryColumn;
|
|
import org.example.join.domain.QueryCondition;
|
|
import org.example.join.domain.QueryCondition;
|
|
import org.example.join.domain.Table;
|
|
import org.example.join.domain.Table;
|
|
import org.example.join.domain.TableJoin;
|
|
import org.example.join.domain.TableJoin;
|
|
|
|
+import org.example.join.util.SqlConstant;
|
|
|
|
+import org.example.join.util.SqlUtil;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -35,14 +38,24 @@ public class Join<R> {
|
|
throw new IllegalArgumentException("on不能为空");
|
|
throw new IllegalArgumentException("on不能为空");
|
|
}
|
|
}
|
|
|
|
|
|
- List<QueryCondition> queryConditionList = Arrays.stream(queryConditions).filter(Objects::nonNull).toList();
|
|
|
|
|
|
+ List<QueryCondition> queryConditionList = new ArrayList<>(Arrays.stream(queryConditions).filter(Objects::nonNull).toList());
|
|
|
|
|
|
if (queryConditionList.isEmpty()) {
|
|
if (queryConditionList.isEmpty()) {
|
|
throw new IllegalArgumentException("on不能为空");
|
|
throw new IllegalArgumentException("on不能为空");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 拼接逻辑删除
|
|
|
|
+ if (sql.logic) {
|
|
|
|
+ String tableDelFlag = SqlUtil.getTableDelFlag(table);
|
|
|
|
+ if (ObjectUtil.isNotEmpty(tableDelFlag)) {
|
|
|
|
+ QueryColumn queryColumn = new QueryColumn(table, tableDelFlag);
|
|
|
|
+ queryConditionList.add(new QueryCondition(queryColumn, SqlConstant.EQ, 0));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
TableJoin tableJoin = new TableJoin(join, table, queryConditionList);
|
|
TableJoin tableJoin = new TableJoin(join, table, queryConditionList);
|
|
sql.queryTableList.add(tableJoin);
|
|
sql.queryTableList.add(tableJoin);
|
|
|
|
+
|
|
return new From<>(sql);
|
|
return new From<>(sql);
|
|
}
|
|
}
|
|
|
|
|