class PropertyAggregation {
    @Schema(description = "属性ID")
    @NotBlank
    private String property; //要聚合对字段

    @Schema(description = "别名,默认和property一致")
    private String alias; //别名

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

    @Schema(description = "聚合默认值")
    private Object defaultValue;//默认值

    public PropertyAggregation(String property, String alias, Aggregation agg) {
        this(property, alias, agg, null);
    }

    public Object getDefaultValue() {<FILL_FUNCTION_BODY>}

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

    public void validate() {
        ValidatorUtils.tryValidate(this);
    }
}

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