2017-11-09 16 views
2

안녕하세요, 아래 코드를 사용하여 주문 확인을 사용하고 있습니다. 하지만 주문 ID 및 주문 세부 정보를이 쿼리에서 가져올 수 없습니다. 주문 ID 및 주문 세부 정보를 확인할 수 없습니다. 현재 내가 shopify mobilebuysdk을 사용하고 있습니다 : buy3 : 3.1.1Android Shopify Mobile 구매 버전 - 3.1.1 Retryhandler 오류

graphClient!!.queryGraph(query).enqueue(
    object : GraphCall.Callback<Storefront.QueryRoot> { 
     override fun onResponse(@NonNull response: GraphResponse<Storefront.QueryRoot>) { 

      if (response.data()!!.getNode() as Storefront.Checkout != null) { 
       val checkout = response.data()!!.getNode() as Storefront.Checkout 
       println("CheckOut : " + checkout) 

       if (checkout != null) { 

        if (checkout.getOrder() != null) { 
         if (checkout.getOrder().getId().toString() != null) { 
          val orderId = checkout.getOrder().getId().toString() 
          println("Order ID : " + orderId) 
         } 
        } 

       } 


      } 


     } 

     override fun onFailure(@NonNull error: GraphError) {} 
    }, null, 
    RetryHandler.exponentialBackoff(1, TimeUnit.MILLISECONDS, 1.2f) 
      .whenResponse<Storefront.QueryRoot> { response -> 
       (response.data()?.getNode() as Storefront.Checkout).getOrder() == null 
      } 
      .maxCount(10) 
      .build()) 

답변

0
val checkoutId = ID(tinyDB!!.getString("New_checkoutID")) 
    val query = Storefront.query({ rootQuery -> 
     rootQuery 
       .node(checkoutId, { nodeQuery -> 
        nodeQuery 
          .onCheckout({ checkoutQuery -> 
           checkoutQuery 
             .order({ orderQuery -> 
              orderQuery 
                .orderNumber() 
                .totalPrice() 
                .processedAt() 
             } 

             ) 
          } 
          ) 
       } 
       ) 
    } 
    )  

graphClient!!.queryGraph(query).enqueue(
      object : GraphCall.Callback<Storefront.QueryRoot> { 
       override fun onResponse(@NonNull response: GraphResponse<Storefront.QueryRoot>) { 
        val checkout = response.data()!!.getNode() as Storefront.Checkout 
        val orderId = checkout.getOrder().getId().toString() 
       } 

       override fun onFailure(@NonNull error: GraphError) {} 
      }, null, 
      RetryHandler.exponentialBackoff(1, TimeUnit.MILLISECONDS, 1.2f) 
        .whenResponse<Storefront.QueryRoot>(
          { response -> (response.data().getNode() as Storefront.Checkout).getOrder() == null } 
        ) 
        .maxCount(10) 
        .build() 
    )