|
|
|
|
package common
|
|
|
|
|
|
|
|
|
|
import "time"
|
|
|
|
|
|
|
|
|
|
type TaskType int
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
TaskTypeZero TaskType = iota
|
|
|
|
|
TaskTypeInviter // 邀请好友
|
|
|
|
|
TaskTypeRecharge // 充值次数
|
|
|
|
|
TaskTypeBet // 累计下注
|
|
|
|
|
TaskTypeUnlockWeekCard // 解锁周卡
|
|
|
|
|
TaskTypeJoinChannel // 加入频道
|
|
|
|
|
|
|
|
|
|
TaskTypeDownload // app下载
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// TaskTypeFirstRecharge // 首次充值任务
|
|
|
|
|
// TaskTypeRegist // 注册任务
|
|
|
|
|
// TaskTypeDownload // 下载app任务
|
|
|
|
|
// TaskTypeTotalRecharge // 累充任务
|
|
|
|
|
// 完成任意一次充值
|
|
|
|
|
// (每日重置一次)
|
|
|
|
|
// 完成一次好友邀请
|
|
|
|
|
// (每日重置一次,这里要有效好友才可完成,有效好友意思是只邀请的玩家充值了200卢比)
|
|
|
|
|
// 参与一次牌局
|
|
|
|
|
// (任务每日重置一次)
|
|
|
|
|
// 累记下注到1000
|
|
|
|
|
// (每日任务重置一次)
|
|
|
|
|
// 累记下注到10000
|
|
|
|
|
// (每日任务重置一次)
|
|
|
|
|
|
|
|
|
|
// 判读任务的目标是否是次数
|
|
|
|
|
func IsNumTaskType(t int) bool {
|
|
|
|
|
// return t == TaskTypeOnceRecharge || t == TaskTypeInvite || t == TaskTypePlayGame
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetTaskTitle(task *ConfigTask) string {
|
|
|
|
|
// switch task.Type {
|
|
|
|
|
// case TaskTypeTotalRecharge:
|
|
|
|
|
// return fmt.Sprintf(task.Title, task.Target/DecimalDigits)
|
|
|
|
|
// case TaskTypeOnceRecharge:
|
|
|
|
|
// return fmt.Sprintf(task.Title, task.Target/DecimalDigits)
|
|
|
|
|
// }
|
|
|
|
|
return task.Title
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
TaskKindZero = iota
|
|
|
|
|
TaskKindOnce
|
|
|
|
|
TaskKindCycle
|
|
|
|
|
TaskKindDayOne
|
|
|
|
|
TaskKindAll
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// ConfigTask 任务配置
|
|
|
|
|
// Kind 1单次 2循环
|
|
|
|
|
// Type 1注册 2下载 3累充 4单次充
|
|
|
|
|
type ConfigTask struct {
|
|
|
|
|
ID int `gorm:"primary_key;AUTO_INCREMENT;column:id"`
|
|
|
|
|
Open int `gorm:"column:open;type:int(11);default:1;comment:开关 1打开" web:"open"`
|
|
|
|
|
TaskID int `gorm:"column:task_id;type:int(11);default:0;uniqueIndex:task_id;comment:任务id" web:"task_id"`
|
|
|
|
|
Target int64 `gorm:"column:target;type:bigint(20);default:0;comment:任务目标" web:"target"`
|
|
|
|
|
Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:奖励" web:"reward"`
|
|
|
|
|
Type TaskType `gorm:"column:type;type:int(11);default:1;comment:任务类型(1:邀请玩家注册,2:充值,3:下注额,4:解锁周卡,5:订阅频道)" web:"type"`
|
|
|
|
|
Cycle int `gorm:"column:cycle;type:int(11);default:1;comment:1每日 2每周 3每月 4单次" web:"cycle"`
|
|
|
|
|
Sort int `gorm:"column:sort;type:int(11);default:0;comment:排序" web:"sort"`
|
|
|
|
|
Title string `gorm:"column:title;type:varchar(256);default:'';comment:标题" web:"title"`
|
|
|
|
|
Remark string `gorm:"column:remark;type:varchar(256);default:'';comment:备注" web:"remark"`
|
|
|
|
|
PreTaskId int `gorm:"column:pre_task_id;type:int(11);default:0;comment:前置任务id" web:"pre_task_id"`
|
|
|
|
|
Url string `gorm:"column:url;type:varchar(256);default:'';comment:跳转链接" web:"url"`
|
|
|
|
|
Expand string `gorm:"column:expand;type:varchar(256);default:'';comment:扩展信息" web:"expand"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ConfigTaskStr struct {
|
|
|
|
|
*ConfigTask
|
|
|
|
|
Exist bool
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (c *ConfigTask) TableName() string {
|
|
|
|
|
return "config_task"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type TaskData struct {
|
|
|
|
|
ID int64 `gorm:"primary_key;AUTO_INCREMENT;column:id"` // 自增id
|
|
|
|
|
UID int `gorm:"column:uid;type:int(11);not null;uniqueIndex:task_idx,priority:1;comment:玩家id" json:"uid"` // 玩家id
|
|
|
|
|
TaskID int `gorm:"column:task_id;type:int(11);not null;uniqueIndex:task_idx,priority:2;comment:任务id" json:"task_id"` // 任务id
|
|
|
|
|
TaskType int `gorm:"column:task_type;type:int(11);not null;comment:任务类型(1:邀请玩家注册,2:充值,3:下注额,4:解锁周卡,5:订阅频道)" json:"task_type"` // 任务类型(1:邀请玩家注册,2:充值,3:下注额,4:解锁周卡,5:订阅频道)
|
|
|
|
|
TaskValue int `gorm:"column:task_value;type:int(11);not null;comment:任务值" json:"task_value"` // 任务值
|
|
|
|
|
TaskStatus int `gorm:"column:task_status;type:int(11);not null;comment:任务状态(-1:未开启,0:未完成,1:已完成,2:已领取)" json:"task_status"` // 任务状态(-1:未开启,0:未完成,1:已完成,2:已领取)
|
|
|
|
|
EndAt int64 `gorm:"column:end_at;type:bigint(20);not null;comment:任务终止时间" json:"end_at"` // 任务终止时间
|
|
|
|
|
CreatedAt time.Time `gorm:"column:created_at;type:datetime;not null;comment:创建时间" json:"created_at"` // 创建时间
|
|
|
|
|
UpdatedAt time.Time `gorm:"column:updated_at;type:datetime;not null;comment:更新时间" json:"updated_at"` // 更新时间
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (c *TaskData) TableName() string {
|
|
|
|
|
return "task_data"
|
|
|
|
|
}
|