gtdb

package
v0.0.0-...-ffd6ca6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2018 License: Apache-2.0 Imports: 8 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	Account   string    `redis:"account" json:"account" gorm:"primary_key"`
	Password  string    `redis:"password" json:"-" gorm:"not null"`
	Email     string    `redis:"email" json:"email"`
	Mobile    string    `redis:"mobile" json:"mobile"`
	Salt      string    `redis:"salt" json:"-" gorm:"type:varchar(6);not null;default:''"`
	Regip     string    `redis:"regip" json:"regip"`
	Isbaned   bool      `redis:"isbaned" json:"isbaned" gorm:"tinyint(1);default:0"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	Apps []App `json:"-" gorm:"foreignkey:Owner;association_foreignkey:Account"`
}

func (*Account) BeforeDelete

func (acc *Account) BeforeDelete(tx *gorm.DB) error

type AccountAdminApp

type AccountAdminApp struct {
	Account string `redis:"account" json:"account"`
	Appname string `redis:"appname" json:"appname"`
}

type AccountApp

type AccountApp struct {
	Account string `redis:"account" json:"account"`
	Appname string `redis:"appname" json:"appname"`
}

AccountApp 账号所登录过的APP记录

type AccountBaned

type AccountBaned struct {
	Account   string    `redis:"account" json:"account" gorm:"unique;not null"`
	Why       string    `redis:"why" json:"why"`
	Dateline  time.Time `redis:"dateline" json:"dateline"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`
}

type AccountFilter

type AccountFilter struct {
	Account         string
	Email           string
	Regip           string
	Createbegindate *time.Time
	Createenddate   *time.Time
}

type AccountZone

type AccountZone struct {
	Account  string `redis:"account" json:"account"`
	Appname  string `redis:"appname" json:"appname"`
	Zonename string `redis:"zonename" json:"zonename"`
}

AccountZone 账号所登录过的app区记录

type Admin

type Admin struct {
	Account      string `redis:"account" json:"account" gorm:"primary_key"`
	Adminadmin   bool   `redis:"adminadmin" json:"adminadmin" gorm:"tinyint(1);default:0"`
	Adminaccount bool   `redis:"adminaccount" json:"adminaccount" gorm:"tinyint(1);default:0"`
	Adminapp     bool   `redis:"adminapp" json:"adminapp" gorm:"tinyint(1);default:0"`
	Adminappdata bool   `redis:"adminappdata" json:"adminappdata" gorm:"tinyint(1);default:0"`
	Adminonline  bool   `redis:"adminonline" json:"adminonline" gorm:"tinyint(1);default:0"`
	Adminmessage bool   `redis:"adminmessage" json:"adminmessage" gorm:"tinyint(1);default:0"`
	Adminjinyan  bool   `redis:"adminjinyan" json:"adminjinyan" gorm:"tinyint(1);default:0"`
	Adminbaned   bool   `redis:"adminbaned" json:"adminbaned" gorm:"tinyint(1);default:0"`
	//Appcount     uint32    `redis:"appcount" json:"appcount" gorm:"default:0"`
	Expire    time.Time `redis:"expire" json:"expire" gorm:"type:datetime"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	AdminApps []AdminApp `json:"-" gorm:"foreignkey:Adminaccount;association_foreignkey:Account"`
}

type AdminApp

type AdminApp struct {
	Adminaccount string `redis:"adminaccount" json:"adminaccount"`
	Appname      string `redis:"appname" json:"appname"`
}

type AdminFilter

type AdminFilter struct {
	Account      string
	Adminadmin   bool
	Adminaccount bool
	Adminapp     bool
	Adminappdata bool
	Adminonline  bool
	Adminmessage bool
	Expire       *time.Time
}

type App

type App struct {
	ID      uint64 `redis:"id" json:"id" gorm:"primary_key;AUTO_INCREMENT"`
	Appname string `redis:"appname" json:"appname" gorm:"primary_key"`
	Owner   string `redis:"owner" json:"owner"`
	Desc    string `redis:"desc" json:"desc"`
	Share   string `redis:"share" json:"share"`
	//Channelmax uint8     `redis:"channelmax" json:"channelmax"`
	//Friendmax  uint8     `redis:"friendmax" json:"friendmax"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	AppZones  []AppZone  `json:"-" gorm:"foreignkey:Owner;association_foreignkey:Appname"`
	AppShares []AppShare `json:"-" gorm:"foreignkey:Appname;association_foreignkey:Appname"`
	AppDatas  []AppData  `json:"-" gorm:"foreignkey:Appname;association_foreignkey:Appname"`
}

func (*App) AfterDelete

func (app *App) AfterDelete(tx *gorm.DB) error

func (*App) BeforeDelete

func (app *App) BeforeDelete(tx *gorm.DB) error

type AppBaned

type AppBaned struct {
	Appname   string    `redis:"appname" json:"appname" gorm:"unique;not null"`
	Why       string    `redis:"why" json:"why"`
	Dateline  time.Time `redis:"dateline" json:"dateline"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`
}

type AppChatChannel

type AppChatChannel struct {
	Appname     string `redis:"appname" json:"appname"`
	Channelname string `redis:"channelname" json:"channelname"`
}

type AppData

type AppData struct {
	ID        uint64    `redis:"id" json:"id,string" gorm:"primary_key;AUTO_INCREMENT"`
	Account   string    `redis:"account" json:"account"`
	Appname   string    `redis:"appname" json:"appname"`
	Zonename  string    `redis:"zonename" json:"zonename"`
	Nickname  string    `redis:"nickname" json:"nickname"`
	Desc      string    `redis:"desc" json:"desc"`
	Sex       string    `redis:"sex" json:"sex"`
	Birthday  time.Time `redis:"birthday" json:"birthday"`
	Country   string    `redis:"country" json:"country"`
	Isbaned   bool      `redis:"isbaned" json:"isbaned" gorm:"tinyint(1);default:0"`
	Isjinyan  bool      `redis:"isjinyan" json:"isjinyan" gorm:"tinyint(1);default:0"`
	Regip     string    `redis:"regip" json:"regip"`
	Lastip    string    `redis:"lastip" json:"lastip"`
	Lastlogin time.Time `redis:"lastlogin" json:"lastlogin"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	Onlines []Online `json:"-" gorm:"foreignkey:Dataid;association_foreignkey:ID"`
	Friends []Friend `json:"-" gorm:"foreignkey:Dataid;association_foreignkey:ID"`
	Blacks  []Black  `json:"-" gorm:"foreignkey:Dataid;association_foreignkey:ID"`
	Groups  []Group  `json:"-" gorm:"foreignkey:Dataid;association_foreignkey:ID"`
}

func (*AppData) BeforeDelete

func (appdata *AppData) BeforeDelete(tx *gorm.DB) error

type AppDataBaned

type AppDataBaned struct {
	Dataid    uint64    `redis:"dataid" json:"dataid,string" gorm:"unique;not null"`
	Why       string    `redis:"why" json:"why"`
	Dateline  time.Time `redis:"dateline" json:"dateline"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	//other info, for join
	AppDataPublic
}

type AppDataBanedFilter

type AppDataBanedFilter struct {
	Account  string
	Appname  string
	Zonename string
	Nickname string

	Startdateline *time.Time
	Enddateline   *time.Time

	Banedbegindate *time.Time
	Banedenddate   *time.Time
}

type AppDataFilter

type AppDataFilter struct {
	//Account            string
	Nickname           string
	Desc               string
	Sex                string
	Country            string
	Regip              string
	Lastip             string
	Birthdaybegindate  *time.Time
	Birthdayenddate    *time.Time
	Lastloginbegindate *time.Time
	Lastloginenddate   *time.Time
	Createbegindate    *time.Time
	Createenddate      *time.Time
}

type AppDataFlagPublic

type AppDataFlagPublic struct {
	Isbaned  bool `redis:"isbaned" json:"isbaned" gorm:"-"`
	Isjinyan bool `redis:"isjinyan" json:"isjinyan" gorm:"-"`
	Isonline bool `redis:"isonline" json:"isonline" gorm:"-"`
}

type AppDataJinyan

type AppDataJinyan struct {
	Dataid    uint64    `redis:"dataid" json:"dataid,string" gorm:"unique;not null"`
	Why       string    `redis:"why" json:"why"`
	Dateline  time.Time `redis:"dateline" json:"dateline"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	//other info, for join
	AppDataPublic
}

type AppDataJinyanFilter

type AppDataJinyanFilter struct {
	Account  string
	Appname  string
	Zonename string
	Nickname string

	Startdateline *time.Time
	Enddateline   *time.Time

	Jinyanbegindate *time.Time
	Jinyanenddate   *time.Time
}

type AppDataJson

type AppDataJson struct {
	Nickname string    `json:"nickname"`
	Desc     string    `json:"desc"`
	Sex      string    `json:"sex"`
	Birthday time.Time `json:"birthday"`
	Country  string    `json:"country"`
}

type AppDataPublic

type AppDataPublic struct {
	Account  string    `redis:"account" json:"account" gorm:"-"`
	Appname  string    `redis:"appname" json:"appname" gorm:"-"`
	Zonename string    `redis:"zonename" json:"zonename" gorm:"-"`
	Nickname string    `redis:"nickname" json:"nickname" gorm:"-"`
	Desc     string    `redis:"desc" json:"desc" gorm:"-"`
	Sex      string    `redis:"sex" json:"sex" gorm:"-"`
	Birthday time.Time `redis:"birthday" json:"birthday" gorm:"-"`
	Country  string    `redis:"country" json:"country" gorm:"-"`
}

对外可见的数据,用于join查询。需要这些数据的结构需要组合该结构

type AppDataPublicWithID

type AppDataPublicWithID struct {
	ID       uint64    `redis:"id" json:"id,string" gorm:"-"`
	Account  string    `redis:"account" json:"account" gorm:"-"`
	Appname  string    `redis:"appname" json:"appname" gorm:"-"`
	Zonename string    `redis:"zonename" json:"zonename" gorm:"-"`
	Nickname string    `redis:"nickname" json:"nickname" gorm:"-"`
	Desc     string    `redis:"desc" json:"desc" gorm:"-"`
	Sex      string    `redis:"sex" json:"sex" gorm:"-"`
	Birthday time.Time `redis:"birthday" json:"birthday" gorm:"-"`
	Country  string    `redis:"country" json:"country" gorm:"-"`
}

type AppFilter

type AppFilter struct {
	Appname         string
	Desc            string
	Share           string
	Createbegindate *time.Time
	Createenddate   *time.Time
}

type AppShare

type AppShare struct {
	Appname   string `redis:"appname" json:"appname"`
	Othername string `redis:"othername" json:"othername"`
}

type AppZone

type AppZone struct {
	Zonename string `redis:"zonename" json:"zonename"`
	Owner    string `redis:"owner" json:"owner"`
}

func (*AppZone) BeforeDelete

func (appzone *AppZone) BeforeDelete(tx *gorm.DB) error

type Black

type Black struct {
	Dataid      uint64 `redis:"dataid" json:"dataid,string"`
	Otherdataid uint64 `redis:"otherdataid" json:"otherdataid"`
	// Account      string    `redis:"account" json:"account"`
	// Otheraccount string    `redis:"otheraccount" json:"otheraccount"`
	// Appname      string    `redis:"appname" json:"appname"`
	// Zonename     string    `redis:"zonename" json:"zonename"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`
}

type DBManager

type DBManager struct {
	// contains filtered or unexported fields
}

func Manager

func Manager() *DBManager

func (*DBManager) AddAppZone

func (db *DBManager) AddAppZone(tbl_appzone *AppZone) error

func (*DBManager) AddBlack

func (db *DBManager) AddBlack(tbl_black *Black) error

func (*DBManager) AddFriend

func (db *DBManager) AddFriend(tbl_from, tbl_to *Friend) error

func (*DBManager) AddGroup

func (db *DBManager) AddGroup(tbl_group *Group) error

func (*DBManager) AddPresence

func (db *DBManager) AddPresence(from, to uint64, msg []byte) error

func (*DBManager) AddRoomAdmin

func (db *DBManager) AddRoomAdmin(rid, appdataid uint64) error

func (*DBManager) AddRoomPresence

func (db *DBManager) AddRoomPresence(rid, appdataid uint64, msg []byte) error

func (*DBManager) AddRoomUser

func (db *DBManager) AddRoomUser(tbl_roomuser *RoomUser) error

room user op

func (*DBManager) BanAccount

func (db *DBManager) BanAccount(account string) error

func (*DBManager) BanAccounts

func (db *DBManager) BanAccounts(accounts []string) error

func (*DBManager) BanAppData

func (db *DBManager) BanAppData(tbl_appdatabaned *AppDataBaned) error

func (*DBManager) BanAppDatas

func (db *DBManager) BanAppDatas(ids []uint64, tbl_appdatabaned *AppDataBaned) error

func (*DBManager) CheckServerTTL

func (db *DBManager) CheckServerTTL() error

func (*DBManager) ClearOnlineInfo

func (db *DBManager) ClearOnlineInfo(serveraddr string) error

func (*DBManager) CreateAccount

func (db *DBManager) CreateAccount(tbl_account *Account) error

每个app之间可以是独立的数据,也可以共享数据,根据你的设置

func (*DBManager) CreateAdmin

func (db *DBManager) CreateAdmin(tbl_admin *Admin) error

func (*DBManager) CreateApp

func (db *DBManager) CreateApp(tbl_app *App) error

app op

func (*DBManager) CreateAppData

func (db *DBManager) CreateAppData(tbl_appdata *AppData) error

func (*DBManager) CreateRoom

func (db *DBManager) CreateRoom(tbl_room *Room) error

room op

func (*DBManager) CreateTestAppData

func (db *DBManager) CreateTestAppData(tx *gorm.DB, tbl_appdata *AppData) error

func (*DBManager) CreateTestData

func (db *DBManager) CreateTestData(tx *gorm.DB) error

func (*DBManager) DelAdmin

func (db *DBManager) DelAdmin(account string) error

func (*DBManager) DelAdmins

func (db *DBManager) DelAdmins(accounts []string) error

func (*DBManager) DeleteAccount

func (db *DBManager) DeleteAccount(account string) error

func (*DBManager) DeleteAccounts

func (db *DBManager) DeleteAccounts(accounts []string) error

func (*DBManager) DeleteApp

func (db *DBManager) DeleteApp(appname string) error

func (*DBManager) DeleteAppData

func (db *DBManager) DeleteAppData(id uint64) error

func (*DBManager) DeleteAppDatas

func (db *DBManager) DeleteAppDatas(ids []uint64) error

func (*DBManager) DeleteApps

func (db *DBManager) DeleteApps(appnames []string) error

func (*DBManager) DeleteRoom

func (db *DBManager) DeleteRoom(rid uint64) error

func (*DBManager) GetAccount

func (db *DBManager) GetAccount(account string) (*Account, error)

func (*DBManager) GetAccountAppList

func (db *DBManager) GetAccountAppList(account string) ([]*AccountApp, error)

func (*DBManager) GetAccountCount

func (db *DBManager) GetAccountCount(args ...*AccountFilter) (uint64, error)

func (*DBManager) GetAccountList

func (db *DBManager) GetAccountList(offset, count int, args ...*AccountFilter) ([]*Account, error)

func (*DBManager) GetAccountZoneList

func (db *DBManager) GetAccountZoneList(account, appname string) ([]*AccountZone, error)

func (*DBManager) GetAdmin

func (db *DBManager) GetAdmin(account string) (*Admin, error)

func (*DBManager) GetAdminCount

func (db *DBManager) GetAdminCount(args ...*AdminFilter) (uint64, error)

func (*DBManager) GetAdminList

func (db *DBManager) GetAdminList(offset, count int, args ...*AdminFilter) ([]*Admin, error)

func (*DBManager) GetAllFriendInfoList

func (db *DBManager) GetAllFriendInfoList(id uint64) ([]*FriendJson, error)

func (*DBManager) GetAllPresence

func (db *DBManager) GetAllPresence(id uint64) (map[string]string, error)

func (*DBManager) GetAllRoomPresence

func (db *DBManager) GetAllRoomPresence(rid uint64) (map[string]string, error)

func (*DBManager) GetApp

func (db *DBManager) GetApp(appname string) (*App, error)

func (*DBManager) GetAppCount

func (db *DBManager) GetAppCount(args ...*AppFilter) (uint64, error)

func (*DBManager) GetAppCountByAccount

func (db *DBManager) GetAppCountByAccount(account string, args ...*AppFilter) (uint64, error)

func (*DBManager) GetAppData

func (db *DBManager) GetAppData(id uint64) (*AppData, error)

func (*DBManager) GetAppDataCount

func (db *DBManager) GetAppDataCount(appname, zonename, account string, args ...*AppDataFilter) (uint64, error)

func (*DBManager) GetAppDataIdList

func (db *DBManager) GetAppDataIdList(appname, zonename, account string) ([]uint64, error)

func (*DBManager) GetAppDataJinyan

func (db *DBManager) GetAppDataJinyan(id uint64) (*AppDataJinyan, error)

func (*DBManager) GetAppDataJinyanCount

func (db *DBManager) GetAppDataJinyanCount(appname, zonename string, args ...*AppDataJinyanFilter) (uint64, error)

func (*DBManager) GetAppDataJinyanList

func (db *DBManager) GetAppDataJinyanList(appname, zonename string, offset, count int, args ...*AppDataJinyanFilter) ([]*AppDataJinyan, error)

func (*DBManager) GetAppDataList

func (db *DBManager) GetAppDataList(appname, zonename, account string, offset, count int, args ...*AppDataFilter) ([]*AppData, error)

获取我创建的应用和分区所有的账号数据列表

func (*DBManager) GetAppField

func (db *DBManager) GetAppField(appname, fieldname string) (*App, error)

func (*DBManager) GetAppList

func (db *DBManager) GetAppList(offset, count int, args ...*AppFilter) ([]*App, error)

func (*DBManager) GetAppListByAccount

func (db *DBManager) GetAppListByAccount(account string, offset, count int, args ...*AppFilter) ([]*App, error)

func (*DBManager) GetAppOwner

func (db *DBManager) GetAppOwner(appname string) (string, error)

func (*DBManager) GetAppZoneList

func (db *DBManager) GetAppZoneList(appname string) ([]*AppZone, error)

func (*DBManager) GetBanedAppData

func (db *DBManager) GetBanedAppData(id uint64) (*AppDataBaned, error)

func (*DBManager) GetBanedAppDataCount

func (db *DBManager) GetBanedAppDataCount(appname, zonename string, args ...*AppDataBanedFilter) (uint64, error)

func (*DBManager) GetBanedAppDataList

func (db *DBManager) GetBanedAppDataList(appname, zonename string, offset, count int, args ...*AppDataBanedFilter) ([]*AppDataBaned, error)

func (*DBManager) GetBlackInfoList

func (db *DBManager) GetBlackInfoList(id uint64) ([]*FriendJson, error)

func (*DBManager) GetFriend

func (db *DBManager) GetFriend(id, otherid uint64) (*Friend, error)

func (*DBManager) GetFriendCountInGroup

func (db *DBManager) GetFriendCountInGroup(id uint64, groupname string) (int, error)

func (*DBManager) GetFriendIdList

func (db *DBManager) GetFriendIdList(id uint64) ([]uint64, error)

func (*DBManager) GetFriendInfoList

func (db *DBManager) GetFriendInfoList(id uint64, groupname string) ([]*FriendJson, error)

func (*DBManager) GetFriendList

func (db *DBManager) GetFriendList(id uint64, offset, count int) ([]*Friend, error)

func (*DBManager) GetFriendListByGroup

func (db *DBManager) GetFriendListByGroup(id uint64, groupname string) ([]*Friend, error)

func (*DBManager) GetFriendOnlineList

func (db *DBManager) GetFriendOnlineList(id uint64) ([]*Online, error)

func (*DBManager) GetGroupList

func (db *DBManager) GetGroupList(id uint64) ([]string, error)

func (*DBManager) GetMyAppDataCount

func (db *DBManager) GetMyAppDataCount(appname, zonename, account string, args ...*AppDataFilter) (uint64, error)

func (*DBManager) GetMyAppDataList

func (db *DBManager) GetMyAppDataList(appname, zonename, account string, offset, count int, args ...*AppDataFilter) ([]*AppData, error)

获取我在该应用和分区创建的账号数据列表

func (*DBManager) GetOfflineFriendIdList

func (db *DBManager) GetOfflineFriendIdList(id uint64) ([]uint64, error)

func (*DBManager) GetOfflineMessage

func (db *DBManager) GetOfflineMessage(id uint64) ([][]byte, error)

func (*DBManager) GetOnline

func (db *DBManager) GetOnline(id uint64) (*Online, error)

func (*DBManager) GetOnlineCount

func (db *DBManager) GetOnlineCount(appname, zonename string, args ...*OnlineFilter) (uint64, error)

func (*DBManager) GetOnlineFriendIdList

func (db *DBManager) GetOnlineFriendIdList(id uint64) ([]uint64, error)

func (*DBManager) GetOnlineList

func (db *DBManager) GetOnlineList(appname, zonename string, offset, count int, args ...*OnlineFilter) ([]*Online, error)

func (*DBManager) GetRoom

func (db *DBManager) GetRoom(rid uint64) (*Room, error)

func (*DBManager) GetRoomAdminIds

func (db *DBManager) GetRoomAdminIds(rid uint64) ([]*RoomUser, error)

func (*DBManager) GetRoomCountByJoined

func (db *DBManager) GetRoomCountByJoined(appdataid uint64) (uint64, error)

func (*DBManager) GetRoomCountByOwner

func (db *DBManager) GetRoomCountByOwner(appdataid uint64) (uint64, error)

func (*DBManager) GetRoomJieshao

func (db *DBManager) GetRoomJieshao(rid uint64) (string, error)

func (*DBManager) GetRoomListByJoined

func (db *DBManager) GetRoomListByJoined(appdataid uint64) ([]*Room, error)

func (*DBManager) GetRoomListByOwner

func (db *DBManager) GetRoomListByOwner(appdataid uint64) ([]*Room, error)

func (*DBManager) GetRoomMaxUser

func (db *DBManager) GetRoomMaxUser(rid uint64) (uint16, error)

func (*DBManager) GetRoomMsgSetting

func (db *DBManager) GetRoomMsgSetting(rid, appdataid uint64) (byte, error)

func (*DBManager) GetRoomName

func (db *DBManager) GetRoomName(rid uint64) (string, error)

func (*DBManager) GetRoomNotice

func (db *DBManager) GetRoomNotice(rid uint64) (string, error)

func (*DBManager) GetRoomPassword

func (db *DBManager) GetRoomPassword(rid uint64) (string, error)

func (*DBManager) GetRoomType

func (db *DBManager) GetRoomType(rid uint64) (byte, error)

func (*DBManager) GetRoomUser

func (db *DBManager) GetRoomUser(rid, appdataid uint64) (*RoomUser, error)

func (*DBManager) GetRoomUserCount

func (db *DBManager) GetRoomUserCount(rid uint64) (uint16, error)

func (*DBManager) GetRoomUserIds

func (db *DBManager) GetRoomUserIds(rid uint64) ([]*RoomUser, error)

func (*DBManager) GetRoomUserList

func (db *DBManager) GetRoomUserList(rid uint64) ([]*RoomUser, error)

func (*DBManager) GetRoomUserOnlineIds

func (db *DBManager) GetRoomUserOnlineIds(rid uint64) ([]uint64, error)

func (*DBManager) GetServerCount

func (db *DBManager) GetServerCount() (int, error)

func (*DBManager) GetServerList

func (db *DBManager) GetServerList() ([]string, error)

func (*DBManager) GetShareApp

func (db *DBManager) GetShareApp(appname string) (string, error)

func (*DBManager) GetShareAppList

func (db *DBManager) GetShareAppList(appname string) ([]string, error)

func (*DBManager) GetUserOnline

func (db *DBManager) GetUserOnline(offset, count int) ([]*Online, error)

func (*DBManager) GetUserOnlineAddrList

func (db *DBManager) GetUserOnlineAddrList(id uint64) ([]string, error)

func (*DBManager) GetUserOnlineByAppname

func (db *DBManager) GetUserOnlineByAppname(appname string, offset, count int) ([]*Online, error)

func (*DBManager) GetUserOnlineByAppnameZonename

func (db *DBManager) GetUserOnlineByAppnameZonename(appname, zonename string, offset, count int) ([]*Online, error)

func (*DBManager) GetUserOnlineByZonename

func (db *DBManager) GetUserOnlineByZonename(zonename string, offset, count int) ([]*Online, error)

func (*DBManager) GetUserOnlineInfoList

func (db *DBManager) GetUserOnlineInfoList(id uint64) ([]*Online, error)

多端登录的时候,会有多条online信息,因为每个端会可能会连接到不同的服务器

func (*DBManager) IncrByServerClientCount

func (db *DBManager) IncrByServerClientCount(addr string, count int) error

func (*DBManager) Initialize

func (db *DBManager) Initialize(configjson string) error

func (*DBManager) Install

func (db *DBManager) Install() error

func (*DBManager) IsAccountExists

func (db *DBManager) IsAccountExists(account string) (bool, error)

func (*DBManager) IsAdmin

func (db *DBManager) IsAdmin(account string) (bool, error)

func (*DBManager) IsAppDataExists

func (db *DBManager) IsAppDataExists(id uint64) (bool, error)

func (*DBManager) IsAppExists

func (db *DBManager) IsAppExists(appname string) (bool, error)

func (*DBManager) IsAppZoneExists

func (db *DBManager) IsAppZoneExists(appname, zonename string) (bool, error)

func (*DBManager) IsFriend

func (db *DBManager) IsFriend(id, otherid uint64) (bool, error)

func (*DBManager) IsGroupExists

func (db *DBManager) IsGroupExists(id uint64, groupname string) (bool, error)

func (*DBManager) IsInBlack

func (db *DBManager) IsInBlack(id, otherid uint64) (bool, error)

func (*DBManager) IsInGroup

func (db *DBManager) IsInGroup(id, otherid uint64, groupname string) (bool, error)

func (*DBManager) IsNicknameExists

func (db *DBManager) IsNicknameExists(appname, zonename, account, nickname string) (bool, error)

func (*DBManager) IsPresenceExists

func (db *DBManager) IsPresenceExists(id, from uint64) (bool, error)

func (*DBManager) IsRoomAdmin

func (db *DBManager) IsRoomAdmin(rid, appdataid uint64) (bool, error)

func (*DBManager) IsRoomExists

func (db *DBManager) IsRoomExists(rid uint64) (bool, error)

func (*DBManager) IsRoomOwner

func (db *DBManager) IsRoomOwner(rid, appdataid uint64) (bool, error)

func (*DBManager) IsRoomPresenceExists

func (db *DBManager) IsRoomPresenceExists(rid, appdataid uint64) (bool, error)

func (*DBManager) IsRoomUser

func (db *DBManager) IsRoomUser(rid, appdataid uint64) (bool, error)

func (*DBManager) IsShareWithOtherApp

func (db *DBManager) IsShareWithOtherApp(appname string) (bool, error)

func (*DBManager) IsUserOnline

func (db *DBManager) IsUserOnline(id uint64) (bool, error)

func (*DBManager) JinyanAppData

func (db *DBManager) JinyanAppData(tbl_appdatajinyan *AppDataJinyan) error

func (*DBManager) JinyanAppDatas

func (db *DBManager) JinyanAppDatas(ids []uint64, tbl_appdatajinyan *AppDataJinyan) error

func (*DBManager) JinyanRoomUser

func (db *DBManager) JinyanRoomUser(rid, appdataid uint64) error

func (*DBManager) MoveToGroup

func (db *DBManager) MoveToGroup(id, otherid uint64, destgroup string) error

func (*DBManager) PullOnlineMessage

func (db *DBManager) PullOnlineMessage(serveraddr string) ([]byte, error)

func (*DBManager) RegisterServer

func (db *DBManager) RegisterServer(addr string) error

server op

func (*DBManager) RemoveAppZone

func (db *DBManager) RemoveAppZone(appname, zonename string) error

func (*DBManager) RemoveAppZones

func (db *DBManager) RemoveAppZones(appname string, zonenames []string) error

func (*DBManager) RemoveFriend

func (db *DBManager) RemoveFriend(id, otherid uint64) error

func (*DBManager) RemoveFromBlack

func (db *DBManager) RemoveFromBlack(id, otherid uint64) error

func (*DBManager) RemoveGroup

func (db *DBManager) RemoveGroup(id uint64, groupname string) error

func (*DBManager) RemovePresence

func (db *DBManager) RemovePresence(id, from uint64) error

func (*DBManager) RemoveRoomAdmin

func (db *DBManager) RemoveRoomAdmin(rid, appdataid uint64) error

func (*DBManager) RemoveRoomPresence

func (db *DBManager) RemoveRoomPresence(rid, appdataid uint64) error

func (*DBManager) RemoveRoomUser

func (db *DBManager) RemoveRoomUser(rid, appdataid uint64) error

func (*DBManager) RemoveShareApp

func (db *DBManager) RemoveShareApp(appname string) error

func (*DBManager) RenameGroup

func (db *DBManager) RenameGroup(id uint64, oldname, newname string) error

func (*DBManager) SearchRoom

func (db *DBManager) SearchRoom(roomname string) ([]*Room, error)

func (*DBManager) SearchUserById

func (db *DBManager) SearchUserById(id uint64) (*AppDataPublicWithID, error)

func (*DBManager) SearchUserByNickname

func (db *DBManager) SearchUserByNickname(nickname string) ([]*AppDataPublicWithID, error)

func (*DBManager) SendMsgToUserOffline

func (db *DBManager) SendMsgToUserOffline(to uint64, data []byte) error

func (*DBManager) SendMsgToUserOnline

func (db *DBManager) SendMsgToUserOnline(msg []byte, serveraddr string) error

func (*DBManager) SetAppField

func (db *DBManager) SetAppField(appname, fieldname string, val interface{}) error

func (*DBManager) SetComment

func (db *DBManager) SetComment(id, otherid uint64, comment string) error

func (*DBManager) SetRoomJieshao

func (db *DBManager) SetRoomJieshao(rid uint64, jieshao string) error

func (*DBManager) SetRoomMaxUser

func (db *DBManager) SetRoomMaxUser(rid uint64, maxuser uint16) error

func (*DBManager) SetRoomMsgSetting

func (db *DBManager) SetRoomMsgSetting(rid, appdataid uint64, msgsetting byte) error

func (*DBManager) SetRoomName

func (db *DBManager) SetRoomName(rid uint64, roomname string) error

func (*DBManager) SetRoomNotice

func (db *DBManager) SetRoomNotice(rid uint64, notice string) error

room property

func (*DBManager) SetRoomPassword

func (db *DBManager) SetRoomPassword(rid uint64, password string) error

func (*DBManager) SetRoomType

func (db *DBManager) SetRoomType(rid uint64, roomtype byte) error

func (*DBManager) SetRoomUserDisplayName

func (db *DBManager) SetRoomUserDisplayName(rid, appdataid uint64, displayname string) error

func (*DBManager) SetServerTTL

func (db *DBManager) SetServerTTL(addr string, seconds int) error

func (*DBManager) SetShareApp

func (db *DBManager) SetShareApp(appname, otherappname string) error

func (*DBManager) SetUserOffline

func (db *DBManager) SetUserOffline(id uint64, platform string) error

func (*DBManager) SetUserOnline

func (db *DBManager) SetUserOnline(tbl_online *Online) error

func (*DBManager) SetUserState

func (db *DBManager) SetUserState(id uint64, state string) error

func (*DBManager) UnInitialize

func (db *DBManager) UnInitialize() error

func (*DBManager) UnJinyanAppData

func (db *DBManager) UnJinyanAppData(id uint64) error

func (*DBManager) UnJinyanAppDatas

func (db *DBManager) UnJinyanAppDatas(ids []uint64) error

func (*DBManager) UnJinyanRoomUser

func (db *DBManager) UnJinyanRoomUser(rid, appdataid uint64) error

func (*DBManager) UnRegisterServer

func (db *DBManager) UnRegisterServer(addr string) error

func (*DBManager) UnbanAccount

func (db *DBManager) UnbanAccount(account string) error

func (*DBManager) UnbanAccounts

func (db *DBManager) UnbanAccounts(accounts []string) error

func (*DBManager) UnbanAppData

func (db *DBManager) UnbanAppData(id uint64) error

func (*DBManager) UnbanAppDatas

func (db *DBManager) UnbanAppDatas(ids []uint64) error

func (*DBManager) UpdateAccount

func (db *DBManager) UpdateAccount(tbl_account *Account) error

func (*DBManager) UpdateAdmin

func (db *DBManager) UpdateAdmin(tbl_admin *Admin) error

func (*DBManager) UpdateApp

func (db *DBManager) UpdateApp(tbl_app *App) error

func (*DBManager) UpdateAppData

func (db *DBManager) UpdateAppData(tbl_appdata *AppData) error

func (*DBManager) UpdateAppDataByMap

func (db *DBManager) UpdateAppDataByMap(data map[string]interface{}) error

func (*DBManager) UpdateLastLoginInfo

func (db *DBManager) UpdateLastLoginInfo(id uint64, ip string, date time.Time) error

func (*DBManager) UpdatePassword

func (db *DBManager) UpdatePassword(account, password string) error

func (*DBManager) UpdateRoom

func (db *DBManager) UpdateRoom(tbl_room *Room) error

func (*DBManager) UpdateRoomUser

func (db *DBManager) UpdateRoomUser(tbl_roomuser *RoomUser) error

func (*DBManager) VoteServerDie

func (db *DBManager) VoteServerDie() error

type DataKey

type DataKey struct {
	KeyUserHsetByAccount      string //hset:user:account:xxx
	KeyUserHsetUidAccount     string //hset:user:uid:account
	KeyUserZsetRegdateAccount string //zset:user:regdate
	KeyUserSet                string //set:user

	KeyAppSet                         string //set:app
	KeyAppHsetAppidAppname            string //hset:app:appid:appname
	KeyAppHsetByAppname               string //hset:app:appname:xxx
	KeyAppSetAppnameByAccount         string //set:app:account:xxx
	KeyAppZsetRegdateAppnameByAccount string //zset:app:regdate:account:xxx
	KeyAppSetShareByAppname           string //set:app:share:xxx
	KeyAppSetZonenameByAppname        string //set:app:zone:xxx

	KeyAppDataHsetByAppidZonenameAccount                   string //hset:app:data:xxx:xxx:xxx
	KeyAppDataSetGroupByAppidZonenameAccount               string //set:app:data:group:xxx:xxx:xxx
	KeyAppDataHsetFriendByAppidZonenameAccount             string //hset:app:data:friend:xxx:xxx:xxx
	KeyAppDataHsetFriendrequestGroupByAppidZonenameAccount string //hset:app:data:friend:request:xxx:xxx:xxx
	KeyAppDataSetBlackByAppidZonenameAccount               string //set:app:data:black:xxx:xxx:xxx
	KeyAppDataListMsgByAppidZonenameAccount                string //list:app:data:msg:offline:xxx:xxx:xxx

	// KeyAppData        string
	// KeyGroup          string
	// KeyFriend         string
	// KeyFriendRequest  string
	// KeyBlack          string
	// KeyMessageOffline string
	Appname  string
	Zonename string
	Account  string
}

Key[Hset|Zset|Set][store data][by][field] store data: 1.User 表示存储的是user表的数据 2.UidAccount表示存储的是uid account的键值对 3.By表示根据by后面的field不同,有n条独立的这样的数据.没有by的表示这个key只有一个,一般用来存储统计数据

func (*DataKey) Init

func (datakey *DataKey) Init(appname, zonename, account string)

func (*DataKey) SetAccount

func (datakey *DataKey) SetAccount(appname, zonename, account string)

func (*DataKey) SetAppname

func (datakey *DataKey) SetAppname(appname string)

func (*DataKey) SetZonename

func (datakey *DataKey) SetZonename(zonename string)

func (*DataKey) Update

func (datakey *DataKey) Update()

type Friend

type Friend struct {
	Dataid      uint64 `redis:"dataid" json:"dataid,string"`
	Otherdataid uint64 `redis:"otherdataid" json:"otherdataid,string"`
	// Account      string    `redis:"account" json:"account"`
	// Otheraccount string    `redis:"otheraccount" json:"otheraccount"`
	// Appname      string    `redis:"appname" json:"appname"`
	// Zonename     string    `redis:"zonename" json:"zonename"`
	Groupname string    `redis:"groupname" json:"groupname"`
	Comment   string    `redis:"comment" json:"comment"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`
}

type FriendJson

type FriendJson struct {
	Dataid    uint64 `json:"who,string"`
	Nickname  string `json:"nickname"`
	Desc      string `json:"desc"`
	Groupname string `json:"groupname"`
	Comment   string `json:"comment"`
}

type Group

type Group struct {
	Groupname string `redis:"groupname" json:"groupname"`
	Dataid    uint64 `redis:"dataid" json:"dataid"`
}

type Mysql

type Mysql struct {
	*gorm.DB
	// contains filtered or unexported fields
}

func (*Mysql) DefaultTableNameHandler

func (mdm *Mysql) DefaultTableNameHandler(db *gorm.DB, defaultTableName string) string

func (*Mysql) Initialize

func (mdm *Mysql) Initialize(saddr, user_pass, defaultdb, prefix string) error

func (*Mysql) UnInitialize

func (mdm *Mysql) UnInitialize() error

type Online

type Online struct {
	Dataid uint64 `redis:"dataid" json:"dataid,string" gorm:"not null"`
	// Account    string    `redis:"account" json:"account"`
	// Appname    string    `redis:"appname" json:"appname"`
	// Zonename   string    `redis:"zonename" json:"zonename"`
	Serveraddr string `redis:"serveraddr" json:"serveraddr"`
	//State      string `redis:"state" json:"state"`
	Platform  string    `redis:"platform" json:"platform"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	//other info, for join
	AppDataPublic
}

type OnlineFilter

type OnlineFilter struct {
	Account string
	// Appname  string
	// Zonename string
	Nickname string
	Sex      string
	Country  string

	Isjinyan int

	Serveraddr string
	Platform   string

	Onlinebegindate *time.Time
	Onlineenddate   *time.Time
}

type Redis

type Redis struct {
	*redis.Pool
	// contains filtered or unexported fields
}

func (*Redis) Initialize

func (rdm *Redis) Initialize(saddr, spass string, defaultdb uint64) error

func (*Redis) UnInitialize

func (rdm *Redis) UnInitialize() error

type Room

type Room struct {
	Rid      uint64 `redis:"rid" json:"rid,string" gorm:"primary_key;AUTO_INCREMENT"`
	Ownerid  uint64 `redis:"ownerid" json:"ownerid,string" gorm:"not null"`
	Roomname string `redis:"roomname" json:"roomname"`
	Roomtype byte   `redis:"roomtype" json:"roomtype" gorm:"default:1"`
	//Jointype  byte      `redis:"jointype" json:"jointype" gorm:"default:1"`
	Jieshao   string    `redis:"jieshao" json:"jieshao"`
	Notice    string    `redis:"notice" json:"notice"` //公告
	Password  string    `redis:"password" json:"-"`
	Maxuser   uint16    `redis:"maxuser" json:"maxuser" gorm:"default:500"`
	CreatedAt time.Time `redis:"createdate" json:"createdate"`

	//other info for join
	Msgsetting byte `redis:"msgsetting" json:"msgsetting" gorm:"-"` //RoomUser.Msgsetting
}

type RoomUser

type RoomUser struct {
	Rid         uint64    `redis:"rid" json:"rid,string" gorm:"not null"`
	Dataid      uint64    `redis:"dataid" json:"dataid,string" gorm:"not null"`
	Isowner     bool      `redis:"isowner" json:"isowner" gorm:"tinyint(1);default:0"`
	Isadmin     bool      `redis:"isadmin" json:"isadmin" gorm:"tinyint(1);default:0"`
	Isjinyan    bool      `redis:"isjinyan" json:"isjinyan" gorm:"tinyint(1);default:0"`
	Displayname string    `redis:"displayname" json:"displayname"`
	Msgsetting  byte      `redis:"msgsetting" json:"msgsetting" gorm:"default:1"`
	CreatedAt   time.Time `redis:"createdate" json:"createdate"`

	//other info, for join
	AppDataPublic
	Isonline bool `redis:"isonline" json:"isonline" gorm:"-"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL