diff --git a/call/task.go b/call/task.go index 9c1cb64..652cdd9 100644 --- a/call/task.go +++ b/call/task.go @@ -22,7 +22,7 @@ func CheckTask(task Task) { uid := task.Uid for _, v := range con { for _, t := range task.Types { - if (t == common.TaskTypeOnceRecharge || t == common.TaskTypeInvite) && v.Type == t { // 单次充值任务 || 首次充值任务 || v.Type == common.TaskTypeFirstRecharge) + if (t == common.TaskTypeOnceRecharge || t == common.TaskTypeInvite || t == common.TaskTypeDownload) && v.Type == t { // 单次充值任务 || 首次充值任务 || v.Type == common.TaskTypeFirstRecharge) data := GetUserTaskDataByTaskID(task.Uid, v.TaskID) if data.ID == 0 { db.Mysql().Create(&common.TaskData{UID: uid, TaskID: v.TaskID, Time: now, Progress: v.Target}) diff --git a/common/task.go b/common/task.go index aab37ae..24f7550 100644 --- a/common/task.go +++ b/common/task.go @@ -9,6 +9,7 @@ const ( TaskTypePlayGame // 参与一次牌局 TaskTypeBet1000 // 累计下注1000 TaskTypeBet10000 // 累计下注10000 + TaskTypeDownload // 下载 TaskTypeAll ) @@ -47,6 +48,7 @@ const ( TaskKindZero = iota TaskKindOnce TaskKindCycle + TaskKindDayOne TaskKindAll ) @@ -59,7 +61,7 @@ type ConfigTask struct { 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"` Open int `gorm:"column:open;type:int(11);default:1;comment:开关 1打开" web:"open"` - Kind int `gorm:"column:kind;type:int(11);default:1;comment:1单次 2循环" web:"kind"` + Kind int `gorm:"column:kind;type:int(11);default:1;comment:1单次 2循环 3 每日一次" web:"kind"` Type TaskType `gorm:"column:type;type:int(11);default:1;comment:1注册 2下载" web:"type"` Title string `gorm:"column:title;type:varchar(256);default:'';comment:标题" web:"title"` Icon string `gorm:"column:icon;type:varchar(256);default:'';comment:图标" web:"icon"` diff --git a/modules/web/app/activity.go b/modules/web/app/activity.go index 71532ec..a470277 100644 --- a/modules/web/app/activity.go +++ b/modules/web/app/activity.go @@ -51,6 +51,7 @@ func (a *Gin) GetUserTaskStatus() (ret []*values.OneTask) { if a.UID <= 0 { return } + now := time.Now() task := call.GetUserTaskData(a.UID) for _, v := range ret { @@ -59,7 +60,7 @@ func (a *Gin) GetUserTaskStatus() (ret []*values.OneTask) { v.Progess = k.Progress taskTime := time.Unix(k.Time, 0) // 跨天清空数据 - if !util.IsSameDay(now, taskTime) { + if !util.IsSameDay(now, taskTime) && v.Kind == common.TaskKindDayOne { v.Status = 0 v.Progess = 0 err := db.Mysql().Update(&k, map[string]interface{}{ @@ -70,9 +71,15 @@ func (a *Gin) GetUserTaskStatus() (ret []*values.OneTask) { log.Error("GetUserTaskStatus err:%v", err) } } + break } } + if v.Type == int(common.TaskTypeDownload) { // 已下载直接标记为完成 + if a.DeviceType == common.DeviceTypeWebview || a.DeviceType == common.DeviceTypePWA { + call.CheckTask(call.Task{Uid: a.UID, Value: 0, Types: []common.TaskType{common.TaskTypeDownload}}) + } + } // 非次数任务,需转换目标数值 // if !common.IsNumTaskType(v.Type) && v.Progess > 0 { // v.Progess /= common.DecimalDigits diff --git a/modules/web/handler/firstpage.go b/modules/web/handler/firstpage.go index 5e1c777..fc1485f 100644 --- a/modules/web/handler/firstpage.go +++ b/modules/web/handler/firstpage.go @@ -97,10 +97,10 @@ func FirstPage(c *gin.Context) { if len(list) > 0 { resp.Esport = list[0] } - // task := call.GetConfigTaskByTaskType(common.TaskTypeDownload) - // if len(task) > 0 { - // resp.DownloadAppReward = task[0].Reward - // } + task := call.GetConfigTaskByTaskType(int(common.TaskTypeDownload)) + if len(task) > 0 { + resp.DownloadAppReward = task[0].Reward + } resp.ShowData = GetFirstShowData() } diff --git a/modules/web/handler/h5.go b/modules/web/handler/h5.go index a627288..35242b8 100644 --- a/modules/web/handler/h5.go +++ b/modules/web/handler/h5.go @@ -90,6 +90,7 @@ func H5DownloadDraw(c *gin.Context) { a.Code = values.CodeRetry return } + // call.UpdateCurrencyPro(&common.UpdateCurrencyNotify{ // Pairs: []*common.CurrencyPair{{Type: common.CurrencyTypeBindCash, Value: con.DownloadReward}}, // CurrencyBalance: &common.CurrencyBalance{ diff --git a/modules/web/handler/task.go b/modules/web/handler/task.go index e057d7c..4697c32 100644 --- a/modules/web/handler/task.go +++ b/modules/web/handler/task.go @@ -60,7 +60,7 @@ func DrawTask(c *gin.Context) { // } var rows int64 var err error - if con.Kind == common.TaskKindOnce { + if con.Kind == common.TaskKindOnce || con.Kind == common.TaskKindDayOne { rows, err = db.Mysql().UpdateRes(&common.TaskData{UID: a.UID, TaskID: req.TaskID, Progress: task.Progress}, map[string]interface{}{"progress": -1}) } else if con.Kind == common.TaskKindCycle { rows, err = db.Mysql().UpdateRes(&common.TaskData{UID: a.UID, TaskID: req.TaskID, Progress: task.Progress}, map[string]interface{}{"progress": 0})