123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- 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"`
- }
|