diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index fba0fcf..7488fd8 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -80,9 +80,10 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki if in.Size == 0 { in.Size = 10 } - + var storeId int if in.StoreId > 0 { m = m.Where(dao.UserTasks.Columns().StoreId, in.StoreId) + storeId = in.StoreId } else if in.NetBarAccount != "" && in.StoreId <= 0 { value, err := dao.Stores.Ctx(ctx).Where(dao.Stores.Columns().NetbarAccount, in.NetBarAccount).Fields(dao.Stores.Columns().Id).Value() if err != nil { @@ -91,9 +92,8 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki if value.IsEmpty() { return nil, ecode.Fail.Sub("门店不存在") } - - m = m.Where(dao.UserTasks.Columns().StoreId, value.Int()) - + storeId = value.Int() + m = m.Where(dao.UserTasks.Columns().StoreId, storeId) } list := make([]model.UserTaskRankingArgs, 0) @@ -112,7 +112,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki var loginUserRanking []model.LoginUserRanking var loginUserRankingNum model.LoginUserRankingNum 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, in.StoreId).Where(dao.UserTasks.Columns().Status, 2). + 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). WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).Group("user_id"). Value() @@ -127,7 +127,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())). - Fields("username,count(*) num").Where(dao.UserTasks.Columns().StoreId, in.StoreId).Where(dao.UserTasks.Columns().Status, 2). + Fields("username,count(*) num").Where(dao.UserTasks.Columns().StoreId, storeId).Where(dao.UserTasks.Columns().Status, 2). WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id"). Scan(&loginUserRanking)