//
//  CoinsRechargeViewModel.swift

//
//  Created by Leon on 2025/9/16.
//

class CoinsRechargeViewModel{
    
    
    func purchase(product: IAPProducts, completion: ((Bool, String?)->Void)? = nil){
        guard let productId = product.productId else {return}
        if let tradeId = product.tradeId, tradeId.count > 0 {
            IAPCore.shared.addPayProductId(productId: productId, tradeId: tradeId)
            return
        }
        
        var params = [String:Any]()
        params.updateValue(productId, forKey: "productId")
        params.updateValue("1", forKey: "version")
//        if let chargeAmount = product.chargeAmount{
//            params.updateValue(chargeAmount, forKey: "chargeAmount")
//        }
        
        WalletProvider.request(.tradePrecharge(params: params), modelType: CoinRechargePreOrderResponse.self) { result in
            switch result {
            case .success(let model):
                completion?(true, model?.tradeNo)
            case .failure:
                completion?(false, nil)
            }
        }
    }
}
