76 lines
1.8 KiB
Go
76 lines
1.8 KiB
Go
package model
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
|
|
xtime "go-common/library/time"
|
|
)
|
|
|
|
const (
|
|
// OwnerInstall is_activated=1.
|
|
OwnerInstall = 1
|
|
// OwnerUninstall is_activated=0.
|
|
OwnerUninstall = 0
|
|
// Level1 medal_info.level 普通.
|
|
Level1 = int32(1)
|
|
// Level2 medal_info.level 高级.
|
|
Level2 = int32(2)
|
|
// Level3 medal_info.level 稀有.
|
|
Level3 = int32(3)
|
|
// IsGet medal has get.
|
|
IsGet = int32(1)
|
|
// NotGet medal not get.
|
|
NotGet = int32(0)
|
|
)
|
|
|
|
var medalLevel = map[int32]string{Level1: "普通勋章", Level2: "高级勋章", Level3: "稀有勋章"}
|
|
|
|
// MedalOwner struct.
|
|
type MedalOwner struct {
|
|
ID int64 `json:"id"`
|
|
MID int64 `json:"mid"`
|
|
NID int64 `json:"nid"`
|
|
IsActivated int8 `json:"is_activated"`
|
|
CTime xtime.Time `json:"ctime"`
|
|
MTime xtime.Time `json:"mtime"`
|
|
}
|
|
|
|
// MedalGroup struct.
|
|
type MedalGroup struct {
|
|
ID int64 `json:"id"`
|
|
Name string `json:"name"`
|
|
PID int64 `json:"pid"`
|
|
Rank int8 `json:"rank"`
|
|
IsOnline int8 `josn:"is_online"`
|
|
CTime xtime.Time `json:"ctime"`
|
|
MTime xtime.Time `json:"mtime"`
|
|
}
|
|
|
|
// MedalMsg struct.
|
|
type MedalMsg struct {
|
|
ID int64 `json:"id"`
|
|
MID int64 `json:"mid"`
|
|
NID int64 `json:"nid"`
|
|
CTime xtime.Time `json:"ctime"`
|
|
MTime xtime.Time `json:"mtime"`
|
|
}
|
|
|
|
// MedalCheck struct.
|
|
type MedalCheck struct {
|
|
Has int32 `json:"has"`
|
|
Info interface{} `json:"info"`
|
|
}
|
|
|
|
// Build build image and level info.
|
|
func (mi *MedalInfo) Build() {
|
|
mi.Image = getImageURL(mi.Image)
|
|
mi.ImageSmall = getImageURL(mi.ImageSmall)
|
|
mi.LevelDesc = medalLevel[mi.Level]
|
|
}
|
|
|
|
// getImageUrl get image from BFS.
|
|
func getImageURL(imgSrc string) (imgURL string) {
|
|
return fmt.Sprintf("http://i%d.hdslb.com%s", rand.Int63n(3), imgSrc)
|
|
}
|