diff --git a/KamerZoeken-1.0.0.jar b/KamerZoeken-1.0.0.jar index e70d872..f98c295 100644 Binary files a/KamerZoeken-1.0.0.jar and b/KamerZoeken-1.0.0.jar differ diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index 0ff2d82..c8f37cd 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -30,7 +30,7 @@ fun main(args: Array) { return } - val offers = getOffers(rooms.map { it.wocasId }).offers.filter { offer -> + val offers = getOffers(rooms.map { it.wocasId }).filter { offer -> offer.adres[0].plaats in config.general.cities } diff --git a/src/main/kotlin/getFloorInfo.kt b/src/main/kotlin/getFloorInfo.kt index a4ee45a..0344dcb 100644 --- a/src/main/kotlin/getFloorInfo.kt +++ b/src/main/kotlin/getFloorInfo.kt @@ -29,6 +29,7 @@ data class Floor( @SerialName("SubsidiabeleHuur") val subsidiabeleHuur: Double, @SerialName("BruttoHuur") val brutoHuur: Double, + @SerialName("NettoHuur") val nettoHuur: Double, @SerialName("IsPublished") val isPublished: Boolean, @SerialName("PublishedOn") val publishedOn: String?, @SerialName("ContractStartDate") val contractStartDate: String, diff --git a/src/main/kotlin/getOffers.kt b/src/main/kotlin/getOffers.kt index ddaff4a..c756b06 100644 --- a/src/main/kotlin/getOffers.kt +++ b/src/main/kotlin/getOffers.kt @@ -5,84 +5,75 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json import me.koendev.utils.println -@Serializable -data class Offers( - @SerialName("value") val offers: List, - @SerialName("@odata.count") val count: Int, - @SerialName("isComplete") val isComplete: Boolean -) - @Serializable data class Offer( - @SerialName("adrheeftenh") val adrHeeftEnh: Double, - @SerialName("eenheidnummer") val eenheidNummer: Double, - @SerialName("object") val `object`: Double, - @SerialName("soort_product") val soortProduct: String, + @SerialName("Object") val `object`: Double, + @SerialName("EenheidNummer") val eenheidNummer: Double, + @SerialName("AdrHeeftEnh") val adrHeeftEnh: Double, + @SerialName("Soort_Product") val soortProduct: String, + @SerialName("ADRES_H") val adres: List, + @SerialName("ASSSUBJECTPERSK_H") val assSubjectPersk: List, @SerialName("ASP_TOTAAL_C") val aspTotaal: List, @SerialName("HUUROVEREENKOMST_H") val huurOvereenkomst: List, @SerialName("EENHEID_HUUR") val eenheidHuur: List, - @SerialName("ADRES_H") val adres: List ) @Serializable data class AssSubjectPersk( - @SerialName("object") val `object`: Double, - @SerialName("pkheeftasp") val pkHeeftAsp: Double, - @SerialName("enhheeftkenm") val enhHeeftKenm: Double, - @SerialName("kenwaarde") val kenwaarde: String?, - @SerialName("waarde") val waarde: String?, + @SerialName("PkHeeftAsp") val pkHeeftAsp: Double, + @SerialName("EnhHeeftKenm") val enhHeeftKenm: Double, + @SerialName("KenWaarde") val kenwaarde: String?, + @SerialName("Waarde") val waarde: String?, @SerialName("KENMERK_H") val kenmerk: List ) @Serializable data class Kenmerk( - @SerialName("object") val `object`: Double, - @SerialName("code") val code: String + @SerialName("Code") val code: String ) @Serializable data class AspTotaal( - @SerialName("eenheidnummer") val eenheidNummer: Double, - @SerialName("totopp") val totopp: Double, - @SerialName("totoppgem") val totoppgem: Double + @SerialName("EenheidNummer") val eenheidNummer: Double, + @SerialName("TotOpp") val totopp: Double, + @SerialName("TotOppGem") val totoppgem: Double ) @Serializable data class HuurOvereenkomst( - @SerialName("object") val `object`: Double, - @SerialName("dcnnummer") val dcnnummer: Double, - @SerialName("einddatum") val einddatum: String, - @SerialName("enhheefthuu") val enhheefthuu: Double + @SerialName("DcnNummer") val dcnnummer: Double, + @SerialName("EindDatum") val einddatum: String, + @SerialName("EnhHeeftHuu") val enhheefthuu: Double ) @Serializable data class EenheidHuur( - @SerialName("enh_object") val enhObject: Double, - @SerialName("eenheidnummer") val eenheidnummer: Double, - @SerialName("enh_nettohuur") val nettoHuur: Double, - @SerialName("bruto_huur") val brutoHuur: Double, - @SerialName("contract_type") val contractType: String + @SerialName("Enh_Object") val enhObject: Double, + @SerialName("EenheidNummer") val eenheidnummer: Double, + @SerialName("Enh_Nettohuur") val nettoHuur: Double, + @SerialName("Bruto_Huur") val brutoHuur: Double, + @SerialName("Contract_Type") val contractType: String ) @Serializable data class Adres( - @SerialName("oid") val oid: Double, - @SerialName("straatnaam") val straatnaam: String, - @SerialName("plaats") val plaats: String, - @SerialName("nummer") val nummer: String, - @SerialName("letter") val letter: String?, - @SerialName("toevoeging") val toevoeging: String?, - @SerialName("postcode") val postcode: String, - @SerialName("aanduiding") val aanduiding: String?, - @SerialName("locatie") val locatie: String? + @SerialName("Oid") val oid: Double, + @SerialName("Straatnaam") val straatnaam: String, + @SerialName("Nummer") val nummer: String, + @SerialName("Letter") val letter: String?, + @SerialName("Toevoeging") val toevoeging: String?, + @SerialName("Plaats") val plaats: String, + @SerialName("Postcode") val postcode: String, + @SerialName("Aanduiding") val aanduiding: String?, + @SerialName("Locatie") val locatie: String? ) -fun getOffers(ids: List): Offers { - val offerFilter = ids.joinToString("%20or%20") { "eenheidnummer%20eq%20$it" } +fun getOffers(ids: List): List { + val offerFilter = ids.joinToString(",") { it.toString() } - val response = getEndpoint("OData-mv?EENHEID_H?\$filter=${offerFilter}&\$expand=ADRES_H!(\$select=plaats,postcode,straatnaam,nummer,toevoeging,aanduiding,locatie,letter,oid),EENHEID_HUUR!(\$select=eenheidnummer,bruto_huur,enh_nettohuur,enh_object,contract_type),HUUROVEREENKOMST_H!(\$select=dcnnummer,einddatum,enhheefthuu),ASP_TOTAAL_C!(\$select=eenheidnummer,totopp,totoppgem),ASSSUBJECTPERSK_H!(\$select=enhheeftkenm,pkheeftasp,waarde,kenwaarde;\$expand=KENMERK_H!(\$select=code))&\$select=eenheidnummer,adrheeftenh,object,soort_product") + val response = getEndpoint("offer/getOffersDetails/$offerFilter") - return Json.decodeFromString(response) -} \ No newline at end of file + return Json.decodeFromString>(response) +} diff --git a/src/main/kotlin/getRooms.kt b/src/main/kotlin/getRooms.kt index 425621f..4b650aa 100644 --- a/src/main/kotlin/getRooms.kt +++ b/src/main/kotlin/getRooms.kt @@ -22,6 +22,7 @@ data class Room( @SerialName("FloorInformation") val floorInformation: String?, @SerialName("SubsidiabeleHuur") val subsidiabeleHuur: Double, @SerialName("BruttoHuur") val brutoHuur: Double, + @SerialName("NettoHuur") val nettoHuur: Double, @SerialName("IsPublished") val isPublished: Boolean, @SerialName("PublishedOn") val publishedOn: String, @SerialName("ContractStartDate") val contractStartDate: String,