Merge remote-tracking branch 'origin/master'
This commit is contained in:
@ -480,15 +480,7 @@ func (s *sReward) GetGoodsDetails(ctx context.Context, in *model.GetGoodsDetails
|
||||
|
||||
func (s *sReward) OperateTaskReward(ctx context.Context, in *model.OperateTaskRewardIn) (out *model.OperateTaskRewardOut, err error) {
|
||||
// 如果是系统管理员给任务添加奖励,需要校验奖励的来源
|
||||
exist, err := dao.Tasks.Ctx(ctx).Where(do.Tasks{Id: in.TaskId}).Exist()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("任务不存在")
|
||||
}
|
||||
if !exist {
|
||||
return nil, ecode.Params.Sub("任务不存在")
|
||||
}
|
||||
|
||||
exist, err = dao.Rewards.Ctx(ctx).Where(do.Rewards{Id: in.RewardId}).Exist()
|
||||
exist, err := dao.Rewards.Ctx(ctx).Where(do.Rewards{Id: in.RewardId}).Exist()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("奖励不存在")
|
||||
}
|
||||
|
||||
@ -160,15 +160,31 @@ func (s *sTask) GetNonLoginTaskList(ctx context.Context, in *model.GetTaskListIn
|
||||
QqNetbarTaskName: task.Title,
|
||||
QqNetbarTaskMemo: task.TaskDesc,
|
||||
QqNetbarTaskRules: task.RuleDesc,
|
||||
QqNetbarReward: task.TargetName,
|
||||
QqNetbarTargetName: task.TargetName,
|
||||
QqNetbarTargetTime: task.TargetTimes,
|
||||
StartTime: task.CycleStart,
|
||||
EndTime: task.CycleEnd,
|
||||
}
|
||||
|
||||
// 组装门店奖励数据
|
||||
err := dao.StoreTaskRewards.Ctx(ctx).InnerJoin(dao.Rewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().RewardId, dao.Rewards.Table(), dao.Rewards.Columns().Id)).
|
||||
Where(dao.StoreTaskRewards.Columns().TaskId, task.TaskID).Fields(fmt.Sprintf("%s.*", dao.Rewards.Table())).Scan(&data.NetbarRewards)
|
||||
// 组装奖励数据
|
||||
err := dao.TaskRewards.Ctx(ctx).
|
||||
LeftJoin(dao.Rewards.Table(),
|
||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||
dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
||||
dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId)).
|
||||
LeftJoin(dao.RewardTypes.Table(),
|
||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id,
|
||||
dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId)).
|
||||
Fields(
|
||||
fmt.Sprintf("%s.*, `%s`.`%s` AS %s, `%s`.`%s` AS %s",
|
||||
dao.Rewards.Table(),
|
||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name,
|
||||
"reward_type_name",
|
||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Source,
|
||||
"reward_type_source",
|
||||
),
|
||||
).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&data.Rewards)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -202,7 +218,7 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
QqNetbarTaskName: task.Title,
|
||||
QqNetbarTaskMemo: task.TaskDesc,
|
||||
QqNetbarTaskRules: task.RuleDesc,
|
||||
QqNetbarReward: task.TargetName,
|
||||
QqNetbarTargetName: task.TargetName,
|
||||
QqNetbarTargetTime: task.TargetTimes,
|
||||
StartTime: task.CycleStart,
|
||||
EndTime: task.CycleEnd,
|
||||
@ -210,9 +226,22 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
}
|
||||
data.UserTaskResult.Usertimes = task.UserTimes
|
||||
// 组装门店奖励数据
|
||||
err := dao.Tasks.Ctx(ctx).InnerJoin(dao.StoreTaskRewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.Tasks.Table(), dao.Tasks.Columns().Id, dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().TaskId)).
|
||||
InnerJoin(dao.Rewards.Table(), fmt.Sprintf("%s.%s = %s.%s", dao.StoreTaskRewards.Table(), dao.StoreTaskRewards.Columns().RewardId, dao.Rewards.Table(), dao.Rewards.Columns().Id)).
|
||||
Where(dao.Tasks.Columns().QqNetbarTaskId, task.TaskID).Fields(fmt.Sprintf("%s.*", dao.Rewards.Table())).Scan(&data.NetbarRewards)
|
||||
err := dao.TaskRewards.Ctx(ctx).
|
||||
LeftJoin(dao.Rewards.Table(),
|
||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||
dao.Rewards.Table(), dao.Rewards.Columns().Id,
|
||||
dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId)).
|
||||
LeftJoin(dao.RewardTypes.Table(),
|
||||
fmt.Sprintf("`%s`.`%s` = `%s`.`%s`",
|
||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id,
|
||||
dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId)).
|
||||
Fields(
|
||||
fmt.Sprintf("%s.*, `%s`.`%s` AS %s",
|
||||
dao.Rewards.Table(),
|
||||
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name,
|
||||
"reward_type_name",
|
||||
),
|
||||
).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&data.Rewards)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user