调整任务查询,回调,奖励类型查询
This commit is contained in:
@ -354,7 +354,19 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
|
||||
}
|
||||
var userTask []*model.UserTask
|
||||
|
||||
err = dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId, StoreId: storeId, GameId: in.GameId}).WhereNot("status", 3).Scan(&userTask)
|
||||
// 根据任务类型判断是否存在该任务
|
||||
if in.TaskType == 1 {
|
||||
now := time.Now()
|
||||
// 当天开始时间
|
||||
start := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())
|
||||
// 当天结束时间
|
||||
end := time.Date(now.Year(), now.Month(), now.Day(), 23, 59, 59, 0, now.Location())
|
||||
err = dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId, StoreId: storeId, GameId: in.GameId}).
|
||||
WhereBetween(dao.UserTasks.Columns().CreatedAt, start, end).WhereNot("status", 3).Scan(&userTask)
|
||||
} else {
|
||||
err = dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId, StoreId: storeId, GameId: in.GameId}).WhereNot("status", 3).Scan(&userTask)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询用户该任务记录失败")
|
||||
}
|
||||
@ -379,6 +391,7 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
|
||||
SerialNumber: serialNumber,
|
||||
TaskName: in.TaskName,
|
||||
GameId: in.GameId,
|
||||
TaskType: in.TaskType,
|
||||
})
|
||||
if err != nil {
|
||||
return ecode.Fail.Sub("创建用户任务记录失败")
|
||||
@ -442,7 +455,6 @@ func (s *sTask) GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRe
|
||||
|
||||
// GetTaskList PC-WEB获取任务列表
|
||||
func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out *model.GetTaskListV2Out, err error) {
|
||||
|
||||
var tasks []model.Task
|
||||
var pageIdx string
|
||||
var data []model.GameTask
|
||||
@ -459,10 +471,13 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out
|
||||
return nil, ecode.Fail.Sub("解析任务信息失败")
|
||||
}
|
||||
tasks[i].Task = ""
|
||||
for _, i3 := range tasks[i].TaskRewards {
|
||||
tasks[i].GameTask.Reward = append(tasks[i].GameTask.Reward, i3.Rewards)
|
||||
}
|
||||
data = append(data, tasks[i].GameTask)
|
||||
}
|
||||
|
||||
return &model.GetTaskListV2Out{
|
||||
Data: tasks,
|
||||
Data: data,
|
||||
}, nil
|
||||
} else {
|
||||
// 已绑定
|
||||
@ -515,16 +530,18 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out
|
||||
//任务状态=1或者2不做操作,其他查询门店奖励是否全部领取
|
||||
if task.Status != 1 && task.Status != 2 {
|
||||
count, err := dao.UserTasks.Ctx(ctx).Where(dao.UserTasks.Columns().TaskId, task.TaskID).Where(dao.UserTasks.Columns().UserId, in.UserId).LeftJoin(dao.UserTaskRewards.Table(),
|
||||
fmt.Sprintf("%s.user_tasks_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id",
|
||||
dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where(dao.Rewards.Columns().Source, 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count()
|
||||
fmt.Sprintf("%s.user_task_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id",
|
||||
dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where("rewards.source", 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询用户门店任务奖励失败")
|
||||
}
|
||||
|
||||
if count > 0 {
|
||||
tasks[i].Status = 2
|
||||
result.TaskList[i].Status = 2
|
||||
//tasks[i].Status = 2
|
||||
} else {
|
||||
tasks[i].Status = 3
|
||||
result.TaskList[i].Status = 3
|
||||
//tasks[i].Status = 3
|
||||
}
|
||||
}
|
||||
//else {
|
||||
|
||||
Reference in New Issue
Block a user