func (s *adminuUserStore) RegisteredUsers(req *admin.RegisteredUsersReq) ([]*model.User, int64, error) {
users := make([]*model.User, 0)
db := s.db.Model(&model.User{})
if req.UID != 0 {
db = db.Where("id = ?", req.UID)
}
if req.Mobile != "" {
db = db.Where("mobile = ?", req.Mobile)
}
if req.StartAt != 0 {
db = db.Where("created_at >= ?", time.Unix(req.StartAt, 0))
}
if req.EndAt != 0 {
db = db.Where("created_at <= ?", time.Unix(req.EndAt, 0))
}
var total int64
db.Count(&total)
if req.Limit != 0 {
db = db.Limit(req.Limit)
} else {
db = db.Limit(20)
}
if req.Offset != 0 {
db = db.Offset(req.Offset)
}
if req.SortBy != "" {
if req.OrderBy == "" {
db = db.Order(req.SortBy)
} else {
db = db.Order(req.SortBy + " desc")
}
}
err := db.Scan(&users).Error
########################
return users, total, err
########################
}
########################
registeredUsersRes := &RegisteredUsersRes{
List: make([]*RegisteredUserRes, 0),
Total: 0,
}
########################
users, total, err := store.AdminUser.RegisteredUsers(req)
if err != nil {
return registeredUsersRes, err
}
#######################