实现用户领取任务时,创建对应的奖励记录

This commit is contained in:
2025-06-26 11:15:17 +08:00
parent 085102b99d
commit 9bfdaf5fa2
4 changed files with 11 additions and 8 deletions

View File

@ -4,6 +4,7 @@ import (
"context"
"fmt"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/util/guid"
"server/internal/consts"
"server/internal/dao"
"server/internal/model"
@ -359,6 +360,7 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
return ecode.Fail.Sub("创建用户任务记录失败")
}
snowid.GetSnowClient()
// 查询该任务相关联的奖励, 创建对应奖励下发记录id
array, err := dao.TaskRewards.Ctx(ctx).Where(do.TaskRewards{TaskId: in.TaskId}).Fields(dao.TaskRewards.Columns().RewardId).Array()
if err != nil {
@ -366,9 +368,10 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
}
for _, v := range array {
_, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{
UserTaskId: id,
RewardId: v.Int64(),
Status: consts.RewardInitStatus,
UserTaskId: id,
RewardId: v.Int64(),
Status: consts.RewardInitStatus,
InnerOrderId: fmt.Sprintf("reward%s", guid.S()),
}).Insert()
if err != nil {
return ecode.Fail.Sub("创建用户任务奖励记录失败")