func (m *_UserLocationRedisMgr) LocationAdd(relation *UserLocation) error {
	return m.GeoAdd(context.TODO(), geoOfClass("UserLocation", "UserLocation", relation.Key), &redis.GeoLocation{
		Longitude: relation.Longitude,
		Latitude:  relation.Latitude,
		Name:      fmt.Sprint(relation.Value),
	}).Err()
}
! redis relation pair
package model
import (
	"context"
	"fmt"
	"strings"
	"time"
	"github.com/ezbuy/redis-orm/orm"
	"github.com/go-redis/redis/v8"
)
var (
	_ time.Time
	_ fmt.Formatter
	_ strings.Reader
	_ orm.VSet
)
type UserLocation struct {
	Key       string  `db:"key" json:"key"`
	Longitude float64 `db:"longitude" json:"longitude"`
	Latitude  float64 `db:"latitude" json:"latitude"`
	Value     int32   `db:"value" json:"value"`
}
func (relation *UserLocation) GetClassName() string {
	return "UserLocation"
}
func (relation *UserLocation) GetIndexes() []string {
	idx := []string{}
	return idx
}
func (relation *UserLocation) GetStoreType() string {
	return "geo"
}
type _UserLocationRedisMgr struct {
	*orm.RedisStore
}
func UserLocationRedisMgr(stores ...*orm.RedisStore) *_UserLocationRedisMgr {
	if len(stores) > 0 {
		return &_UserLocationRedisMgr{stores[0]}
	}
	return &_UserLocationRedisMgr{_redis_store}
}
func (m *_UserLocationRedisMgr) NewUserLocation(key string) *UserLocation {
	return &UserLocation{
		Key: key,
	}
}
type _UserLocationRedisPipeline struct {
	redis.Pipeliner
	Err error
}
func (m *_UserLocationRedisMgr) BeginPipeline(pipes ...redis.Pipeliner) *_UserLocationRedisPipeline {
	if len(pipes) > 0 {
		return &_UserLocationRedisPipeline{pipes[0], nil}
	}
	return &_UserLocationRedisPipeline{m.Pipeline(), nil}
}