修改任务列表完成任务修改任务记录完成时间

This commit is contained in:
chy
2025-07-09 18:00:37 +08:00
parent a6aa6e34e3
commit 2600c211c2

View File

@ -100,7 +100,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
var total int var total int
// SELECT `uid`,`nickname` FROM `user` ORDER BY `uid` asc // SELECT `uid`,`nickname` FROM `user` ORDER BY `uid` asc
err = m.Page(in.Page, in.Size).LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())). err = m.Page(in.Page, in.Size).LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())).
Fields("username,avatar,count(*) num").Where(dao.UserTasks.Columns().Status, 2).WhereOr(dao.UserTasks.Columns().Status, 3). Fields("username,avatar,count(*) num").WhereIn(dao.UserTasks.Columns().Status, []int{2, 3}).
WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id"). WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id").
ScanAndCount(&list, &total, false) ScanAndCount(&list, &total, false)
if err != nil { if err != nil {
@ -113,7 +113,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
var loginUserRankingNum model.LoginUserRankingNum var loginUserRankingNum model.LoginUserRankingNum
if in.OperatorId != 0 { if in.OperatorId != 0 {
value, err := dao.UserTasks.Ctx(ctx).Fields("count(*) num").Where(dao.UserTasks.Columns().UserId, in.OperatorId).Where(dao.UserTasks.Columns().StoreId, storeId). value, err := dao.UserTasks.Ctx(ctx).Fields("count(*) num").Where(dao.UserTasks.Columns().UserId, in.OperatorId).Where(dao.UserTasks.Columns().StoreId, storeId).
Where(dao.UserTasks.Columns().Status, 2).WhereOr(dao.UserTasks.Columns().Status, 3). WhereIn(dao.UserTasks.Columns().Status, []int{2, 3}).
WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).Group("user_id"). WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).Group("user_id").
Value() Value()
@ -128,8 +128,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
} }
err = dao.UserTasks.Ctx(ctx).LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())). err = dao.UserTasks.Ctx(ctx).LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())).
Fields("username,count(*) num").Where(dao.UserTasks.Columns().StoreId, storeId).Where(dao.UserTasks.Columns().Status, 2). Fields("username,count(*) num").WhereIn(dao.UserTasks.Columns().StoreId, storeId).Where(dao.UserTasks.Columns().Status, []int{2, 3}).
WhereOr(dao.UserTasks.Columns().Status, 3).
WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id"). WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id").
Scan(&loginUserRanking) Scan(&loginUserRanking)
@ -519,6 +518,12 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out
// 存在用户记录,自行判断用户是否完成任务 // 存在用户记录,自行判断用户是否完成任务
if v.UserTimes-one["user_times"].Int64() >= v.TargetTimes { if v.UserTimes-one["user_times"].Int64() >= v.TargetTimes {
completeTime := gtime.Now() completeTime := gtime.Now()
// 用户任务完成修改任务记录完成时间
_, err := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: v.TaskID}).Data(do.UserTasks{CompletedAt: completeTime}).Update()
if err != nil {
return nil, ecode.Fail.Sub("修改用户任务完成时间失败")
}
userTaskStatus := one["status"].Int64() userTaskStatus := one["status"].Int64()
if userTaskStatus == 1 { if userTaskStatus == 1 {
if err := dao.UserTasks.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) { if err := dao.UserTasks.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {