package dao import ( "youngee_b_api/app/entity" ) type SecTaskInfoDao struct{} func (s SecTaskInfoDao) CountBySelectionId(selectionId string) (int64, error) { var count int64 err := Db.Model(&entity.SecTaskInfo{}).Where("selection_id = ?", selectionId).Count(&count).Error return count, err } // 获取带货子任务中指定悬赏阶段的数据 func (s SecTaskInfoDao) GetRewardDetailByRewardStage(selectionId string, rewardStage int64, order int64, page int, pageSize int) ([]*entity.SecTaskInfo, int64, error) { secTaskInfos := []*entity.SecTaskInfo{} var total int64 query := Db.Debug().Model(&entity.SecTaskInfo{}).Where("selection_id = ? AND reward_stage = ?", selectionId, rewardStage) query.Count(&total) query = query.Select("talent_id, sale_actual, withdraw_date") offset := (page - 1) * pageSize var err error if order == 1 { err = query.Order("withdraw_date asc").Offset(offset).Limit(pageSize).Find(&secTaskInfos).Error } else { err = query.Order("withdraw_date desc").Offset(offset).Limit(pageSize).Find(&secTaskInfos).Error } if err != nil { return nil, 0, err } return secTaskInfos, total, nil }