diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaJoinQueryBuilder.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaJoinQueryBuilder.java index b97e558d4..2623f40d6 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaJoinQueryBuilder.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/query/LambdaJoinQueryBuilder.java @@ -49,6 +49,44 @@ public final class LambdaJoinQueryBuilder { return this; } + /** + * 添加分组字段。 + * + * @param columns 分组字段 + * @param 字段所属实体类型 + * @return 当前联表查询构造辅助对象 + */ + @SafeVarargs + public final LambdaJoinQueryBuilder groupBy(SFunction... columns) { + if (columns == null) { + return this; + } + for (SFunction column : columns) { + wrapper.groupBy(column); + } + return this; + } + + /** + * 添加带表别名的分组字段。 + * + * @param tableAlias 表别名 + * @param columns 分组字段 + * @param 字段所属实体类型 + * @return 当前联表查询构造辅助对象 + */ + @SafeVarargs + public final LambdaJoinQueryBuilder groupBy(String tableAlias, SFunction... columns) { + if (columns == null || columns.length == 0) { + return this; + } + String checkedAlias = AggregateSelectUtils.checkAlias(tableAlias); + for (SFunction column : columns) { + wrapper.groupBy(checkedAlias, column); + } + return this; + } + /** * 指定主表查询字段。 *