у меня следующая проблема..
я использую spray.http.DateTime, и мой картограф:
implicit val JavaUtilDateTimeMapper =
MappedColumnType.base[DateTime, Timestamp] (
d => new Timestamp(d.clicks),
d => spray.http.DateTime(d.getTime))
case class EventosModelTable(
id: Option[Long],
idCliente: Option[Long],
idPlan: Option[Long] = None,
idServicio: Option[Long] = None,
tipo: TipoEventos.Value,
fechaInicio: DateTime,
fechaFin: Option[DateTime]
) extends BaseModel
class EventosTabla(tag: Tag) extends Table[EventosModelTable](tag, "eventos") with BaseTabla{
override def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
def idCliente = column[Long]("id_cliente")
def idPlan = column[Option[Long]]("id_plan")
def idServicio = column[Option[Long]]("id_servicio")
def tipo = column[TipoEventos.Value]("tipo_evento")
def fechaInicio = column[DateTime]("fecha_inicio")
def fechaFin = column[Option[DateTime]]("fecha_fin")
def * = (id.?,idCliente.?,idPlan,idServicio,tipo,fechaInicio,fechaFin) <> (EventosModelTable.tupled, EventosModelTable.unapply _)
def cliente = foreignKey("cliente",idCliente,TableQuery[ClientesTabla])(_.id)
def plan = foreignKey("plan",idPlan,TableQuery[PlanesTabla])(_.id)
}
тогда .. мне нужно найти событие, где fechaFin равно Null или fechaFin> DateTime.now ... но проблема в том, что fechaFin может быть Null, тогда это значение Option, и я не могу сравнить с DateTime.now .. ошибка компиляции что Some[DateTime] не имеет > метода.
буду признателен за любую помощь
запрос такой..
def getAltasBajas(id : Long) : DBIOAction[Seq[EventosModelTable],NoStream,Effect.All] = {
val q = for {
altasBajas <- tabla.filter(_.idCliente === id)
if altasBajas.fechaFin.isEmpty || (altasBajas.fechaFin.isDefined && (altasBajas.fechaFin)<(DateTime.now))
}yield altasBajas
q.result
}