@Override public void getChar( String oid, String type, String ip, String currency, String couponId, final CtFetchCallback<String> callback) { LogHelper.e(TAG, TextUtils.join("|", new String[] {oid, type, ip, currency, couponId})); OrderBusiness.getCharge( ((PayOrderAcivity) iPayOrderView), mClient, new LabAsyncHttpResponseHandler() { @Override public void onSuccess(LabResponse response, Object data) { callback.onSuc(String.valueOf(data)); } @Override public void onFailure(LabResponse response, Object data) { String msg = response.msg; if (TextUtils.isEmpty(msg)) { msg = PlatformUtil.getInstance().getString(R.string.ct_pay_failed); } callback.onFailed(new CtException(msg)); } }, oid, type, ip, currency, couponId); }
@Override public void needCharge( String oid, String currency, String couponId, final CtFetchCallback<Boolean> callback) { LogHelper.e(TAG, TextUtils.join("|", new String[] {oid, currency, couponId})); OrderBusiness.getFinalPrice( ((PayOrderAcivity) iPayOrderView), mClient, new LabAsyncHttpResponseHandler() { @Override public void onSuccess(LabResponse response, Object data) { LogHelper.e(TAG, " need char " + String.valueOf(response.result)); JSONObject jsonObject = JSONObject.parseObject(String.valueOf(data)); double value = 0; try { value = Double.valueOf(jsonObject.getString("finalPrice")); } catch (NumberFormatException e) { value = 1; } callback.onSuc(value > 0); } @Override public void onFailure(LabResponse response, Object data) { String msg = response.msg; if (TextUtils.isEmpty(msg)) { msg = PlatformUtil.getInstance().getString(R.string.ct_pay_failed); } callback.onFailed(new CtException(msg)); } }, oid, currency, couponId); }
@Override public void setDiscount(String oid, String discountCode, final CtApiCallback callback) { OrderBusiness.payOrder( ((PayOrderAcivity) iPayOrderView), mClient, new LabAsyncHttpResponseHandler() { @Override public void onSuccess(LabResponse response, Object data) { callback.onSuc(); } @Override public void onFailure(LabResponse response, Object data) { String msg = response.msg; if (TextUtils.isEmpty(msg)) { msg = PlatformUtil.getInstance().getString(R.string.ct_pay_failed); } callback.onFailed(new CtException(msg)); } }, oid, discountCode); }
@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()); }