Files
KissMe/KissMeIndex/Sources/KissIndex+0003.swift
2023-06-22 18:50:20 +09:00

61 lines
1.7 KiB
Swift

//
// KissIndex+0003.swift
// KissMeIndex
//
// Created by ened-book-m1 on 2023/06/20.
//
import Foundation
import KissMe
extension KissIndex {
func indexSet_0003(date: Date, config: String?, kmi: KissIndexType) {
if productsCount == 0 {
loadShop(url: KissIndex.shopProductsUrl)
}
let semaphore = DispatchSemaphore(value: 0)
Task {
var scoreMap = [String: Double]()
do {
let prices = try await collectPrices(date: date) { price in
if let per = Double(price.per), per <= 20.0 {
return true
}
return false
}
//print(prices.count)
for price in prices {
let per = Double(price.per)!
var score: Double = 0
if per <= 10 {
score = (10 - per) * 5
}
else if per <= 20 {
score = (20 - per) * 4
}
if let _ = scoreMap[price.shortProductCode] {
scoreMap[price.shortProductCode]! += score
}
else {
scoreMap[price.shortProductCode] = score
}
}
normalizeAndWrite(scoreMap: scoreMap, includeName: true, kmi: kmi)
} catch {
writeError(error, kmi: kmi)
}
semaphore.signal()
}
semaphore.wait()
}
}