Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"match.go",
"params.go",
"pointdata.go",
"search.go",
],
importpath = "go-common/app/interface/main/esports/model",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/archive/api:go_default_library",
"//library/time:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,207 @@
package model
import (
arcmdl "go-common/app/service/main/archive/api"
"go-common/library/time"
)
// Filter filter struct
type Filter struct {
ID int64 `json:"id"`
Title string `json:"title"`
SubTitle string `json:"sub_title"`
Logo string `json:"logo"`
Rank int `json:"rank"`
URL string `json:"url"`
DataFocus string `json:"data_focus"`
FocusURL string `json:"focus_url"`
}
// Year year struct
type Year struct {
ID int64 `json:"id"`
Year int64 `json:"year"`
Aid int64 `json:"aid"`
}
// Calendar calendar struct
type Calendar struct {
Stime string `json:"stime"`
Count int64 `json:"count"`
}
// Season season struct
type Season struct {
ID int64 `json:"id"`
Mid int64 `json:"mid"`
Title string `json:"title"`
SubTitle string `json:"sub_title"`
Stime int64 `json:"stime"`
Etime int64 `json:"etime"`
Sponsor string `json:"sponsor"`
Logo string `json:"logo"`
Dic string `json:"dic"`
Status int64 `json:"status"`
Ctime time.Time `json:"ctime"`
Mtime time.Time `json:"mtime"`
Rank int64 `json:"rank"`
IsApp int64 `json:"is_app"`
URL string `json:"url"`
DataFocus string `json:"data_focus"`
FocusURL string `json:"focus_url"`
}
// Contest contest struct
type Contest struct {
ID int64 `json:"id"`
GameStage string `json:"game_stage"`
Stime int64 `json:"stime"`
Etime int64 `json:"etime"`
HomeID int64 `json:"home_id"`
AwayID int64 `json:"away_id"`
HomeScore int64 `json:"home_score"`
AwayScore int64 `json:"away_score"`
LiveRoom int64 `json:"live_room"`
Aid int64 `json:"aid"`
Collection int64 `json:"collection"`
GameState int64 `json:"game_state"`
Dic string `json:"dic"`
Ctime string `json:"ctime"`
Mtime string `json:"mtime"`
Status int64 `json:"status"`
Sid int64 `json:"sid"`
Mid int64 `json:"mid"`
Season interface{} `json:"season"`
HomeTeam interface{} `json:"home_team"`
AwayTeam interface{} `json:"away_team"`
Special int `json:"special"`
SuccessTeam int64 `json:"success_team"`
SuccessTeaminfo interface{} `json:"success_teaminfo"`
SpecialName string `json:"special_name"`
SpecialTips string `json:"special_tips"`
SpecialImage string `json:"special_image"`
Playback string `json:"playback"`
CollectionURL string `json:"collection_url"`
LiveURL string `json:"live_url"`
DataType int64 `json:"data_type"`
MatchID int64 `json:"match_id"`
}
// ContestsData contest data struct
type ContestsData struct {
ID int64 `json:"id"`
Cid int64 `json:"cid"`
URL string `json:"url"`
PointData int64 `json:"point_data"`
GameStatus int64 `json:"game_status"`
DataType int64 `json:"-"`
}
//ContestDataPage contest data pager
type ContestDataPage struct {
Contest *Contest `json:"contest"`
Detail []*ContestsData `json:"detail"`
}
// ElaSub elasticsearch sub contest.
type ElaSub struct {
SeasonStime int64 `json:"season_stime"`
Mid int64 `json:"mid"`
Stime int64 `json:"stime"`
Oid int64 `json:"oid"`
State int64 `json:"state"`
Sid int64 `json:"sid"`
}
// Tree match Active
type Tree struct {
ID int64 `json:"id" form:"id"`
MaID int64 `json:"ma_id,omitempty" form:"ma_id" validate:"required"`
MadID int64 `json:"mad_id,omitempty" form:"mad_id" validate:"required"`
Pid int64 `json:"pid" form:"pid"`
RootID int64 `json:"root_id" form:"root_id"`
GameRank int64 `json:"game_rank,omitempty" form:"game_rank" validate:"required"`
Mid int64 `json:"mid" form:"mid"`
IsDeleted int `json:"is_deleted,omitempty" form:"is_deleted"`
}
// Team .
type Team struct {
ID int64 `json:"id" form:"id"`
Title string `json:"title" form:"title" validate:"required"`
SubTitle string `json:"sub_title" form:"sub_title"`
ETitle string `json:"e_title" form:"e_title"`
CreateTime int64 `json:"create_time" form:"create_time"`
Area string `json:"area" form:"area"`
Logo string `json:"logo" form:"logo" validate:"required"`
UID int64 `json:"uid" form:"uid" gorm:"column:uid"`
Members string `json:"members" form:"members"`
Dic string `json:"dic" form:"dic"`
IsDeleted int `json:"is_deleted" form:"is_deleted"`
}
// ContestInfo .
type ContestInfo struct {
*Contest
HomeName string `json:"home_name"`
AwayName string `json:"away_name"`
SuccessName string `json:"success_name" form:"success_name"`
}
// TreeList .
type TreeList struct {
*Tree
*ContestInfo
}
// Active match Active
type Active struct {
ID int64 `json:"id"`
Mid int64 `json:"mid"`
Sid int64 `json:"sid"`
Background string `json:"background"`
Liveid int64 `json:"live_id"`
Intr string `json:"intr"`
Focus string `json:"focus"`
URL string `json:"url"`
BackColor string `json:"back_color"`
ColorStep string `json:"color_step"`
H5Background string `json:"h5_background"`
H5BackColor string `json:"h5_back_color"`
IntrLogo string `json:"intr_logo"`
IntrTitle string `json:"intr_title"`
IntrText string `json:"intr_text"`
H5Focus string `json:"h5_focus"`
H5Url string `json:"h5_url"`
}
// Module match module
type Module struct {
ID int64 `json:"id"`
MAid int64 `json:"ma_id"`
Name string `json:"name"`
Oids string `json:"oids"`
}
//ActiveDetail 活动页数据模块
type ActiveDetail struct {
ID int64 `json:"id"`
Maid int64 `json:"ma_id"`
GameType int `json:"game_type"`
STime int64 `json:"stime"`
ETime int64 `json:"etime"`
ScoreID int64 `json:"score_id"`
GameStage string `json:"game_stage"`
KnockoutType int `json:"knockout_type"`
WinnerType int `json:"winner_type"`
Online int `json:"online"`
}
//ActivePage 活动页
type ActivePage struct {
Active *Active `json:"active,omitempty"`
Videos []*arcmdl.Arc `json:"video_first,omitempty"`
Modules []*Module `json:"video_module,omitempty"`
ActiveDetail []*ActiveDetail `json:"active_detail,omitempty"`
Season *Season `json:"season,omitempty"`
}

View File

@@ -0,0 +1,116 @@
package model
// ParamCale calendar params.
type ParamCale struct {
Stime int64 `form:"stime" validate:"required"`
Etime int64 `form:"etime" validate:"required"`
}
// ParamContest matchs params.
type ParamContest struct {
Mid int64 `form:"mid" validate:"gte=0"`
Gid int64 `form:"gid" validate:"gte=0"`
Tid int64 `form:"tid" validate:"gte=0"`
Stime string `form:"stime"`
Etime string `form:"etime"`
GState string `form:"g_state"`
Sids []int64 `form:"sids,split"`
Sort int `form:"sort"`
Pn int `form:"pn" validate:"gt=0"`
Ps int `form:"ps" validate:"gt=0,lte=50"`
}
// ParamVideo video params
type ParamVideo struct {
Mid int64 `form:"mid" validate:"gte=0"`
Gid int64 `form:"gid" validate:"gte=0"`
Tid int64 `form:"tid" validate:"gte=0"`
Year int64 `form:"year" validate:"gte=0"`
Tag int64 `form:"tag" validate:"gte=0"`
Sort int64 `form:"sort" validate:"gte=0"`
Pn int `form:"pn" validate:"gt=0"`
Ps int `form:"ps" validate:"gt=0,lte=50"`
}
// ParamSearch search video params
type ParamSearch struct {
Pn int `form:"pn" validate:"gt=0"`
Ps int `form:"ps" validate:"gt=0"`
Keyword string `form:"keyword" validate:"required"`
Sort int64 `form:"sort" validate:"gte=0"`
}
// ParamSeason season params.
type ParamSeason struct {
VMID int64 `form:"vmid"`
Sort int64 `form:"sort"`
Pn int `form:"pn" validate:"gt=0"`
Ps int `form:"ps" validate:"gt=0,lte=50"`
}
// ParamFilter filter video params
type ParamFilter struct {
Mid int64 `form:"mid" validate:"gte=0"`
Gid int64 `form:"gid" validate:"gte=0"`
Tid int64 `form:"tid" validate:"gte=0"`
Year int64 `form:"year" validate:"gte=0"`
Tag int64 `form:"tag" validate:"gte=0"`
Stime string `form:"stime" `
Etime string `form:"etime" `
}
// ParamActPoint matchs params.
type ParamActPoint struct {
Aid int64 `form:"aid" validate:"gt=0"`
MdID int64 `form:"md_id" validate:"gt=0"`
Sort int `form:"sort"`
Pn int `form:"pn" validate:"gt=0"`
Ps int `form:"ps" validate:"gt=0,lte=50"`
}
// ParamActTop matchs params.
type ParamActTop struct {
Aid int64 `form:"aid" validate:"gt=0"`
Sort int `form:"sort"`
Stime string `form:"stime" `
Etime string `form:"etime" `
Pn int `form:"pn" validate:"gt=0"`
Ps int `form:"ps" validate:"gt=0,lte=50"`
}
// ParamFav app fav list.
type ParamFav struct {
VMID int64 `form:"vmid"`
Sids []int64 `form:"sids,split"`
Stime string `form:"stime"`
Etime string `form:"etime"`
Sort int `form:"sort"`
Pn int `form:"pn" default:"1" validate:"min=1"`
Ps int `form:"ps" default:"50" validate:"min=1"`
}
// ParamLd leidata param
type ParamLd struct {
Route string `form:"route"`
}
// ParamCDRecent contest recently match
type ParamCDRecent struct {
HomeID int64 `form:"home_id" validate:"gt=0"`
AwayID int64 `form:"away_id" validate:"gt=0"`
CID int64 `form:"cid" validate:"gt=0"`
Ps int64 `form:"ps" default:"8" validate:"lte=10"`
}
// ParamGame game
type ParamGame struct {
MatchID int64 `form:"match_id" validate:"required"`
GameIDs []int64 `form:"game_ids,split" validate:"required"`
Tp int64 `form:"tp" default:"1" validate:"min=1"`
}
// ParamLeidas .
type ParamLeidas struct {
IDs []int64 `form:"ids,split" validate:"required"`
Tp int64 `form:"tp" default:"1" validate:"min=1"`
}

View File

@@ -0,0 +1,117 @@
package model
import (
"encoding/json"
"sync"
)
//Item .
type Item struct {
PercentMovementSpeedMod interface{} `json:"percent_movement_speed_mod"`
PercentLifeStealMod interface{} `json:"percent_life_steal_mod"`
PercentAttackSpeedMod interface{} `json:"percent_attack_speed_mod"`
Name string `json:"name"`
ImageURL string `json:"image_url"`
ID int64 `json:"id"`
GoldTotal interface{} `json:"gold_total"`
GoldSell interface{} `json:"gold_sell"`
GoldPurchasable bool `json:"gold_purchasable"`
GoldBase interface{} `json:"gold_base"`
FlatSpellBlockMod interface{} `json:"flat_spell_block_mod"`
FlatPhysicalDamageMod interface{} `json:"flat_physical_damage_mod"`
FlatMpRegenMod interface{} `json:"flat_mp_regen_mod"`
FlatMpPoolMod interface{} `json:"flat_mp_pool_mod"`
FlatMovementSpeedMod interface{} `json:"flat_movement_speed_mod"`
FlatMagicDamageMod interface{} `json:"flat_magic_damage_mod"`
FlatHpRegenMod interface{} `json:"flat_hp_regen_mod"`
FlatHpPoolMod interface{} `json:"flat_hp_pool_mod"`
FlatCritChanceMod interface{} `json:"flat_crit_chance_mod"`
FlatArmorMod interface{} `json:"flat_armor_mod"`
}
//Game .
type Game struct {
WinnerType string `json:"winner_type"`
Winner json.RawMessage `json:"winner"`
Teams json.RawMessage `json:"teams"`
Position int64 `json:"position"`
Players json.RawMessage `json:"players"`
MatchID int64 `json:"match_id"`
Match json.RawMessage `json:"match"`
Length int64 `json:"length"`
ID int64 `json:"id"`
Finished interface{} `json:"finished"`
BeginAt interface{} `json:"begin_at"`
}
//Champion .
type Champion struct {
VideogameVersions []string `json:"videogame_versions"`
Spellblockperlevel float64 `json:"spellblockperlevel"`
Spellblock float64 `json:"spellblock"`
Name string `json:"name"`
Mpregenperlevel float64 `json:"mpregenperlevel"`
Mpregen float64 `json:"mpregen"`
Mpperlevel interface{} `json:"mpperlevel"`
Mp float64 `json:"mp"`
Movespeed interface{} `json:"movespeed"`
ImageURL string `json:"image_url"`
ID int64 `json:"id"`
Hpregenperlevel float64 `json:"hpregenperlevel"`
Hpregen interface{} `json:"hpregen"`
Hpperlevel interface{} `json:"hpperlevel"`
Hp interface{} `json:"hp"`
Critperlevel interface{} `json:"critperlevel"`
Crit interface{} `json:"crit"`
BigImageURL string `json:"big_image_url"`
Attackspeedperlevel float64 `json:"attackspeedperlevel"`
Attackspeedoffset interface{} `json:"attackspeedoffset"`
Attackrange interface{} `json:"attackrange"`
Attackdamageperlevel float64 `json:"attackdamageperlevel"`
Attackdamage float64 `json:"attackdamage"`
Armorperlevel float64 `json:"armorperlevel"`
Armor interface{} `json:"armor"`
}
//Hero .
type Hero struct {
*LdInfo
LocalizedName string `json:"localized_name"`
}
// LdInfo .
type LdInfo struct {
Name string `json:"name"`
ImageURL string `json:"image_url"`
ID int64 `json:"id"`
}
// SyncGame store leida game list
type SyncGame struct {
Data map[int64][]*Game
sync.Mutex
}
// SyncItem store item list
type SyncItem struct {
Data map[int64]*Item
sync.Mutex
}
// SyncChampion store champion list
type SyncChampion struct {
Data map[int64]*Champion
sync.Mutex
}
// SyncHero store hero list
type SyncHero struct {
Data map[int64]*Hero
sync.Mutex
}
// SyncInfo store leida base info list
type SyncInfo struct {
Data map[int64]*LdInfo
sync.Mutex
}

View File

@@ -0,0 +1,50 @@
package model
import "encoding/json"
// Page es page
type Page struct {
Num int `json:"num"`
Size int `json:"size"`
Total int `json:"total"`
}
// SearchVideo search video.
type SearchVideo struct {
AID int64 `json:"aid"`
}
// SearchEsp big search esports.
type SearchEsp struct {
Code int `json:"code,omitempty"`
Seid string `json:"seid"`
Page int `json:"page"`
PageSize int `json:"pagesize"`
NumResults int `json:"numResults"`
NumPages int `json:"numPages"`
Result json.RawMessage `json:"result"`
}
// FilterES filter ES video and match
type FilterES struct {
GroupByGid []struct {
DocCount int `json:"doc_count"`
Key string `json:"key"`
} `json:"group_by_gid"`
GroupByMatch []struct {
DocCount int `json:"doc_count"`
Key string `json:"key"`
} `json:"group_by_match"`
GroupByTag []struct {
DocCount int `json:"doc_count"`
Key string `json:"key"`
} `json:"group_by_tag"`
GroupByTeam []struct {
DocCount int `json:"doc_count"`
Key string `json:"key"`
} `json:"group_by_team"`
GroupByYear []struct {
DocCount int `json:"doc_count"`
Key string `json:"key"`
} `json:"group_by_year"`
}