// Code generated by ent, DO NOT EDIT.

package usagetotal

import (
	"time"
	"wechat-api/ent/predicate"

	"entgo.io/ent/dialect/sql"
)

// ID filters vertices based on their ID field.
func ID(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldID, id))
}

// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldID, id))
}

// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldID, id))
}

// IDIn applies the In predicate on the ID field.
func IDIn(ids ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldID, ids...))
}

// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldID, ids...))
}

// IDGT applies the GT predicate on the ID field.
func IDGT(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldID, id))
}

// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldID, id))
}

// IDLT applies the LT predicate on the ID field.
func IDLT(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldID, id))
}

// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldID, id))
}

// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func CreatedAt(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldCreatedAt, v))
}

// UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ.
func UpdatedAt(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldUpdatedAt, v))
}

// Status applies equality check predicate on the "status" field. It's identical to StatusEQ.
func Status(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldStatus, v))
}

// Type applies equality check predicate on the "type" field. It's identical to TypeEQ.
func Type(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldType, v))
}

// BotID applies equality check predicate on the "bot_id" field. It's identical to BotIDEQ.
func BotID(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldBotID, v))
}

// TotalTokens applies equality check predicate on the "total_tokens" field. It's identical to TotalTokensEQ.
func TotalTokens(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldTotalTokens, v))
}

// StartIndex applies equality check predicate on the "start_index" field. It's identical to StartIndexEQ.
func StartIndex(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldStartIndex, v))
}

// EndIndex applies equality check predicate on the "end_index" field. It's identical to EndIndexEQ.
func EndIndex(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldEndIndex, v))
}

// OrganizationID applies equality check predicate on the "organization_id" field. It's identical to OrganizationIDEQ.
func OrganizationID(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldOrganizationID, v))
}

// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func CreatedAtEQ(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldCreatedAt, v))
}

// CreatedAtNEQ applies the NEQ predicate on the "created_at" field.
func CreatedAtNEQ(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldCreatedAt, v))
}

// CreatedAtIn applies the In predicate on the "created_at" field.
func CreatedAtIn(vs ...time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldCreatedAt, vs...))
}

// CreatedAtNotIn applies the NotIn predicate on the "created_at" field.
func CreatedAtNotIn(vs ...time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldCreatedAt, vs...))
}

// CreatedAtGT applies the GT predicate on the "created_at" field.
func CreatedAtGT(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldCreatedAt, v))
}

// CreatedAtGTE applies the GTE predicate on the "created_at" field.
func CreatedAtGTE(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldCreatedAt, v))
}

// CreatedAtLT applies the LT predicate on the "created_at" field.
func CreatedAtLT(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldCreatedAt, v))
}

// CreatedAtLTE applies the LTE predicate on the "created_at" field.
func CreatedAtLTE(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldCreatedAt, v))
}

// UpdatedAtEQ applies the EQ predicate on the "updated_at" field.
func UpdatedAtEQ(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldUpdatedAt, v))
}

// UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field.
func UpdatedAtNEQ(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldUpdatedAt, v))
}

// UpdatedAtIn applies the In predicate on the "updated_at" field.
func UpdatedAtIn(vs ...time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldUpdatedAt, vs...))
}

// UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field.
func UpdatedAtNotIn(vs ...time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldUpdatedAt, vs...))
}

// UpdatedAtGT applies the GT predicate on the "updated_at" field.
func UpdatedAtGT(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldUpdatedAt, v))
}

// UpdatedAtGTE applies the GTE predicate on the "updated_at" field.
func UpdatedAtGTE(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldUpdatedAt, v))
}

// UpdatedAtLT applies the LT predicate on the "updated_at" field.
func UpdatedAtLT(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldUpdatedAt, v))
}

// UpdatedAtLTE applies the LTE predicate on the "updated_at" field.
func UpdatedAtLTE(v time.Time) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldUpdatedAt, v))
}

// StatusEQ applies the EQ predicate on the "status" field.
func StatusEQ(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldStatus, v))
}

// StatusNEQ applies the NEQ predicate on the "status" field.
func StatusNEQ(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldStatus, v))
}

// StatusIn applies the In predicate on the "status" field.
func StatusIn(vs ...uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldStatus, vs...))
}

// StatusNotIn applies the NotIn predicate on the "status" field.
func StatusNotIn(vs ...uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldStatus, vs...))
}

// StatusGT applies the GT predicate on the "status" field.
func StatusGT(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldStatus, v))
}

// StatusGTE applies the GTE predicate on the "status" field.
func StatusGTE(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldStatus, v))
}

// StatusLT applies the LT predicate on the "status" field.
func StatusLT(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldStatus, v))
}

// StatusLTE applies the LTE predicate on the "status" field.
func StatusLTE(v uint8) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldStatus, v))
}

// StatusIsNil applies the IsNil predicate on the "status" field.
func StatusIsNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIsNull(FieldStatus))
}

// StatusNotNil applies the NotNil predicate on the "status" field.
func StatusNotNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotNull(FieldStatus))
}

// TypeEQ applies the EQ predicate on the "type" field.
func TypeEQ(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldType, v))
}

// TypeNEQ applies the NEQ predicate on the "type" field.
func TypeNEQ(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldType, v))
}

// TypeIn applies the In predicate on the "type" field.
func TypeIn(vs ...int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldType, vs...))
}

// TypeNotIn applies the NotIn predicate on the "type" field.
func TypeNotIn(vs ...int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldType, vs...))
}

// TypeGT applies the GT predicate on the "type" field.
func TypeGT(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldType, v))
}

// TypeGTE applies the GTE predicate on the "type" field.
func TypeGTE(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldType, v))
}

// TypeLT applies the LT predicate on the "type" field.
func TypeLT(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldType, v))
}

// TypeLTE applies the LTE predicate on the "type" field.
func TypeLTE(v int) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldType, v))
}

// TypeIsNil applies the IsNil predicate on the "type" field.
func TypeIsNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIsNull(FieldType))
}

// TypeNotNil applies the NotNil predicate on the "type" field.
func TypeNotNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotNull(FieldType))
}

// BotIDEQ applies the EQ predicate on the "bot_id" field.
func BotIDEQ(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldBotID, v))
}

// BotIDNEQ applies the NEQ predicate on the "bot_id" field.
func BotIDNEQ(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldBotID, v))
}

// BotIDIn applies the In predicate on the "bot_id" field.
func BotIDIn(vs ...string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldBotID, vs...))
}

// BotIDNotIn applies the NotIn predicate on the "bot_id" field.
func BotIDNotIn(vs ...string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldBotID, vs...))
}

// BotIDGT applies the GT predicate on the "bot_id" field.
func BotIDGT(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldBotID, v))
}

// BotIDGTE applies the GTE predicate on the "bot_id" field.
func BotIDGTE(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldBotID, v))
}

// BotIDLT applies the LT predicate on the "bot_id" field.
func BotIDLT(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldBotID, v))
}

// BotIDLTE applies the LTE predicate on the "bot_id" field.
func BotIDLTE(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldBotID, v))
}

// BotIDContains applies the Contains predicate on the "bot_id" field.
func BotIDContains(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldContains(FieldBotID, v))
}

// BotIDHasPrefix applies the HasPrefix predicate on the "bot_id" field.
func BotIDHasPrefix(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldHasPrefix(FieldBotID, v))
}

// BotIDHasSuffix applies the HasSuffix predicate on the "bot_id" field.
func BotIDHasSuffix(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldHasSuffix(FieldBotID, v))
}

// BotIDEqualFold applies the EqualFold predicate on the "bot_id" field.
func BotIDEqualFold(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEqualFold(FieldBotID, v))
}

// BotIDContainsFold applies the ContainsFold predicate on the "bot_id" field.
func BotIDContainsFold(v string) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldContainsFold(FieldBotID, v))
}

// TotalTokensEQ applies the EQ predicate on the "total_tokens" field.
func TotalTokensEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldTotalTokens, v))
}

// TotalTokensNEQ applies the NEQ predicate on the "total_tokens" field.
func TotalTokensNEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldTotalTokens, v))
}

// TotalTokensIn applies the In predicate on the "total_tokens" field.
func TotalTokensIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldTotalTokens, vs...))
}

// TotalTokensNotIn applies the NotIn predicate on the "total_tokens" field.
func TotalTokensNotIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldTotalTokens, vs...))
}

// TotalTokensGT applies the GT predicate on the "total_tokens" field.
func TotalTokensGT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldTotalTokens, v))
}

// TotalTokensGTE applies the GTE predicate on the "total_tokens" field.
func TotalTokensGTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldTotalTokens, v))
}

// TotalTokensLT applies the LT predicate on the "total_tokens" field.
func TotalTokensLT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldTotalTokens, v))
}

// TotalTokensLTE applies the LTE predicate on the "total_tokens" field.
func TotalTokensLTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldTotalTokens, v))
}

// TotalTokensIsNil applies the IsNil predicate on the "total_tokens" field.
func TotalTokensIsNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIsNull(FieldTotalTokens))
}

// TotalTokensNotNil applies the NotNil predicate on the "total_tokens" field.
func TotalTokensNotNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotNull(FieldTotalTokens))
}

// StartIndexEQ applies the EQ predicate on the "start_index" field.
func StartIndexEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldStartIndex, v))
}

// StartIndexNEQ applies the NEQ predicate on the "start_index" field.
func StartIndexNEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldStartIndex, v))
}

// StartIndexIn applies the In predicate on the "start_index" field.
func StartIndexIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldStartIndex, vs...))
}

// StartIndexNotIn applies the NotIn predicate on the "start_index" field.
func StartIndexNotIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldStartIndex, vs...))
}

// StartIndexGT applies the GT predicate on the "start_index" field.
func StartIndexGT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldStartIndex, v))
}

// StartIndexGTE applies the GTE predicate on the "start_index" field.
func StartIndexGTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldStartIndex, v))
}

// StartIndexLT applies the LT predicate on the "start_index" field.
func StartIndexLT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldStartIndex, v))
}

// StartIndexLTE applies the LTE predicate on the "start_index" field.
func StartIndexLTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldStartIndex, v))
}

// StartIndexIsNil applies the IsNil predicate on the "start_index" field.
func StartIndexIsNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIsNull(FieldStartIndex))
}

// StartIndexNotNil applies the NotNil predicate on the "start_index" field.
func StartIndexNotNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotNull(FieldStartIndex))
}

// EndIndexEQ applies the EQ predicate on the "end_index" field.
func EndIndexEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldEndIndex, v))
}

// EndIndexNEQ applies the NEQ predicate on the "end_index" field.
func EndIndexNEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldEndIndex, v))
}

// EndIndexIn applies the In predicate on the "end_index" field.
func EndIndexIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldEndIndex, vs...))
}

// EndIndexNotIn applies the NotIn predicate on the "end_index" field.
func EndIndexNotIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldEndIndex, vs...))
}

// EndIndexGT applies the GT predicate on the "end_index" field.
func EndIndexGT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldEndIndex, v))
}

// EndIndexGTE applies the GTE predicate on the "end_index" field.
func EndIndexGTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldEndIndex, v))
}

// EndIndexLT applies the LT predicate on the "end_index" field.
func EndIndexLT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldEndIndex, v))
}

// EndIndexLTE applies the LTE predicate on the "end_index" field.
func EndIndexLTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldEndIndex, v))
}

// EndIndexIsNil applies the IsNil predicate on the "end_index" field.
func EndIndexIsNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIsNull(FieldEndIndex))
}

// EndIndexNotNil applies the NotNil predicate on the "end_index" field.
func EndIndexNotNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotNull(FieldEndIndex))
}

// OrganizationIDEQ applies the EQ predicate on the "organization_id" field.
func OrganizationIDEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldEQ(FieldOrganizationID, v))
}

// OrganizationIDNEQ applies the NEQ predicate on the "organization_id" field.
func OrganizationIDNEQ(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNEQ(FieldOrganizationID, v))
}

// OrganizationIDIn applies the In predicate on the "organization_id" field.
func OrganizationIDIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIn(FieldOrganizationID, vs...))
}

// OrganizationIDNotIn applies the NotIn predicate on the "organization_id" field.
func OrganizationIDNotIn(vs ...uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotIn(FieldOrganizationID, vs...))
}

// OrganizationIDGT applies the GT predicate on the "organization_id" field.
func OrganizationIDGT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGT(FieldOrganizationID, v))
}

// OrganizationIDGTE applies the GTE predicate on the "organization_id" field.
func OrganizationIDGTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldGTE(FieldOrganizationID, v))
}

// OrganizationIDLT applies the LT predicate on the "organization_id" field.
func OrganizationIDLT(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLT(FieldOrganizationID, v))
}

// OrganizationIDLTE applies the LTE predicate on the "organization_id" field.
func OrganizationIDLTE(v uint64) predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldLTE(FieldOrganizationID, v))
}

// OrganizationIDIsNil applies the IsNil predicate on the "organization_id" field.
func OrganizationIDIsNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldIsNull(FieldOrganizationID))
}

// OrganizationIDNotNil applies the NotNil predicate on the "organization_id" field.
func OrganizationIDNotNil() predicate.UsageTotal {
	return predicate.UsageTotal(sql.FieldNotNull(FieldOrganizationID))
}

// And groups predicates with the AND operator between them.
func And(predicates ...predicate.UsageTotal) predicate.UsageTotal {
	return predicate.UsageTotal(sql.AndPredicates(predicates...))
}

// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.UsageTotal) predicate.UsageTotal {
	return predicate.UsageTotal(sql.OrPredicates(predicates...))
}

// Not applies the not operator on the given predicate.
func Not(p predicate.UsageTotal) predicate.UsageTotal {
	return predicate.UsageTotal(sql.NotPredicates(p))
}