Пример #1
0
        @Override
        public void fetchPayOrder(String oid, final CtFetchCallback<PayOrderMode> callback) {
          final AtomicInteger count = new AtomicInteger(2);
          OrderBusiness.getOrderInfo(
              ((PayOrderAcivity) iPayOrderView),
              mClient,
              new LabAsyncHttpResponseHandler(OrderItem.class) {
                @Override
                public void onSuccess(LabResponse response, Object data) {

                  orderItem = ((OrderItem) data);
                  count.decrementAndGet();
                  onResult(count, callback, orderItem, discountItems);
                }

                @Override
                public void onFailure(LabResponse response, Object data) {
                  String reason;
                  if (response != null && !TextUtils.isEmpty(response.msg)) {
                    reason = response.msg;
                  } else {
                    reason =
                        PlatformUtil.getInstance().getString(R.string.ct_get_order_detail_failed);
                  }
                  callback.onFailed(new CtException(reason));
                }
              },
              String.valueOf(oid));

          OrderBusiness.getValidCoupon(
              ((PayOrderAcivity) iPayOrderView),
              mClient,
              new LabAsyncHttpResponseHandler() {
                @Override
                public void onSuccess(LabResponse response, Object data) {
                  LogHelper.e(TAG, " result " + String.valueOf(response.result));
                  try {
                    JSONObject jsonObject = JSONObject.parseObject(String.valueOf(response.result));

                    LogHelper.e(TAG, " result  list s " + jsonObject.getString("lists"));
                    discountItems =
                        JSON.parseArray(jsonObject.getString("lists"), DiscountItem.class);

                  } catch (Exception e) {
                    LogHelper.e(TAG, " result  error" + e.getMessage());
                  }
                  if (discountItems == null) {
                    discountItems = new ArrayList<>();
                  }
                  count.decrementAndGet();
                  onResult(count, callback, orderItem, discountItems);
                }

                @Override
                public void onFailure(LabResponse response, Object data) {
                  String reason;
                  if (response != null && !TextUtils.isEmpty(response.msg)) {
                    reason = response.msg;
                  } else {
                    reason =
                        PlatformUtil.getInstance().getString(R.string.ct_get_order_detail_failed);
                  }
                  callback.onFailed(new CtException(reason));
                }
              },
              UnitUtils.getMoneyType());
        }