class AggregationColumn {

    @Schema(description = "列名")
    @NotBlank
    private String property;

    @Schema(description = "别名")
    private String alias;

    @Schema(description = "聚合方式,支持(min,max,avg,sum,count)", type = "string")
    @NotNull
    private Aggregation aggregation;

    private Object defaultValue;

    public AggregationColumn(@NotBlank String property, String alias, @NotNull Aggregation aggregation) {
        this.property = property;
        this.alias = alias;
        this.aggregation = aggregation;
    }

    public AggregationColumn() {
    }

    public Object getDefaultValue() {<FILL_FUNCTION_BODY>}

    public String getAlias() {
        if (StringUtils.hasText(alias)) {
            return alias;
        }
        return property;
    }

}

        if (defaultValue != null) {
            return defaultValue;
        }
        if (aggregation != null) {
            return defaultValue = aggregation.getDefaultValue();
        }
        return null;
    
<no_super_class>