调整用户可领奖励列表和 用户任务记录列表接口
This commit is contained in:
@ -698,25 +698,30 @@ func (s *sReward) CallBack(ctx context.Context, in *model.RewardCallbackIn) (out
|
||||
}
|
||||
|
||||
func (s *sReward) GetUserClaimList(ctx context.Context, in *model.GetUserClaimListIn) (out *model.GetUserClaimListOut, err error) {
|
||||
// Input validation
|
||||
if in == nil || in.UserId == 0 || in.TaskId == "" {
|
||||
return nil, ecode.Params.Sub("用户任务记录不存在")
|
||||
}
|
||||
|
||||
// Initialize result slice
|
||||
rewards := make([]model.Reward, 0)
|
||||
var totalCount int
|
||||
|
||||
// Query user task record
|
||||
userTask, err := dao.UserTasks.Ctx(ctx).
|
||||
Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId}).
|
||||
Fields(dao.UserTasks.Columns().Id).
|
||||
One()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询用户任务记录异常")
|
||||
}
|
||||
if userTask == nil {
|
||||
return nil, ecode.Params.Sub("用户任务记录不存在")
|
||||
var userTaskId int64
|
||||
if in.UserTaskId == 0 {
|
||||
value, err := dao.UserTasks.Ctx(ctx).
|
||||
Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId}).
|
||||
Fields(dao.UserTasks.Columns().Id).
|
||||
Value()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询用户任务失败")
|
||||
}
|
||||
if value.IsEmpty() {
|
||||
return nil, ecode.Fail.Sub("用户任务不存在")
|
||||
}
|
||||
userTaskId = value.Int64()
|
||||
} else {
|
||||
exist, err := dao.UserTasks.Ctx(ctx).WherePri(in.UserTaskId).Exist()
|
||||
if err != nil || !exist {
|
||||
return nil, ecode.Fail.Sub("用户任务不存在")
|
||||
}
|
||||
userTaskId = in.UserTaskId
|
||||
}
|
||||
|
||||
// Build base query for rewards
|
||||
@ -729,7 +734,7 @@ func (s *sReward) GetUserClaimList(ctx context.Context, in *model.GetUserClaimLi
|
||||
Where(fmt.Sprintf("%s.%s = ?",
|
||||
dao.UserTaskRewards.Table(),
|
||||
dao.UserTaskRewards.Columns().UserTaskId),
|
||||
userTask["id"].Int64()).
|
||||
userTaskId).
|
||||
Where(dao.UserTaskRewards.Columns().DeletedAt, nil).
|
||||
Where(dao.Rewards.Columns().DeletedAt, nil)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user