fixes
This commit is contained in:
parent
da99eb4f70
commit
5e0e2288b9
3 changed files with 25 additions and 17 deletions
|
|
@ -5,14 +5,14 @@ import java.io.File
|
||||||
data class ReactableOffer(
|
data class ReactableOffer(
|
||||||
val room: Room,
|
val room: Room,
|
||||||
val offer: Offer,
|
val offer: Offer,
|
||||||
val floorInfo: FloorInfo
|
val floor: Floor
|
||||||
)
|
)
|
||||||
|
|
||||||
fun main() {
|
fun main() {
|
||||||
val rooms = getRooms().filter { room ->
|
val rooms = getRooms().filter { room ->
|
||||||
room.unitType == config.general.unitType
|
room.unitType == config.general.unitType
|
||||||
}
|
}
|
||||||
val offers = getOffers().offers.filter { offer ->
|
val offers = getOffers(rooms.map { it.wocasId }).offers.filter { offer ->
|
||||||
offer.adres[0].plaats !in listOf(
|
offer.adres[0].plaats !in listOf(
|
||||||
"ZWOLLE",
|
"ZWOLLE",
|
||||||
"GRONINGEN",
|
"GRONINGEN",
|
||||||
|
|
@ -25,15 +25,15 @@ fun main() {
|
||||||
|
|
||||||
if (offer == null) null else ReactableOffer(room, offer, getFloorInfo(room))
|
if (offer == null) null else ReactableOffer(room, offer, getFloorInfo(room))
|
||||||
}.filter {
|
}.filter {
|
||||||
val gender = it.floorInfo.genderPreference
|
val gender = it.floor.floorInfo.genderPreference
|
||||||
|
|
||||||
((gender == "female" && config.gender.female) ||
|
((gender == "female" && config.gender.female) ||
|
||||||
(gender == "male" && config.gender.male) ||
|
(gender == "male" && config.gender.male) ||
|
||||||
(gender == "none" && config.gender.none)) &&
|
(gender == "none" && config.gender.none)) &&
|
||||||
|
|
||||||
((config.general.smoking == -1 && !it.floorInfo.smokingAllowed) || (config.general.smoking == 1 && it.floorInfo.smokingAllowed) || config.general.smoking == 0) &&
|
((config.general.smoking == -1 && !it.floor.floorInfo.smokingAllowed) || (config.general.smoking == 1 && it.floor.floorInfo.smokingAllowed) || config.general.smoking == 0) &&
|
||||||
|
|
||||||
((config.general.pets == -1 && !it.floorInfo.petsAllowed) || (config.general.pets == 1 && it.floorInfo.petsAllowed) || config.general.pets == 0)
|
((config.general.pets == -1 && !it.floor.floorInfo.petsAllowed) || (config.general.pets == 1 && it.floor.floorInfo.petsAllowed) || config.general.pets == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
val fileName = "offers.md"
|
val fileName = "offers.md"
|
||||||
|
|
@ -45,21 +45,26 @@ fun main() {
|
||||||
val address = it.offer.adres[0]
|
val address = it.offer.adres[0]
|
||||||
|
|
||||||
str.append("## [${address.straatnaam} ${address.nummer}, ${address.plaats.lowercase().capitalize()}](https://sshxl.nl/nl/aanbod/${it.room.flowId}-${address.straatnaam.lowercase().replace(" ", "-")})\n")
|
str.append("## [${address.straatnaam} ${address.nummer}, ${address.plaats.lowercase().capitalize()}](https://sshxl.nl/nl/aanbod/${it.room.flowId}-${address.straatnaam.lowercase().replace(" ", "-")})\n")
|
||||||
str.append("- Huisgenoten: ${it.room.numberOfRooms-1}\n")
|
|
||||||
|
|
||||||
val genderString = when (it.floorInfo.genderPreference) {
|
str.append("\n| Categorie | Waarde |\n")
|
||||||
|
str.append("|-----------|--------|\n")
|
||||||
|
|
||||||
|
str.append("| Huisgenoten | ${it.room.numberOfRooms-1} |\n")
|
||||||
|
|
||||||
|
val genderString = when (it.floor.floorInfo.genderPreference) {
|
||||||
"none" -> "Geen voorkeur"
|
"none" -> "Geen voorkeur"
|
||||||
"male" -> "Man"
|
"male" -> "Man"
|
||||||
"female" -> "Vrouw"
|
"female" -> "Vrouw"
|
||||||
else -> it.floorInfo.genderPreference
|
else -> it.floor.floorInfo.genderPreference
|
||||||
}
|
}
|
||||||
str.append("- Geslacht: $genderString\n")
|
str.append("| Geslacht | $genderString |\n")
|
||||||
|
|
||||||
|
|
||||||
str.append("- Roken: ${if (it.floorInfo.smokingAllowed) "Mag" else "Mag niet"}\n")
|
str.append("| Roken | ${if (it.floor.floorInfo.smokingAllowed) "✅ Mag" else "❌ Mag niet"} |\n")
|
||||||
str.append("- Huisdieren: ${if (it.floorInfo.petsAllowed) "Mogen" else "Mogen niet"}\n")
|
str.append("| Huisdieren | ${if (it.floor.floorInfo.petsAllowed) "✅ Mogen" else "❌ Mogen niet"} |\n")
|
||||||
|
|
||||||
str.append("\n")
|
str.append("\n")
|
||||||
str.append("### Message: \n\n${it.floorInfo.description}\n")
|
str.append("### Message: \n\n${it.floor.floorInfo.description}\n")
|
||||||
|
|
||||||
str.append("\n\n")
|
str.append("\n\n")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ data class FloorInfo(
|
||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
data class RoomInfo(
|
data class Floor(
|
||||||
@SerialName("ExpireBy") val expireBy: String,
|
@SerialName("ExpireBy") val expireBy: String,
|
||||||
@SerialName("RemainingTime") val remainingTime: String,
|
@SerialName("RemainingTime") val remainingTime: String,
|
||||||
@SerialName("ApplicantCount") val applicantCount: Int,
|
@SerialName("ApplicantCount") val applicantCount: Int,
|
||||||
|
|
@ -41,8 +41,8 @@ data class RoomInfo(
|
||||||
@SerialName("Kind") val kind: String,
|
@SerialName("Kind") val kind: String,
|
||||||
)
|
)
|
||||||
|
|
||||||
fun getFloorInfo(room: Room): FloorInfo {
|
fun getFloorInfo(room: Room): Floor {
|
||||||
val response = getEndpoint("offer/${room.flowId}")
|
val response = getEndpoint("offer/${room.flowId}")
|
||||||
|
|
||||||
return Json.decodeFromString<RoomInfo>(response).floorInfo
|
return Json.decodeFromString<Floor>(response)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package me.koendev
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
import me.koendev.utils.println
|
||||||
import java.net.http.HttpClient
|
import java.net.http.HttpClient
|
||||||
import java.net.http.HttpResponse
|
import java.net.http.HttpResponse
|
||||||
|
|
||||||
|
|
@ -80,8 +81,10 @@ data class Adres(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
fun getOffers(): Offers {
|
fun getOffers(ids: List<String>): Offers {
|
||||||
val response = getEndpoint("OData-mv?EENHEID_H?\$filter=((((((((((((((((((((((eenheidnummer%20eq%2033700034)%20or%20(eenheidnummer%20eq%2020214020))%20or%20(eenheidnummer%20eq%2026912101))%20or%20(eenheidnummer%20eq%2026912038))%20or%20(eenheidnummer%20eq%2082200297))%20or%20(eenheidnummer%20eq%2021001262))%20or%20(eenheidnummer%20eq%2036900015))%20or%20(eenheidnummer%20eq%2052000240))%20or%20(eenheidnummer%20eq%2051800177))%20or%20(eenheidnummer%20eq%2036400433))%20or%20(eenheidnummer%20eq%2051900083))%20or%20(eenheidnummer%20eq%2036400019))%20or%20(eenheidnummer%20eq%2046200340))%20or%20(eenheidnummer%20eq%2029602069))%20or%20(eenheidnummer%20eq%2033700216))%20or%20(eenheidnummer%20eq%2011010008))%20or%20(eenheidnummer%20eq%2051900057))%20or%20(eenheidnummer%20eq%2021002009))%20or%20(eenheidnummer%20eq%2052000218))%20or%20(eenheidnummer%20eq%2036400091))%20or%20(eenheidnummer%20eq%2046200669))%20or%20(eenheidnummer%20eq%2029601023))&\$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 offerFilter = ids.joinToString("%20or%20") { "eenheidnummer%20eq%20$it" }
|
||||||
|
|
||||||
|
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")
|
||||||
|
|
||||||
return Json.decodeFromString<Offers>(response)
|
return Json.decodeFromString<Offers>(response)
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue