Example #1
0
  /**
   * 淘客api请求的方法
   *
   * @param keyword 关键字 (如果是全部,则为cid = 0);
   * @param sort 排序规则 sort String 可选 price_desc 默认排序:default price_desc(价格从高到低) price_asc(价格从低到高)
   *     credit_desc(信用等级从高到低) commissionRate_desc(佣金比率从高到低) commissionRate_asc(佣金比率从低到高)
   *     commissionNum_desc(成交量成高到低) commissionNum_asc(成交量从低到高) commissionVolume_desc(总支出佣金从高到低)
   *     commissionVolume_asc(总支出佣金从低到高) delistTime_desc(商品下架时间从高到低) delistTime_asc(商品下架时间从低到高)
   * @param isFromTmall 是否请求天猫的数据
   * @param isAll 是否请求的全部数据
   * @param page_no 请求的页数
   */
  private void seachTaobaokeFromKeyWord(
      String keyword, String sort, boolean isFromTmall, boolean isAll, final int page_no) {
    sharedPreferences = getActivity().getSharedPreferences("config", Context.MODE_PRIVATE);
    long userId = sharedPreferences.getLong("userId", 10000);
    AccessToken accessToken = TopConfig.client.getAccessToken(userId);
    String tql = "";
    Map<String, String> params = new HashMap<String, String>();
    if (isAll) {
      params.put("cid", keyword);
    } else {
      params.put("keyword", keyword);
    }
    params.put("page_size", Integer.toString(pageSize)); // 最大40个,
    params.put("page_no", Integer.toString(page_no)); // 最多10页
    params.put("mall_item", isFromTmall + "");
    params.put("sort", sort);
    tql = TqlHelper.generateTaoBaoKeTql(SearchItem.class, params);
    if (BuildConfig.DEBUG) {
      System.out.println(tql);
    }
    headProgressBar.setVisibility(View.VISIBLE);
    GetTopData.getDataFromTop(
        tql,
        new SearchItemParser(),
        userId,
        new MyTqlListener() {
          @Override
          public void onComplete(Object result) {
            headProgressBar.setVisibility(View.GONE);
            ArrayList<SearchItem> results = (ArrayList) result;
            if (results != null && results.size() > 0) {
              if (!TextUtils.isEmpty(card)) {
                String money = card.replace(" 元", "");
                Integer mon = Integer.parseInt(money.trim());
                resultMap = new HashMap<String, SearchItem>();
                for (int i = 0; i < results.size(); i++) {
                  String reg = "\\d+\\.\\d+";
                  Pattern pattern = Pattern.compile(reg);
                  String resultPrice = results.get(i).getPrice().replace("\\'", "");
                  LogUtil.i(TAG, "price" + results.get(i).getPrice());
                  Matcher matcher = pattern.matcher(resultPrice);
                  if (matcher.find()) {
                    resultPrice = matcher.group();
                    if (mon == 30) {
                      if ((mon - Float.parseFloat(resultPrice)) < 5) {
                        LogUtil.i(
                            TAG, Float.parseFloat(resultPrice) + "  Float.parseFloat(resultPrice)");
                        LogUtil.i(
                            TAG,
                            mon
                                - Float.parseFloat(resultPrice)
                                + "  mon-Float.parseFloat(resultPrice)");
                        Toast.makeText(getActivity(), resultPrice, 1).show();
                        resultMap = new HashMap<String, SearchItem>();
                        resultMap.put(RechargeFragment.this.q, results.get(i));
                        Float cheap = (mon - Float.parseFloat(resultPrice)) / mon;
                        String cheapString = String.format("%.5f", cheap);
                        priceTextView.setText(resultPrice + " 元" + " 为您节省" + cheapString + "%");
                        break;
                      }
                    } else {
                      if ((mon - Float.parseFloat(resultPrice)) < 10) {
                        LogUtil.i(
                            TAG, Float.parseFloat(resultPrice) + "  Float.parseFloat(resultPrice)");
                        LogUtil.i(
                            TAG,
                            mon
                                - Float.parseFloat(resultPrice)
                                + "  mon-Float.parseFloat(resultPrice)");
                        Toast.makeText(getActivity(), resultPrice, 1).show();
                        resultMap = new HashMap<String, SearchItem>();
                        resultMap.put(RechargeFragment.this.q, results.get(i));
                        Float cheap = (mon - Float.parseFloat(resultPrice)) / mon;
                        String cheapString = String.format("%.5f", cheap);
                        priceTextView.setText(resultPrice + " 元" + " 为您节省" + cheapString + "%");
                        break;
                      }
                    }
                  }
                }
              }
            }
            if (BuildConfig.DEBUG) {
              if (results != null) {
                Log.i(TAG, Integer.toString(results.size()));
              }
            }
          }

          @Override
          public void onException(Exception e) {
            headProgressBar.setVisibility(View.GONE);
            AppException.network(e).makeToast(getActivity());
          }

          @Override
          public void onResponseException(Object apiError) {
            headProgressBar.setVisibility(View.GONE);
            Toast.makeText(getActivity(), ((ApiError) apiError).getMsg(), 0).show();
            if (BuildConfig.DEBUG) {
              Log.i(TAG, apiError.toString());
            }
          }
        });
  }