调整已登录任务列表接口
This commit is contained in:
@ -2,6 +2,7 @@ package task
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"server/internal/model"
|
||||
"server/internal/service"
|
||||
|
||||
@ -9,6 +10,7 @@ import (
|
||||
)
|
||||
|
||||
func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTaskListReq) (res *v1.GetLoginTaskListRes, err error) {
|
||||
userId := g.RequestFromCtx(ctx).Get("id")
|
||||
out, err := service.Task().GetLoginTaskList(ctx, &model.GetTaskListIn{
|
||||
Gid: req.Gid,
|
||||
NetBarAccount: req.NetBarAccount,
|
||||
@ -16,6 +18,7 @@ func (c *ControllerV1) GetLoginTaskList(ctx context.Context, req *v1.GetLoginTas
|
||||
Num: req.Num,
|
||||
Pageidx: req.Pageidx,
|
||||
BindType: req.BindType,
|
||||
UserId: userId.Int64(),
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
|
||||
@ -429,8 +429,6 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
|
||||
if err != nil {
|
||||
return ecode.Fail.Sub("修改用户任务奖励记录状态异常")
|
||||
}
|
||||
|
||||
return
|
||||
} else if item.Result == 2 || item.Result == 3 {
|
||||
// 发放背包成功,修改状态
|
||||
_, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{
|
||||
|
||||
@ -229,7 +229,7 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
QqNetbarTargetTime: task.TargetTimes,
|
||||
StartTime: task.CycleStart,
|
||||
EndTime: task.CycleEnd,
|
||||
Status: task.Status,
|
||||
//Status: task.Status,
|
||||
}
|
||||
data.UserTaskResult.Usertimes = task.UserTimes
|
||||
// 组装门店奖励数据
|
||||
@ -252,7 +252,33 @@ func (s *sTask) GetLoginTaskList(ctx context.Context, in *model.GetTaskListIn) (
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 任务状态=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()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询用户门店任务奖励失败")
|
||||
}
|
||||
|
||||
if count > 0 {
|
||||
data.Status = 2
|
||||
} else {
|
||||
data.Status = 3
|
||||
}
|
||||
} else {
|
||||
data.Status = task.Status
|
||||
}
|
||||
tasks = append(tasks, data)
|
||||
|
||||
// 根据用户完成次数和任务指标次数判任务是否完成,修改任务记录状态为 3
|
||||
if int(task.UserTimes) >= task.TargetTimes {
|
||||
_, err := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{TaskId: task.TaskID}).Where(do.UserTasks{UserId: in.UserId}).Data(do.UserTasks{Status: 3}).Update()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("更新用户任务记录状态异常")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return &model.GetTaskListOut{
|
||||
|
||||
@ -39,6 +39,7 @@ type GetTaskListIn struct {
|
||||
BrandId string `json:"brand_id"` // 品牌id(可选)
|
||||
PopenId string `json:"POpenId"`
|
||||
BindType int `json:"bindType"` // 1:QQ 2:微信
|
||||
UserId int64 `json:"user_id"`
|
||||
}
|
||||
|
||||
type GetNonLoginTaskListOut struct {
|
||||
|
||||
Reference in New Issue
Block a user