修改PC任务领取

This commit is contained in:
chy
2025-07-08 13:39:35 +08:00
parent 1a5cc50881
commit fd64b0fe7a
4 changed files with 25 additions and 18 deletions

View File

@ -20,6 +20,7 @@ func (c *ControllerV1) GetTask(ctx context.Context, req *v1.GetTaskReq) (res *v1
GameId: req.GameId,
TaskName: req.TaskName,
TaskType: req.TaskType,
UserTimes: req.UserTimes,
})
if err != nil {
return nil, err

View File

@ -8,6 +8,7 @@ import (
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/gconv"
"github.com/gogf/gf/v2/util/guid"
"server/internal/consts"
"server/internal/dao"
"server/internal/model"
@ -389,7 +390,7 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
if err = dao.UserTasks.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {
// 创建任务记录
_, err = dao.UserTasks.Ctx(ctx).InsertAndGetId(do.UserTasks{
id, err := dao.UserTasks.Ctx(ctx).InsertAndGetId(do.UserTasks{
UserId: in.UserId,
TaskId: in.TaskId,
StoreId: storeId,
@ -398,28 +399,31 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
TaskName: in.TaskName,
GameId: in.GameId,
TaskType: in.TaskType,
UserTimes: in.UserTimes,
})
if err != nil {
return ecode.Fail.Sub("创建用户任务记录失败")
}
// 查询该任务相关联的奖励, 创建对应奖励下发记录id
//array, err := dao.TaskRewards.Ctx(ctx).LeftJoin(dao.Rewards.Table(), "rewards.id = task_rewards.reward_id").Where(do.TaskRewards{TaskId: in.TaskId}).Fields(dao.TaskRewards.Columns().RewardId).Fields(dao.Rewards.Columns().Name).All()
//if err != nil {
// return ecode.Fail.Sub("获取任务关联奖励列表失败")
//}
//for _, v := range array {
// _, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{
// UserTaskId: id,
// RewardId: v["reward_id"].Int64(),
// RewardName: v["name"].String(),
// Status: consts.RewardInitStatus,
// InnerOrderId: fmt.Sprintf("reward%s", guid.S()),
// }).Insert()
// if err != nil {
// return ecode.Fail.Sub("创建用户任务奖励记录失败")
// }
//}
//查询该任务相关联的奖励, 创建对应奖励下发记录id
array, err := dao.TaskRewards.Ctx(ctx).LeftJoin(dao.Rewards.Table(), "rewards.id = task_rewards.reward_id").Where(do.TaskRewards{TaskId: in.TaskId}).
Fields(dao.TaskRewards.Columns().RewardId).Fields(dao.Rewards.Columns().Name).All()
if err != nil {
return ecode.Fail.Sub("获取任务关联奖励列表失败")
}
for _, v := range array {
_, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{
UserTaskId: id,
RewardId: v["reward_id"].Int64(),
RewardName: v["name"].String(),
Status: consts.RewardInitStatus,
InnerOrderId: fmt.Sprintf("reward%s", guid.S()),
IssueQuantity: 1,
}).Insert()
if err != nil {
return ecode.Fail.Sub("创建用户任务奖励记录失败")
}
}
return
}); err != nil {
return nil, err

View File

@ -122,6 +122,7 @@ type GetTaskIn struct {
TaskName string `json:"taskName"`
GameId int `json:"gid"`
TaskType int `json:"taskType"`
UserTimes int `json:"userTimes"`
}
type GetTaskOut struct {