func()

in client/client.go [659:733]


func (client *Client) BuildHaSearchQuery(haquery *HaQuery) (_result *string, _err error) {
	if tea.BoolValue(util.IsUnset(haquery.Query)) {
		_err = tea.NewSDKError(map[string]interface{}{
			"name":    "ParameterMissing",
			"message": "'HaQuery.query' can not be unset",
		})
		return _result, _err
	}

	tempString := tea.String("query=" + tea.StringValue(haquery.Query))
	configStr, _err := client.BuildHaQueryconfigClauseStr(haquery.Config)
	if _err != nil {
		return _result, _err
	}
	tempString = tea.String(tea.StringValue(tempString) + "&&cluster=" + tea.StringValue(util.DefaultString(haquery.Cluster, tea.String("general"))))
	tempString = tea.String(tea.StringValue(tempString) + "&&config=" + tea.StringValue(configStr))
	if !tea.BoolValue(util.IsUnset(haquery.Filter)) {
		filterStr := haquery.Filter
		if !tea.BoolValue(util.Empty(filterStr)) {
			fieldValueTrimed := string_.Trim(filterStr)
			tempString = tea.String(tea.StringValue(tempString) + "&&filter=" + tea.StringValue(fieldValueTrimed))
		}

	}

	if !tea.BoolValue(util.IsUnset(haquery.CustomQuery)) {
		for _, keyField := range map_.KeySet(haquery.CustomQuery) {
			fieldValue := haquery.CustomQuery[tea.StringValue(keyField)]
			if !tea.BoolValue(util.Empty(fieldValue)) {
				fieldValueTrimed := string_.Trim(fieldValue)
				keyFieldTrimed := string_.Trim(keyField)
				tempString = tea.String(tea.StringValue(tempString) + "&&" + tea.StringValue(keyFieldTrimed) + "=" + tea.StringValue(fieldValueTrimed))
			}

		}
	}

	if !tea.BoolValue(util.IsUnset(haquery.Sort)) {
		sortStr := client.BuildHaQuerySortClauseStr(haquery.Sort)
		if !tea.BoolValue(util.Empty(sortStr)) {
			tempString = tea.String(tea.StringValue(tempString) + "&&sort=" + tea.StringValue(sortStr))
		}

	}

	if !tea.BoolValue(util.IsUnset(haquery.Aggregate)) {
		aggregateClauseStr, _err := client.BuildHaQueryAggregateClauseStr(haquery.Aggregate)
		if _err != nil {
			return _result, _err
		}
		if !tea.BoolValue(util.Empty(aggregateClauseStr)) {
			tempString = tea.String(tea.StringValue(tempString) + "&&aggregate=" + tea.StringValue(aggregateClauseStr))
		}

	}

	if !tea.BoolValue(util.IsUnset(haquery.Distinct)) {
		distinctClauseStr, _err := client.BuildHaQueryDistinctClauseStr(haquery.Distinct)
		if _err != nil {
			return _result, _err
		}
		if !tea.BoolValue(util.Empty(distinctClauseStr)) {
			tempString = tea.String(tea.StringValue(tempString) + "&&distinct=" + tea.StringValue(distinctClauseStr))
		}

	}

	kvpairs := client.BuildSearcKvPairClauseStr(haquery.Kvpairs)
	if !tea.BoolValue(util.Empty(kvpairs)) {
		tempString = tea.String(tea.StringValue(tempString) + "&&kvpairs=" + tea.StringValue(kvpairs))
	}

	_result = tempString
	return _result, _err
}