// 咨询师查看负7天之后的所有咨询 func (rl *ReservationLogic) GetReservationsByTeacher(userId string, userType models.UserType) ([]*models.Reservation, error) { if len(userId) == 0 { return nil, errors.New("请先登录") } else if userType != models.TEACHER { return nil, errors.New("权限不足") } teacher, err := models.GetUserById(userId) if err != nil { return nil, errors.New("请先登录") } else if teacher.UserType != models.TEACHER { return nil, errors.New("权限不足") } from := time.Now().In(utils.Location).AddDate(0, 0, -7) reservations, err := models.GetReservationsAfterTime(from) if err != nil { return nil, errors.New("获取数据失败") } var result []*models.Reservation for _, r := range reservations { if r.Status == models.AVAILABLE && r.StartTime.Before(time.Now().In(utils.Location)) { continue } else if strings.EqualFold(r.TeacherUsername, teacher.Username) { result = append(result, r) } } return result, nil }
// 管理员查看负7天之后的所有咨询 func (rl *ReservationLogic) GetReservationsByAdmin(userId string, userType models.UserType) ([]*models.Reservation, error) { if len(userId) == 0 { return nil, errors.New("请先登录") } else if userType != models.ADMIN { return nil, errors.New("权限不足") } admin, err := models.GetUserById(userId) if err != nil || admin.UserType != models.ADMIN { return nil, errors.New("管理员账户出错,请联系技术支持") } from := time.Now().In(utils.Location).AddDate(0, 0, -7) reservations, err := models.GetReservationsAfterTime(from) if err != nil { return nil, errors.New("获取数据失败") } var result []*models.Reservation for _, r := range reservations { if r.Status == models.AVAILABLE && r.StartTime.Before(time.Now().In(utils.Location)) { continue } result = append(result, r) } return result, nil }