diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/ArithmeticQueryColumn.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/ArithmeticQueryColumn.java index 35ae3cf4..a1e63d08 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/ArithmeticQueryColumn.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/ArithmeticQueryColumn.java @@ -22,11 +22,12 @@ import com.mybatisflex.core.util.CollectionUtil; import com.mybatisflex.core.util.StringUtil; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import static com.mybatisflex.core.constant.SqlConsts.*; -public class ArithmeticQueryColumn extends QueryColumn { +public class ArithmeticQueryColumn extends QueryColumn implements HasParamsColumn { private List arithmeticInfos; @@ -114,6 +115,16 @@ public class ArithmeticQueryColumn extends QueryColumn { return SqlConsts.BRACKET_LEFT + sql + SqlConsts.BRACKET_RIGHT; } + @Override + public Object[] getParamValues() { + return arithmeticInfos.stream() + .map(arithmeticInfo -> arithmeticInfo.value) + .filter(value -> value instanceof HasParamsColumn) + .map(value -> ((HasParamsColumn) value).getParamValues()) + .flatMap(Arrays::stream) + .toArray(); + } + static class ArithmeticInfo implements CloneSupport {