You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
232 lines
9.1 KiB
232 lines
9.1 KiB
package task |
|
|
|
const ( |
|
//StateDel for normal state |
|
StateDel = int8(-1) |
|
//StateNormal for normal state |
|
StateNormal = int8(0) |
|
//StateHide for hide state |
|
StateHide = int8(1) |
|
|
|
//TaskManagement 任务管理 |
|
TaskManagement = uint8(1) |
|
//AchievementManagement 成就管理 |
|
AchievementManagement = uint8(2) |
|
|
|
//LogClientTask 日志服务类型 |
|
LogClientTask = 301 |
|
) |
|
|
|
const ( |
|
_ uint8 = iota |
|
//TaskTypeNewcomer 新手任务 |
|
TaskTypeNewcomer |
|
//TaskTypeAdvanced 进阶任务 |
|
TaskTypeAdvanced |
|
//TaskTypeMonthly 月常任务 |
|
TaskTypeMonthly |
|
) |
|
|
|
var ( |
|
//TaskRootNameMap 管理分类, 1-任务管理、2-成就管理 |
|
TaskRootNameMap = map[uint8]string{ |
|
TaskManagement: "任务管理", |
|
AchievementManagement: "成就管理", |
|
} |
|
|
|
//TaskGroupNameMap 任务分类, 1-新手任务、2-进阶任务、3-月常任务; 4-互动成就、5-投稿成就、6-行为成就、7-高级成就 |
|
TaskGroupNameMap = map[uint8]string{ |
|
TaskTypeNewcomer: "新手任务", |
|
TaskTypeAdvanced: "进阶任务", |
|
TaskTypeMonthly: "月常任务", |
|
4: "互动成就", |
|
5: "投稿成就", |
|
6: "行为成就", |
|
7: "高级成就", |
|
} |
|
) |
|
|
|
//CheckRootType check task root type. |
|
func CheckRootType(ty uint8) bool { |
|
if ty == TaskTypeNewcomer || ty == TaskTypeAdvanced || ty == TaskTypeMonthly { |
|
return true |
|
} |
|
return false |
|
} |
|
|
|
var ( |
|
//TargetMap for target show |
|
TargetMap = map[int8]string{ |
|
1: "开放浏览的稿件", |
|
2: "分享自己视频的次数", |
|
3: "创作学院的观看记录", |
|
4: "所有avid的获得评论数", |
|
5: "所有avid获得分享数", |
|
6: "所有avid的获得收藏数", |
|
7: "所有avid的获得硬币数", |
|
8: "所有avid获得点赞数", |
|
9: "所有avid的获得弹幕数", |
|
10: "粉丝数", |
|
11: "水印开关为打开状态", |
|
12: "关注列表含有“哔哩哔哩创作中心”", |
|
13: "用手机投稿上传视频", |
|
14: "开放浏览的稿件", |
|
15: "任意avid的获得点击量", |
|
16: "任意avid的评论", |
|
17: "任意avid的获得分享数", |
|
18: "任意avid的获得收藏数", |
|
19: "任意avid的获得硬币数", |
|
20: "任意avid的获得点赞数", |
|
21: "任意avid的获得弹幕数", |
|
22: "激励计划状态为已开通", |
|
23: "粉丝勋章为开启状态", |
|
} |
|
) |
|
|
|
//TableName get table name |
|
func (tg *TaskGroup) TableName() string { |
|
return "newcomers_task_group" |
|
} |
|
|
|
//TableName get table name |
|
func (tgr *TaskGroupReward) TableName() string { |
|
return "newcomers_grouptask_reward" |
|
} |
|
|
|
//TaskGroup for task group. |
|
type TaskGroup struct { |
|
ID int64 `gorm:"column:id" form:"id" json:"id"` |
|
Rank int64 `gorm:"column:rank" form:"rank" json:"rank"` |
|
State int8 `gorm:"column:state" form:"state" json:"state"` //-1-删除, 0-正常, 1-隐藏 |
|
RootType uint8 `gorm:"column:root_type" form:"root_type" json:"root_type"` |
|
Type int8 `gorm:"column:type" form:"type" json:"type"` |
|
CTime string `gorm:"column:ctime" form:"ctime" json:"-"` |
|
MTime string `gorm:"column:mtime" form:"mtime" json:"-"` |
|
RewardIDs string `gorm:"-" form:"reward_ids" json:"-"` |
|
Comment string `gorm:"-" form:"comment" json:"comment"` |
|
Tasks []*Task `json:"tasks"` |
|
Reward []*RewardResult `json:"reward"` |
|
} |
|
|
|
//TaskGroupReward for task group relation reward. |
|
type TaskGroupReward struct { |
|
ID int64 `gorm:"column:id" form:"id" json:"id"` |
|
TaskGroupID int64 `gorm:"column:task_group_id" form:"task_group_id" json:"task_group_id"` |
|
RewardID int64 `gorm:"column:reward_id" form:"reward_id" json:"reward_id"` |
|
State int8 `gorm:"column:state" form:"state" json:"state"` |
|
CTime string `gorm:"column:ctime" form:"ctime" json:"-"` |
|
MTime string `gorm:"column:mtime" form:"mtime" json:"-"` |
|
} |
|
|
|
//OrderTask for task or task group order. |
|
type OrderTask struct { |
|
ID int64 `form:"id" validate:"required"` |
|
Rank int64 `form:"rank" validate:"required"` |
|
SwitchID int64 `form:"switch_id" validate:"required"` |
|
SwitchRank int64 `form:"switch_rank" validate:"required"` |
|
} |
|
|
|
//RewardResult for task group relation reward result. |
|
type RewardResult struct { |
|
RewardID int64 `json:"reward_id"` |
|
RewardName string `json:"reward_name"` |
|
} |
|
|
|
//TableName get table name |
|
func (t *Task) TableName() string { |
|
return "newcomers_task" |
|
} |
|
|
|
//TableName get table name |
|
func (tr *TaskReward) TableName() string { |
|
return "newcomers_task_reward" |
|
} |
|
|
|
// Task for def task struct. |
|
type Task struct { |
|
ID int64 `gorm:"column:id" form:"id" json:"id"` |
|
GroupID int64 `gorm:"column:group_id" form:"group_id" json:"group_id"` |
|
Title string `gorm:"column:title" form:"title" json:"title"` |
|
Desc string `gorm:"column:desc" form:"desc" json:"desc"` |
|
Comment string `gorm:"column:comment" form:"comment" json:"comment"` |
|
Type int8 `gorm:"column:type" form:"type" json:"type"` |
|
State int8 `gorm:"column:state" form:"state" json:"state"` |
|
TargetType int8 `gorm:"column:target_type" form:"target_type" json:"target_type"` |
|
TargetValue int32 `gorm:"column:target_value" form:"target_value" json:"target_value"` |
|
Rank int64 `gorm:"column:rank" form:"rank" json:"rank"` |
|
Extra string `gorm:"column:extra" form:"extra" json:"extra"` //跳转链接等附加信息,json格式 |
|
FanRange string `gorm:"column:fan_range" form:"fan_range" json:"fan_range"` //粉丝范围, json格式 |
|
UpTime string `gorm:"column:up_time" form:"up_time" json:"up_time"` //月常活动任务-上线时间 |
|
DownTime string `gorm:"column:down_time" form:"down_time" json:"down_time"` //月常活动任务-下线时间 |
|
CTime string `gorm:"column:ctime" form:"ctime" json:"-"` |
|
MTime string `gorm:"column:mtime" form:"mtime" json:"-"` |
|
RewardIDs string `gorm:"-" form:"reward_ids" json:"-"` |
|
Reward []*RewardResult `json:"reward"` |
|
} |
|
|
|
//TaskReward for task relation reward. |
|
type TaskReward struct { |
|
ID int64 `gorm:"column:id" form:"id" json:"id"` |
|
TaskID int64 `gorm:"column:task_id" form:"task_id" json:"task_id"` |
|
RewardID int64 `gorm:"column:reward_id" form:"reward_id" json:"reward_id"` |
|
State int8 `gorm:"column:state" form:"state" json:"state"` |
|
Comment string `gorm:"column:comment" form:"comment" json:"comment"` |
|
CTime string `gorm:"column:ctime" form:"ctime" json:"-"` |
|
MTime string `gorm:"column:mtime" form:"mtime" json:"-"` |
|
} |
|
|
|
//TableName get table name |
|
func (r *Reward) TableName() string { |
|
return "newcomers_reward" |
|
} |
|
|
|
//Reward for task reward. |
|
type Reward struct { |
|
ID int64 `gorm:"column:id" form:"id" json:"id"` |
|
ParentID int64 `gorm:"column:parent_id" form:"parent_id" json:"parent_id"` |
|
Type int8 `gorm:"column:type" form:"type" json:"type"` |
|
State int8 `gorm:"column:state" form:"state" json:"state"` |
|
IsActive int8 `gorm:"column:is_active" form:"is_active" json:"is_active"` |
|
Name string `gorm:"column:name" form:"name" json:"name"` |
|
Logo string `gorm:"column:logo" form:"logo" json:"logo"` |
|
Comment string `gorm:"column:comment" form:"comment" json:"comment"` |
|
UnlockLogo string `gorm:"column:unlock_logo" form:"unlock_logo" json:"unlock_logo"` //奖励未解锁, logo url |
|
NameExtra string `gorm:"column:name_extra" form:"name_extra" json:"name_extra"` //支持奖励名称展示,json格式 |
|
PrizeID string `gorm:"column:prize_id" form:"prize_id" json:"prize_id"` //业务方奖品id |
|
PrizeUnit int8 `gorm:"column:prize_unit" form:"prize_unit" json:"prize_unit"` //奖品单位 |
|
Expire int16 `gorm:"column:expire" form:"expire" json:"expire"` //有效期 单位天 |
|
CTime string `gorm:"column:ctime" form:"ctime" json:"-"` |
|
MTime string `gorm:"column:mtime" form:"mtime" json:"-"` |
|
Children []*Reward `json:"children,omitempty"` |
|
} |
|
|
|
//TableName get table name |
|
func (gf *GiftReward) TableName() string { |
|
return "newcomers_gift_reward" |
|
} |
|
|
|
//GiftReward for task gift reward. |
|
type GiftReward struct { |
|
ID int64 `gorm:"column:id" form:"id" json:"id"` |
|
RootType uint8 `gorm:"column:root_type" form:"root_type" json:"root_type"` |
|
TaskType int64 `gorm:"column:task_type" form:"task_type" json:"task_type"` |
|
RewardID int64 `gorm:"column:reward_id" form:"reward_id" json:"-"` |
|
State int8 `gorm:"column:state" form:"state" json:"state"` |
|
Comment string `gorm:"column:comment" form:"comment" json:"comment"` |
|
CTime string `gorm:"column:ctime" form:"ctime" json:"-"` |
|
MTime string `gorm:"column:mtime" form:"mtime" json:"-"` |
|
RewardIDs string `gorm:"-" form:"reward_ids" json:"-"` |
|
Reward []*RewardResult `json:"reward"` |
|
} |
|
|
|
// LogParam for manager. |
|
type LogParam struct { |
|
UID int64 `json:"uid"` |
|
UName string `json:"uname"` |
|
Action string `json:"action"` |
|
OID int64 `json:"oid"` |
|
OIDs string `json:"oids"` |
|
OName string `json:"oname"` |
|
OState int8 `json:"ostate"` |
|
Content interface{} `json:"content"` |
|
}
|
|
|