下载奖励发送逻辑修改

fix/release
mofangmin 1 year ago
parent 195a5aff52
commit 6c1ce4a097
  1. 7
      modules/web/handler/activity.go
  2. 29
      modules/web/handler/user.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)
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 = ""
}

@ -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() {

Loading…
Cancel
Save