From 6c1ce4a097bbdeb05790b03de897ed9e03ba098d Mon Sep 17 00:00:00 2001 From: mofangmin Date: Wed, 14 Aug 2024 10:41:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=A5=96=E5=8A=B1=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/web/handler/activity.go | 9 +++------ modules/web/handler/user.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/modules/web/handler/activity.go b/modules/web/handler/activity.go index e2e0226..0200d77 100644 --- a/modules/web/handler/activity.go +++ b/modules/web/handler/activity.go @@ -67,14 +67,11 @@ func GetUserTaskStatus(a *app.Gin) (ret []*values.OneTask) { break } } - if v.Type == int(common.TaskTypeDownload) { // 已下载直接标记为完成 + if v.Type == int(common.TaskTypeDownload) && v.Progess != -1 { // 已下载直接标记为完成 if a.DeviceType == common.DeviceTypeWebview || a.DeviceType == common.DeviceTypePWA { - taskId := call.CheckTask(call.Task{Uid: a.UID, Value: 0, Types: []common.TaskType{common.TaskTypeDownload}}) // 直接领取下载奖励 - util.Go(func() { - time.Sleep(time.Second * 3) - TaskComplete(a, &DrawTaskReq{TaskID: taskId}) - }) + taskId := call.CheckTask(call.Task{Uid: a.UID, Value: 0, Types: []common.TaskType{common.TaskTypeDownload}}) + TaskComplete(a, &DrawTaskReq{TaskID: taskId}) a.Code = values.CodeOK a.Msg = "" } diff --git a/modules/web/handler/user.go b/modules/web/handler/user.go index 09bf20d..4e2279f 100644 --- a/modules/web/handler/user.go +++ b/modules/web/handler/user.go @@ -30,6 +30,7 @@ func GetUserInfo(c *gin.Context) { if req.UID > 0 { uid = req.UID } + CheckTask(a) pd := &common.PlayerData{UID: uid} db.Mysql().Get(pd) ret, err := call.GetUserXInfo(uid, "avatar", "nick", "mobile", "birth") @@ -275,6 +276,34 @@ func newContext(c *gin.Context) *gin.Context { return nContext } +// CheckTask 完成任务 +func CheckTask(a *app.Gin) { + var taskList []*values.OneTask + tasks := call.GetConfigTask() + for _, v := range tasks { + one := &values.OneTask{ + ID: v.ID, + TaskID: v.TaskID, + Target: v.Target, + Reward: v.Reward, + Kind: v.Kind, + Type: int(v.Type), + Icon: v.Icon, + Title: common.GetTaskTitle(v), + Action: v.Action, + } + taskList = append(taskList, one) + } + for _, v := range taskList { + if v.Type == int(common.TaskTypeDownload) && v.Progess != -1 { // 已下载直接标记为完成 + if a.DeviceType == common.DeviceTypeWebview || a.DeviceType == common.DeviceTypePWA { + // 直接领取下载奖励 + taskId := call.CheckTask(call.Task{Uid: a.UID, Value: 0, Types: []common.TaskType{common.TaskTypeDownload}}) + TaskComplete(a, &DrawTaskReq{TaskID: taskId}) + } + } + } +} func CheckRedPoint(uid int, c *gin.Context) { // 防止玩家未连接网关,所以延迟3秒 time.AfterFunc(time.Second*3, func() {