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,33 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"addit.go",
"archive.go",
"track.go",
"video.go",
],
importpath = "go-common/app/job/main/archive/model/archive",
tags = ["automanaged"],
deps = ["//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,18 @@
package archive
const (
UpFromPGC = 1
UpFromPGCSecret = 5
)
// Addit addit struct
type Addit struct {
ID int64
Aid int64
Source string
RedirectURL string
MissionID int64
UpFrom int8
OrderID int
Dynamic string
}

View File

@@ -0,0 +1,117 @@
package archive
const (
StateOpen = 0
StateOrange = 1
StateForbidWait = -1
StateForbidRecicle = -2
StateForbidPolice = -3
StateForbidLock = -4
StateForbidFixed = -6
StateForbidLater = -7
StateForbidSubmit = -30
StateForbidUserDelay = -40
StateForbidUpDelete = -100
// round
RoundBegin = 0
RoundAuditSecond = 10 // 二审选定分区的多P稿件 及 PGC/活动的单P多P稿件
RoundAuditThird = 20 // 三审:选定分区/PGC/活动 的单P多P稿件
RoundReviewFirst = 30 // 分区回查:粉丝小于配置阈值 如 5000 且 指定分区
RoundReviewFirstWaitTrigger = 31 // 点击/粉丝 等待触发中间状态7天内达到阈值进列表未达到自动变99
RoundReviewSecond = 40 // 社区回查:粉丝大于配置阈值 如 5000 或 优质高危up
RoundTriggerFans = 80 // 粉丝回查:粉丝量达到配置阈值
RoundTriggerClick = 90 // 点击回查:点击量达到配置阈值
RoundEnd = 99
// access
AccessDefault = int16(0)
AccessMember = int16(10000)
// copyright
CopyrightUnknow = 0
CopyrightOriginal = 1
CopyrightCopy = 2
// attribute yes and no
AttrYes = int32(1)
AttrNo = int32(0)
// attribute bit
AttrBitNoRank = uint(0)
AttrBitNoIndex = uint(1)
AttrBitNoWeb = uint(2)
AttrBitNoMobile = uint(3)
AttrBitNoSearch = uint(4)
AttrBitOverseaLock = uint(5)
AttrBitNoRecommend = uint(6)
// AttrBitHideCoins = uint(7)
AttrBitHasHD5 = uint(8)
// AttrBitVisitorDm = uint(9)
AttrBitAllowBp = uint(10)
AttrBitIsBangumi = uint(11)
// AttrBitAllowDownload = uint(12)
AttrBitLimitArea = uint(13)
AttrBitAllowTag = uint(14)
// AttrBitIsFromArcApi = uint(15)
AttrBitJumpUrl = uint(16)
AttrBitIsMovie = uint(17)
AttrBitBadgepay = uint(18)
AttrBitIsCooperation = uint(24)
)
type UpInfo struct {
Nw *Archive
Old *Archive
}
// archive
type Archive struct {
ID int64 `json:"id"`
Mid int64 `json:"mid"`
TypeID int16 `json:"typeid"`
HumanRank int `json:"humanrank"`
Duration int `json:"duration"`
Title string `json:"title"`
Cover string `json:"cover"`
Content string `json:"content"`
Tag string `json:"tag"`
Attribute int32 `json:"attribute"`
Copyright int8 `json:"copyright"`
AreaLimit int8 `json:"arealimit"`
State int `json:"state"`
Author string `json:"author"`
Access int `json:"access"`
Forward int `json:"forward"`
PubTime string `json:"pubtime"`
Reason string `json:"reject_reason"`
Round int8 `json:"round"`
CTime string `json:"ctime"`
MTime string `json:"mtime"`
}
func (a *Archive) IsSyncState() bool {
if a.State >= 0 || a.State == StateForbidUserDelay || a.State == StateForbidUpDelete || a.State == StateForbidRecicle || a.State == StateForbidPolice ||
a.State == StateForbidLock {
return true
}
return false
}
type ArgStat struct {
Aid int64
Field int
Value int
RealIP string
}
// AttrVal get attribute value.
func (a *Archive) AttrVal(bit uint) int32 {
return (a.Attribute >> bit) & int32(1)
}
// Staff is
type Staff struct {
Aid int64 `json:"aid"`
Mid int64 `json:"mid"`
Title string `json:"title"`
Ctime string `json:"ctime"`
Mtime string `json:"mtime"`
}

View File

@@ -0,0 +1,26 @@
package archive
import (
"go-common/library/time"
)
type Track struct {
// common values
Timestamp time.Time `json:"timestamp"`
// archive stat
State int `json:"state"`
Round int `json:"round"`
// AID int64 `json:"aid,omitempty"`
Remark string `json:"remark,omitempty"`
Attribute int32 `json:"attribute"`
}
type VideoTrack struct {
// common values
Timestamp time.Time `json:"timestamp"`
XCodeState int8 `json:"xcode_state"`
// video status
Status int16 `json:"status"`
AID int64 `json:"aid,omitempty"`
Remark string `json:"remark,omitempty"`
}

View File

@@ -0,0 +1,56 @@
package archive
const (
// video xcode and dispatch state.
VideoUploadInfo = 0
VideoXcodeSDFail = 1
VideoXcodeSDFinish = 2
VideoXcodeHDFail = 3
VideoXcodeHDFinish = 4
VideoDispatchRunning = 5
VideoDispatchFinish = 6
XcodeFailZero = 0
// video status.
VideoStatusOpen = int16(0)
VideoStatusAccess = int16(10000)
VideoStatusWait = int16(-1)
VideoStatusRecicle = int16(-2)
VideoStatusLock = int16(-4)
VideoStatusXcodeFail = int16(-16)
VideoStatusSubmit = int16(-30)
VideoStatusDelete = int16(-100)
// video relation state
VideoRelationBind = int16(0)
)
type VideoUpInfo struct {
Nw *Video
Old *Video
}
type Video struct {
ID int64 `json:"id"`
Aid int64 `json:"aid"`
Title string `json:"eptitle"`
Desc string `json:"description"`
Filename string `json:"filename"`
SrcType string `json:"src_type"`
Cid int64 `json:"cid"`
Duration int64 `json:"duration"`
Filesize int64 `json:"filesize"`
Resolutions string `json:"resolutions"`
Index int `json:"index_order"`
CTime string `json:"ctime"`
MTime string `json:"mtime"`
Status int16 `json:"status"`
State int16 `json:"state"`
Playurl string `json:"playurl"`
Attribute int32 `json:"attribute"`
FailCode int8 `json:"failinfo"`
XcodeState int8 `json:"xcode_state"`
WebLink string `json:"weblink"`
Dimensions string `json:"dimensions"`
}

View File

@@ -0,0 +1,27 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["message.go"],
importpath = "go-common/app/job/main/archive/model/databus",
tags = ["automanaged"],
)
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,39 @@
package databus
import "encoding/json"
// Message databus
type Message struct {
Action string `json:"action"`
Table string `json:"table"`
New json.RawMessage `json:"new"`
Old json.RawMessage `json:"old"`
}
// const is
const (
RouteFirstRoundForbid = "first_round_forbid"
RouteSecondRound = "second_round"
RouteAutoOpen = "auto_open"
RouteDelayOpen = "delay_open"
RouteDeleteArchive = "delete_archive"
RouteForceSync = "force_sync"
)
// Videoup message for videoup2BVC
type Videoup struct {
Route string `json:"route"`
Timestamp int64 `json:"timestamp"`
Aid int64 `json:"aid"`
}
// Rebuild is
type Rebuild struct {
Aid int64 `json:"aid"`
}
// AccountNotify is
type AccountNotify struct {
Mid int64 `json:"mid"`
Action string `json:"action"`
}

View File

@@ -0,0 +1,27 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["dm.go"],
importpath = "go-common/app/job/main/archive/model/dm",
tags = ["automanaged"],
)
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,28 @@
package dm
import "encoding/json"
// Canal canal message struct
type Canal struct {
Action string `json:"action"`
Table string `json:"table"`
New json.RawMessage `json:"new"`
Old json.RawMessage `json:"old"`
}
// Subject for table dm_subject_[0-9]+
type Subject struct {
ID int64 `json:"id"`
Type int64 `json:"type"`
AID int64 `json:"pid"`
CID int64 `json:"oid"`
Count int64 `json:"count"`
}
// Count dm count
type Count struct {
Type string `json:"type"`
ID int64 `json:"id"`
Count int64 `json:"count"`
Timestamp int64 `json:"timestamp"`
}

View File

@@ -0,0 +1,27 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["model.go"],
importpath = "go-common/app/job/main/archive/model/pgc",
tags = ["automanaged"],
)
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,40 @@
package pgc
const (
TypeForBangumi = 1
TypeForMovie = 2
TypeForDocumentary = 3
)
type MovieEpisode struct {
EpID int64 `json:"id"`
SeasonID int64 `json:"movieSeasonId"`
AID int64 `json:"aid"`
CID int64 `json:"cid"`
Status int8 `json:"status"`
}
type BangumiEpisode struct {
EpID int64 `json:"episodeId"`
AID int64 `json:"avId"`
SeasonID int64 `json:"seasonId"`
CID int64 `json:"danmaku"`
Status int8 `json:"isDelete"`
}
type Documentary struct {
EpID int64 `json:"id"`
SeasonID int64
AID int64 `json:"aid"`
CID int64 `json:"cid"`
Status int8 `json:"is_delete"`
}
type Archive struct {
AID int64
SeasonID int64
Tp int8
Status int8
EpID int64
CID int64
}

View File

@@ -0,0 +1,30 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"archive.go",
"video.go",
],
importpath = "go-common/app/job/main/archive/model/result",
tags = ["automanaged"],
)
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,79 @@
package result
import (
"database/sql/driver"
"sync"
"time"
)
const (
AttrYes = int32(1)
AttrNo = int32(0)
AttrBitIsPGC = uint(9)
AttrBitIsBangumi = uint(11)
)
type ArchiveUpInfo struct {
Table string
Action string
Nw *Archive
Old *Archive
}
type ResultDelay struct {
Lock sync.RWMutex
AIDs map[int64]struct{}
}
// Result archive result
type Archive struct {
ID int64 `json:"id"`
AID int64 `json:"aid"`
Mid int64 `json:"mid"`
TypeID int16 `json:"typeid"`
Videos int `json:"videos"`
Title string `json:"title"`
Cover string `json:"cover"`
Content string `json:"content"`
Duration int `json:"duration"`
Attribute int32 `json:"attribute"`
Copyright int8 `json:"copyright"`
Access int `json:"access"`
PubTime wocaoTime `json:"pubtime"`
CTime wocaoTime `json:"ctime"`
MTime wocaoTime `json:"mtime"`
State int `json:"state"`
MissionID int64 `json:"mission_id"`
OrderID int64 `json:"order_id"`
RedirectURL string `json:"redirect_url"`
Forward int64 `json:"forward"`
Dynamic string `json:"dynamic"`
}
type wocaoTime string
// Scan scan time.
func (jt *wocaoTime) Scan(src interface{}) (err error) {
switch sc := src.(type) {
case time.Time:
*jt = wocaoTime(sc.Format("2006-01-02 15:04:05"))
case string:
*jt = wocaoTime(sc)
}
return
}
// Value get time value.
func (jt wocaoTime) Value() (driver.Value, error) {
return time.Parse("2006-01-02 15:04:05", string(jt))
}
// AttrSet set attribute.
func (a *Archive) AttrSet(v int32, bit uint) {
a.Attribute = a.Attribute&(^(1 << bit)) | (v << bit)
}
// AttrVal get attribute.
func (a *Archive) AttrVal(bit uint) int32 {
return (a.Attribute >> bit) & int32(1)
}

View File

@@ -0,0 +1,52 @@
package result
const (
// video xcode and dispatch state.
VideoUploadInfo = 0
VideoXcodeSDFail = 1
VideoXcodeSDFinish = 2
VideoXcodeHDFail = 3
VideoXcodeHDFinish = 4
VideoDispatchRunning = 5
VideoDispatchFinish = 6
XcodeFailZero = 0
// video status.
VideoStatusOpen = int16(0)
VideoStatusAccess = int16(10000)
VideoStatusWait = int16(-1)
VideoStatusRecicle = int16(-2)
VideoStatusLock = int16(-4)
VideoStatusXcodeFail = int16(-16)
VideoStatusSubmit = int16(-30)
VideoStatusDelete = int16(-100)
)
type VideoUpInfo struct {
Table string
Action string
Nw *Video
Old *Video
}
type Video struct {
ID int64 `json:"id"`
Filename string `json:"filename"`
Cid int64 `json:"cid"`
Aid int64 `json:"aid"`
Title string `json:"eptitle"`
Desc string `json:"description"`
SrcType string `json:"src_type"`
Duration int64 `json:"duration"`
Filesize int64 `json:"filesize"`
Resolutions string `json:"resolutions"`
Playurl string `json:"playurl"`
FailCode int8 `json:"failinfo"`
Index int `json:"index_order"`
Attribute int32 `json:"attribute"`
XcodeState int8 `json:"xcode_state"`
Status int16 `json:"status"`
CTime string `json:"ctime"`
MTime string `json:"mtime"`
}

View File

@@ -0,0 +1,28 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["model.go"],
importpath = "go-common/app/job/main/archive/model/retry",
tags = ["automanaged"],
deps = ["//app/job/main/archive/model/result: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,25 @@
package retry
import (
"go-common/app/job/main/archive/model/result"
)
const (
FailList = "arc_job_fail_list"
FailUpCache = "up_cache"
FailUpVideoCache = "up_video_cache"
FailDelVideoCache = "del_video_cache"
FailDatabus = "up_databus"
FailResultAdd = "result_add"
)
// Info retry data
type Info struct {
Action string `json:"action"`
Data struct {
Aid int64 `json:"aid"`
State int `json:"state"`
DatabusMsg *result.ArchiveUpInfo `json:"dbus_msg"`
Cids []int64 `json:"cid"`
} `json:"data"`
}