| | |
| | |
|
| | | import org.yeshi.utils.taobao.TbImgUtil;
|
| | |
|
| | | import com.taobao.api.ApiException;
|
| | | import com.yeshi.fanli.entity.taobao.RelateGoods;
|
| | | import com.yeshi.fanli.dto.taobao.TaoBaoShopInfoDTO;
|
| | | import com.yeshi.fanli.dto.taobao.TaoLiJinDTO;
|
| | | import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport;
|
| | | import com.yeshi.fanli.entity.taobao.SearchFilter;
|
| | | import com.yeshi.fanli.entity.taobao.SearchShopFilter;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoHead;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoProvince;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
|
| | | import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
|
| | | import com.yeshi.fanli.exception.taobao.TaoBaoAuthException;
|
| | | import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException;
|
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
| | | import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
| | | import com.yeshi.fanli.exception.tlj.TaoLiJinCreateException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.log.TLJLogHelper;
|
| | | import com.yeshi.fanli.log.TaoKeLogHelper;
|
| | | import com.yeshi.fanli.tag.PageEntity;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TaoBaoConstant;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | |
|
| | | import net.sf.json.JSONArray;
|
| | |
| | |
|
| | | //淘宝客API接口
|
| | | public class TaoKeApiUtil {
|
| | |
|
| | | /**
|
| | | * 按关键字和分类搜索券
|
| | | * |
| | | * @param key
|
| | | * @param catList
|
| | | * @return
|
| | | */
|
| | | public static TaoBaoSearchResult searchCouple(String key, List<Long> catList, int page, int pageSize) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.item.coupon.get");
|
| | | map.put("page_size", pageSize + "");
|
| | | map.put("page_no", page + "");
|
| | | String cate = "";
|
| | | if (catList != null && catList.size() > 10)
|
| | | catList = catList.subList(0, 10);
|
| | | if (catList != null && catList.size() > 0) {
|
| | | for (Long c : catList)
|
| | | cate += c + ",";
|
| | | if (cate.endsWith(","))
|
| | | cate = cate.substring(0, cate.length() - 1);
|
| | | map.put("cat", cate);
|
| | | }
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(key)) {
|
| | | map.put("q", key);
|
| | | }
|
| | | String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
|
| | | System.out.println(result);
|
| | | TaoBaoSearchResult finalResult = parseCoupleContent(result);
|
| | | if (finalResult == null)
|
| | | return null;
|
| | | PageEntity pageEntity = finalResult.getPageEntity();
|
| | | pageEntity.setPageIndex(page);
|
| | | pageEntity.setPageSize(pageSize);
|
| | | pageEntity.setTotalPage(pageEntity.getTotalCount() % pageSize == 0
|
| | | ? ((int) (pageEntity.getTotalCount() / pageSize)) : (int) (pageEntity.getTotalCount() / pageSize + 1));
|
| | | finalResult.setPageEntity(pageEntity);
|
| | | return finalResult;
|
| | | }
|
| | |
|
| | | // 解析券的内容
|
| | | private static TaoBaoSearchResult parseCoupleContent(String content) {
|
| | |
| | | map.put("method", "taobao.tbk.item.info.get");
|
| | | map.put("num_iids", id + "");
|
| | | String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
|
| | | // System.out.println(resultStr);
|
| | | System.out.println(resultStr);
|
| | | JSONObject data = JSONObject.fromObject(resultStr);
|
| | | // 商品下架
|
| | | if (data.optJSONObject("error_response") != null && data.optJSONObject("error_response").optInt("code") == 15
|
| | |
| | | .optJSONArray("n_tbk_item");
|
| | | if (array != null && array.size() > 0) {
|
| | | JSONObject item = array.optJSONObject(0);
|
| | | TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
|
| | | goods.setAuctionId(item.optLong("num_iid"));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setBiz30day(item.optInt("volume"));
|
| | | if (item.optJSONObject("small_images") != null) {
|
| | | JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
|
| | | if (imgArray != null) {
|
| | | List<String> imgList = new ArrayList<>();
|
| | | for (int n = 0; n < imgArray.size(); n++) {
|
| | | imgList.add(imgArray.optString(n));
|
| | | }
|
| | | goods.setImgList(imgList);
|
| | | }
|
| | | }
|
| | | goods.setTitle(item.optString("title"));
|
| | | goods.setUserType(item.optInt("user_type"));
|
| | | goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setProvcity(item.optString("provcity"));
|
| | | goods.setPictUrl(item.optString("pict_url"));
|
| | | goods.setShopTitle(item.optString("nick"));
|
| | | goods.setSellerId(item.optLong("seller_id"));
|
| | |
|
| | | String optString = item.optString("shop_dsr");
|
| | | if (!StringUtil.isNullOrEmpty(optString)) {
|
| | | goods.setShopDsr(new Integer(optString));
|
| | | }
|
| | |
|
| | | String ratesum = item.optString("ratesum");
|
| | | if (!StringUtil.isNullOrEmpty(ratesum)) {
|
| | | goods.setRatesum(new Integer(ratesum));
|
| | | }
|
| | |
|
| | | if (item.optBoolean("is_prepay"))
|
| | | goods.setIsPrepay(1);
|
| | |
|
| | | if (item.optBoolean("i_rfd_rate"))
|
| | | goods.setRfdRate(1);
|
| | |
|
| | | if (item.optBoolean("h_good_rate"))
|
| | | goods.setGoodRate(1);
|
| | |
|
| | | if (item.optBoolean("h_pay_rate30"))
|
| | | goods.setPayRate30(1);
|
| | |
|
| | | if (item.optBoolean("free_shipment"))
|
| | | goods.setFreeShipment(1);
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type")))
|
| | | goods.setMaterialLibType(item.optInt("material_lib_type"));
|
| | |
|
| | | return goods;
|
| | | return parseSimpleGoodsInfo(item);
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | public String convertSpecialGoodsLink(Long auctionId, TaoKeAppInfo app) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.coupon.convert");
|
| | | map.put("item_id", auctionId + "");
|
| | | String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
|
| | | return resultStr;
|
| | | private static TaoBaoGoodsBrief parseSimpleGoodsInfo(JSONObject item) {
|
| | | TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
|
| | | goods.setAuctionId(item.optLong("num_iid"));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setBiz30day(item.optInt("volume"));
|
| | | if (item.optJSONObject("small_images") != null) {
|
| | | JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
|
| | | if (imgArray != null) {
|
| | | List<String> imgList = new ArrayList<>();
|
| | | for (int n = 0; n < imgArray.size(); n++) {
|
| | | imgList.add(imgArray.optString(n));
|
| | | }
|
| | | goods.setImgList(imgList);
|
| | | }
|
| | | }
|
| | | goods.setTitle(item.optString("title"));
|
| | | goods.setUserType(item.optInt("user_type"));
|
| | | goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setProvcity(item.optString("provcity"));
|
| | | goods.setPictUrl(item.optString("pict_url"));
|
| | | goods.setShopTitle(item.optString("nick"));
|
| | | goods.setSellerId(item.optLong("seller_id"));
|
| | |
|
| | | String optString = item.optString("shop_dsr");
|
| | | if (!StringUtil.isNullOrEmpty(optString)) {
|
| | | goods.setShopDsr(new Integer(optString));
|
| | | }
|
| | |
|
| | | String ratesum = item.optString("ratesum");
|
| | | if (!StringUtil.isNullOrEmpty(ratesum)) {
|
| | | goods.setRatesum(new Integer(ratesum));
|
| | | }
|
| | |
|
| | | if (item.optBoolean("is_prepay"))
|
| | | goods.setIsPrepay(1);
|
| | |
|
| | | if (item.optBoolean("i_rfd_rate"))
|
| | | goods.setRfdRate(1);
|
| | |
|
| | | if (item.optBoolean("h_good_rate"))
|
| | | goods.setGoodRate(1);
|
| | |
|
| | | if (item.optBoolean("h_pay_rate30"))
|
| | | goods.setPayRate30(1);
|
| | |
|
| | | if (item.optBoolean("free_shipment"))
|
| | | goods.setFreeShipment(1);
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type"))) {
|
| | | try {
|
| | | String materialLibType = item.optString("material_lib_type");
|
| | | goods.setMaterialLibType(Integer.parseInt(materialLibType.split(",")[0]));
|
| | | } catch (Exception e) {
|
| | | goods.setMaterialLibType(0);
|
| | | }
|
| | |
|
| | | } else
|
| | | goods.setMaterialLibType(0);
|
| | |
|
| | | goods = loadYuShouInfo(goods, item);
|
| | | return goods;
|
| | | }
|
| | |
|
| | | private static TaoBaoGoodsBrief loadYuShouInfo(TaoBaoGoodsBrief goods, JSONObject item) {
|
| | | if (goods != null && item != null) {
|
| | | // 预售相关解析
|
| | | goods.setYsylClickUrl(item.optString("ysyl_click_url"));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("ysyl_commission_rate")))
|
| | | goods.setYsylCommissionRate(new BigDecimal(item.optString("ysyl_commission_rate")));
|
| | | goods.setYsylTljFace(item.optString("ysyl_tlj_face"));
|
| | | goods.setYsylTljSendTime(item.optString("ysyl_tlj_send_time"));
|
| | | goods.setYsylTljUseEndTime(item.optString("ysyl_tlj_use_end_time"));
|
| | | goods.setYsylTljUseStartTime(item.optString("ysyl_tlj_use_start_time"));
|
| | |
|
| | | goods.setPresaleDeposit(item.optString("presale_deposit"));
|
| | | goods.setPresaleDiscountFeeText(item.optString("presale_discount_fee_text"));
|
| | | goods.setPresaleEndTime(item.optString("presale_end_time"));
|
| | | goods.setPresaleStartTime(item.optString("presale_start_time"));
|
| | | goods.setPresaleTailEndTime(item.optString("presale_tail_end_time"));
|
| | | goods.setPresaleTailStartTime(item.optString("presale_tail_start_time"));
|
| | |
|
| | | return goods;
|
| | | }
|
| | | return goods;
|
| | | }
|
| | |
|
| | | public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId)
|
| | |
| | | if (array != null && array.size() > 0) {
|
| | |
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | |
|
| | | TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
|
| | |
|
| | | JSONObject item = array.optJSONObject(i);
|
| | |
|
| | | goods.setAuctionId(item.optLong("num_iid"));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setBiz30day(item.optInt("volume"));
|
| | | if (item.optJSONObject("small_images") != null) {
|
| | | JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
|
| | | if (imgArray != null) {
|
| | | List<String> imgList = new ArrayList<>();
|
| | | for (int n = 0; n < imgArray.size(); n++) {
|
| | | imgList.add(imgArray.optString(n));
|
| | | }
|
| | | goods.setImgList(imgList);
|
| | | }
|
| | | }
|
| | | goods.setTitle(item.optString("title"));
|
| | | goods.setUserType(item.optInt("user_type"));
|
| | | goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setProvcity(item.optString("provcity"));
|
| | | goods.setPictUrl(item.optString("pict_url"));
|
| | | goods.setShopTitle(item.optString("nick"));
|
| | |
|
| | | String optString = item.optString("shop_dsr");
|
| | | if (!StringUtil.isNullOrEmpty(optString)) {
|
| | | goods.setShopDsr(new Integer(optString));
|
| | | }
|
| | |
|
| | | String ratesum = item.optString("ratesum");
|
| | | if (!StringUtil.isNullOrEmpty(ratesum)) {
|
| | | goods.setRatesum(new Integer(ratesum));
|
| | | }
|
| | |
|
| | | if (item.optBoolean("is_prepay"))
|
| | | goods.setIsPrepay(1);
|
| | |
|
| | | if (item.optBoolean("i_rfd_rate"))
|
| | | goods.setRfdRate(1);
|
| | |
|
| | | if (item.optBoolean("h_good_rate"))
|
| | | goods.setGoodRate(1);
|
| | |
|
| | | if (item.optBoolean("h_pay_rate30"))
|
| | | goods.setPayRate30(1);
|
| | |
|
| | | if (item.optBoolean("free_shipment"))
|
| | | goods.setFreeShipment(1);
|
| | |
|
| | | if ("1".equalsIgnoreCase(item.optString("material_lib_type")))
|
| | | ;
|
| | |
|
| | | goodsList.add(goods);
|
| | | goodsList.add(parseSimpleGoodsInfo(item));
|
| | | }
|
| | | }
|
| | |
|
| | | return goodsList;
|
| | | }
|
| | |
|
| | |
| | | goods.getUserType());
|
| | | if (result != null && result.getTaoBaoGoodsBriefs() != null)
|
| | | for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
|
| | | System.out.println(goods.getAuctionId() + ":" + g.getAuctionId());
|
| | | if (goods.getAuctionId().longValue() == g.getAuctionId()) {
|
| | | g.setId(goods.getAuctionId());
|
| | | // 判断是否有优惠券
|
| | | if (!StringUtil.isNullOrEmpty(g.getCouponActivityId())) {
|
| | | // 获取优惠券详情
|
| | | QuanInfo quanInfo = getQuanInfo(g.getAuctionId(), g.getCouponActivityId());
|
| | | if (quanInfo != null) {
|
| | | g.setCouponAmount(quanInfo.coupon_amount);
|
| | | g.setCouponEffectiveEndTime(quanInfo.coupon_end_time);
|
| | | g.setCouponEffectiveStartTime(quanInfo.coupon_start_time);
|
| | | g.setCouponLeftCount(quanInfo.coupon_remain_count);
|
| | | g.setCouponStartFee(quanInfo.coupon_start_fee);
|
| | | g.setCouponTotalCount(quanInfo.coupon_total_count);
|
| | | }
|
| | | } else {
|
| | | g.setCouponAmount(new BigDecimal(0));
|
| | | g.setCouponStartFee(new BigDecimal(0));
|
| | | }
|
| | | g.setCreatetime(new Date());
|
| | | g.setMaterialLibType(goods.getMaterialLibType());
|
| | | g.setProvcity(goods.getProvcity());
|
| | | return g;
|
| | | }
|
| | | }
|
| | |
| | | g.setCouponStartFee(new BigDecimal(0));
|
| | | }
|
| | | g.setCreatetime(new Date());
|
| | | g.setMaterialLibType(goods.getMaterialLibType());
|
| | | g.setProvcity(goods.getProvcity());
|
| | | return g;
|
| | | }
|
| | | }
|
| | |
| | | if (!StringUtil.isNullOrEmpty(goods.getCouponInfo())) {
|
| | | List<BigDecimal> quanInfo = TaoBaoCouponUtil.getCouponInfo(goods.getCouponInfo());
|
| | | goods.setCouponAmount(quanInfo.get(1));
|
| | | goods.setCouponEffectiveEndTime(
|
| | | TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24, "yyyy-MM-dd"));
|
| | | goods.setCouponEffectiveStartTime(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"));
|
| | | goods.setCouponStartFee(quanInfo.get(0));
|
| | | goods.setCouponEffectiveEndTime(item.optString("coupon_end_time"));
|
| | | goods.setCouponEffectiveStartTime(item.optString("coupon_start_time"));
|
| | | goods.setCouponStartFee(new BigDecimal(item.optString("coupon_start_fee")));
|
| | | goods.setCouponLeftCount(item.optInt("coupon_remain_count"));
|
| | | goods.setCouponLink("https:" + item.optString("coupon_share_url"));
|
| | | goods.setCouponTotalCount(item.optInt("coupon_total_count"));
|
| | |
| | | goods.setSellerId(item.optLong("seller_id"));
|
| | | goods.setShopTitle(item.optString("shop_title"));
|
| | | goods.setTitle(item.optString("title"));
|
| | | goods.setProvcity(item.optString("provcity"));
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("level_one_category_id"))) {
|
| | | goods.setRootCatId(item.optInt("level_one_category_id"));
|
| | |
| | | if (!StringUtil.isNullOrEmpty(item.optString("reserve_price")))
|
| | | goods.setReservePrice(new BigDecimal(item.optString("reserve_price")));
|
| | | goods.setTotalFee(new BigDecimal("0"));
|
| | | // 推荐语
|
| | | goods.setDescription(item.optString("item_description"));
|
| | |
|
| | | goods = loadYuShouInfo(goods, item);
|
| | | return goods;
|
| | | }
|
| | |
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | public static List<RelateGoods> getRelateGoodsList(long auctionId) throws ApiException {
|
| | | List<RelateGoods> resultList = new ArrayList<>();
|
| | | List<TaoBaoGoodsBrief> list = getRelationGoodsRecommend(auctionId, 9);
|
| | | for (TaoBaoGoodsBrief goods : list) {
|
| | | if (goods != null) {
|
| | | RelateGoods rg = new RelateGoods();
|
| | | rg.setId(goods.getAuctionId() + "");
|
| | | rg.setPicUrl(goods.getPictUrl());
|
| | | rg.setTitle(goods.getTitle());
|
| | | rg.setZkPrice(goods.getZkPrice().toString());
|
| | | rg.setUrl(goods.getAuctionUrl());
|
| | | resultList.add(rg);
|
| | | }
|
| | | }
|
| | | return resultList;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取券详细信息
|
| | | *
|
| | |
| | | } else
|
| | | return null;
|
| | | return info;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取关联商品推荐
|
| | | * |
| | | * @param auctionId
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoGoodsBrief> getRelationGoodsRecommend(long auctionId, int count) {
|
| | | List<TaoBaoGoodsBrief> list = new ArrayList<>();
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.item.recommend.get");
|
| | | map.put("num_iid", auctionId + "");
|
| | | map.put("count", count + "");
|
| | | map.put("platform", 2 + "");
|
| | | map.put("fields",
|
| | | "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url");
|
| | | String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
|
| | | JSONObject data = JSONObject.fromObject(resultStr);
|
| | | if (data.optJSONObject("tbk_item_recommend_get_response") != null) {
|
| | | if (data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results") == null)
|
| | | return list;
|
| | | JSONArray array = data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results")
|
| | | .optJSONArray("n_tbk_item");
|
| | | if (array != null)
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | JSONObject item = array.optJSONObject(i);
|
| | | TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
|
| | | goods.setAuctionId(item.optLong("num_iid"));
|
| | | goods.setTitle(item.optString("title"));
|
| | | goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
|
| | | goods.setAuctionUrl(item.optString("item_url"));
|
| | | goods.setPictUrl(item.optString("pict_url"));
|
| | | list.add(goods);
|
| | | }
|
| | | }
|
| | | return list;
|
| | | }
|
| | |
|
| | | public static void taoQiangGou() {
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * TODO 按设备猜你喜欢
|
| | | * 店铺搜索
|
| | | *
|
| | | * @param userNickName
|
| | | * @param os
|
| | | * @param imei
|
| | | * @param idfa
|
| | | * @param ip
|
| | | * @param ua
|
| | | * @param net
|
| | | * @param pageNo
|
| | | * @param pageSize
|
| | | * @param key
|
| | | * -店铺名称
|
| | | * @param page
|
| | | * -页码
|
| | | * @return
|
| | | */
|
| | | public static void guessLikeByDevice(String userNickName, String os, String imei, String idfa, String ip, String ua,
|
| | | String net, int pageNo, int pageSize) {
|
| | | public static TaoBaoShopInfoDTO searchShop(String key, int page, int pageSize) {
|
| | | TaoBaoShopInfoDTO dto = new TaoBaoShopInfoDTO();
|
| | | if (StringUtil.isNullOrEmpty(key))
|
| | | return dto;
|
| | |
|
| | | PageEntity pageEntity = new PageEntity();
|
| | | List<TaoBaoShopInfo> list = new ArrayList<>();
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.item.guess.like");
|
| | | if (!StringUtil.isNullOrEmpty(userNickName))
|
| | | map.put("user_nick", userNickName);
|
| | | map.put("os", os + "");
|
| | | if (!StringUtil.isNullOrEmpty(idfa))
|
| | | map.put("idfa", idfa);
|
| | | if (!StringUtil.isNullOrEmpty(imei)) {
|
| | | map.put("imei", imei + "");
|
| | | map.put("imei_md5", StringUtil.Md5(imei));
|
| | | }
|
| | | map.put("ip", ip + "");
|
| | | map.put("ua", ua + "");
|
| | | map.put("net", net + "");
|
| | | map.put("page_no", pageNo + "");
|
| | | map.put("method", "taobao.tbk.shop.get");
|
| | | map.put("fields", "user_id,shop_title,shop_type,seller_nick,pict_url,shop_url");
|
| | | map.put("q", key);
|
| | | map.put("page_size", pageSize + "");
|
| | | map.put("page_no", page + "");
|
| | | String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
|
| | | System.out.println(resultStr);
|
| | | JSONObject resultDate = JSONObject.fromObject(resultStr);
|
| | | if (resultDate.optJSONObject("tbk_shop_get_response") != null
|
| | | && resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results") != null) {
|
| | | JSONArray array = resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results")
|
| | | .optJSONArray("n_tbk_shop");
|
| | | if (array != null) {
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | JSONObject item = array.optJSONObject(i);
|
| | | TaoBaoShopInfo info = new TaoBaoShopInfo();
|
| | | info.setPictureUrl(item.optString("pict_url"));
|
| | | info.setSellerNick(item.optString("seller_nick"));
|
| | | info.setShopTitle(item.optString("shop_title"));
|
| | | info.setShopType(item.optString("shop_type"));
|
| | | info.setShopUrl(item.optString("shop_url"));
|
| | | info.setUserId(item.optLong("user_id"));
|
| | | list.add(info);
|
| | | }
|
| | | }
|
| | |
|
| | | JSONObject optJSONObject = resultDate.optJSONObject("tbk_shop_get_response");
|
| | | int totalResults = optJSONObject.getInt("total_results");
|
| | | int totalPage = totalResults % pageSize == 0 ? totalResults / pageSize : totalResults / pageSize + 1;
|
| | | pageEntity.setTotalCount(totalResults);
|
| | | pageEntity.setTotalPage(totalPage);
|
| | | }
|
| | | pageEntity.setPageIndex(page);
|
| | | pageEntity.setPageSize(pageSize);
|
| | |
|
| | | dto.setListInfo(list);
|
| | | dto.setPage(pageEntity);
|
| | | return dto;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 店铺搜索
|
| | | * |
| | | * @param key
|
| | | * -店铺名称
|
| | | * @param page
|
| | | * -页码
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoShopInfo> searchShop(SearchShopFilter filter) {
|
| | | if (StringUtil.isNullOrEmpty(filter.getKey()))
|
| | | return new ArrayList<>();
|
| | | List<TaoBaoShopInfo> list = new ArrayList<>();
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.shop.get");
|
| | | map.put("fields", "user_id,shop_title,shop_type,seller_nick,pict_url,shop_url");
|
| | | map.put("q", filter.getKey());
|
| | | map.put("page_size", filter.getPageSize() + "");
|
| | | map.put("page_no", filter.getPage() + "");
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(filter.getSort()))
|
| | | map.put("sort", filter.getSort());
|
| | |
|
| | | if (filter.getTmall() != null)
|
| | | map.put("is_tmall", filter.getTmall() + "");
|
| | |
|
| | | String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
|
| | | JSONObject resultDate = JSONObject.fromObject(resultStr);
|
| | | if (resultDate.optJSONObject("tbk_shop_get_response") != null
|
| | | && resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results") != null) {
|
| | | JSONArray array = resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results")
|
| | | .optJSONArray("n_tbk_shop");
|
| | | if (array != null)
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | JSONObject item = array.optJSONObject(i);
|
| | | TaoBaoShopInfo info = new TaoBaoShopInfo();
|
| | | info.setPictureUrl(item.optString("pict_url"));
|
| | | info.setSellerNick(item.optString("seller_nick"));
|
| | | info.setShopTitle(item.optString("shop_title"));
|
| | | info.setShopType(item.optString("shop_type"));
|
| | | info.setShopUrl(item.optString("shop_url"));
|
| | | info.setUserId(item.optLong("user_id"));
|
| | | list.add(info);
|
| | | }
|
| | | }
|
| | | return list;
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | map.put("page_no", page + "");
|
| | | map.put("page_size", pageSize + "");
|
| | | map.put("material_id", materialId + "");
|
| | | map.put("content_id", "561388751621");
|
| | | // map.put("content_id", "561388751621");
|
| | |
|
| | | String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
|
| | | System.out.println(resultStr);
|
| | |
| | | if (response != null && response.optJSONObject("result_list") != null) {
|
| | | JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
|
| | | if (array != null) {
|
| | |
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | JSONObject item = array.optJSONObject(i);
|
| | | TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
|
| | | if (goods != null)
|
| | | goodsList.add(goods);
|
| | | }
|
| | |
|
| | | pageSize = array.size();
|
| | | }
|
| | | }
|
| | |
| | | * @param idfa
|
| | | * @return
|
| | | */
|
| | | public static TaoBaoSearchResult guessDeviceLike(int page, int pageSize, String imei, String idfa) {
|
| | | public static TaoBaoSearchResult guessDeviceLike(int page, int pageSize, String imei, String idfa, String utdid) {
|
| | | List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.optimus.material");
|
| | | map.put("page_no", page + "");
|
| | | map.put("page_size", pageSize + "");
|
| | | map.put("material_id", "6708");
|
| | | if (StringUtil.isNullOrEmpty(imei) && StringUtil.isNullOrEmpty(idfa))
|
| | | if (StringUtil.isNullOrEmpty(imei) && StringUtil.isNullOrEmpty(idfa) && StringUtil.isNullOrEmpty(utdid))
|
| | | return null;
|
| | | map.put("device_encrypt", "MD5");
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(imei)) {
|
| | | map.put("device_encrypt", "MD5");
|
| | | map.put("device_value", StringUtil.Md5(imei));
|
| | | map.put("device_type", "IMEI");
|
| | | } else {
|
| | | } else if (!StringUtil.isNullOrEmpty(idfa)) {
|
| | | map.put("device_encrypt", "MD5");
|
| | | map.put("device_value", StringUtil.Md5(idfa));
|
| | | map.put("device_type", "IDFA");
|
| | | } else if (!StringUtil.isNullOrEmpty(utdid)) {
|
| | | map.put("device_value", utdid);
|
| | | map.put("device_type", "UTDID");
|
| | | }
|
| | |
|
| | | JSONObject resultJSON = null;
|
| | |
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.item.click.extract");
|
| | | map.put("click_url", link + "");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
|
| | | TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
|
| | | JSONObject resultJSON = null;
|
| | | try {
|
| | | resultJSON = TaoKeBaseUtil.baseRequest(map, true);
|
| | | resultJSON = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(resultJSON);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | public static String getRelationId(String accessToken, String appKey, String appSecret) {
|
| | | public static String getRelationId(String accessToken, String appKey, String appSecret) throws TaoBaoAuthException {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.sc.publisher.info.save");
|
| | | map.put("session", accessToken);
|
| | |
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | resultJSON = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(resultJSON.toString());
|
| | | return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data")
|
| | | .optString("relation_id");
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | LogHelper.error("渠道ID申请出错:" + resultJSON);
|
| | | JSONObject errorJSON = JSONObject.fromObject(e.getMsg()).optJSONObject("error_response");
|
| | | if (errorJSON.optInt("code") == 15 && errorJSON.optInt("sub_code") == 1)// 未实名
|
| | | {
|
| | | throw new TaoBaoAuthException(TaoBaoAuthException.CODE_NOT_REAL_NAME, errorJSON.optString("sub_msg"));
|
| | | } else {
|
| | | e.printStackTrace();
|
| | | LogHelper.error("渠道ID申请出错:" + e.getMsg());
|
| | | throw new TaoBaoAuthException(TaoBaoAuthException.CODE_OTHER, errorJSON.optString("sub_msg"));
|
| | | }
|
| | | } catch (Exception e) {
|
| | | LogHelper.error("渠道ID申请出错:" + (resultJSON != null ? resultJSON.toString() : "未知错误"));
|
| | | }
|
| | |
|
| | | return null;
|
| | | }
|
| | |
|
| | | public static String getSpecialId(String accessToken, String appKey, String appSecret) {
|
| | | public static String getSpecialId(String accessToken, String appKey, String appSecret) throws TaoBaoAuthException {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.sc.publisher.info.save");
|
| | | map.put("session", accessToken);
|
| | |
| | | return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data")
|
| | | .optString("special_id");
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | LogHelper.error("会员运营ID申请出错:" + resultJSON);
|
| | | }
|
| | |
|
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取会员订单
|
| | | * |
| | | * @param startTime-开始时间
|
| | | * @param page-页码
|
| | | * @param appKey
|
| | | * @param appSecret
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoSpecialOrder(String startTime, int page, String appKey, String appSecret) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.order.get");
|
| | | map.put("fields",
|
| | | "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
|
| | | map.put("start_time", startTime);
|
| | | map.put("tk_status", "1");
|
| | | map.put("order_query_type", "create_time");
|
| | | map.put("order_scene", "3");
|
| | | map.put("page_no", page + "");
|
| | | map.put("page_size", 100 + "");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json.toString());
|
| | | return parseTaoBaoOrder(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取第三方会员订单
|
| | | * |
| | | * @param startTime
|
| | | * @param page
|
| | | * @param appKey
|
| | | * @param appSecret
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoSpecialThirdOrder(String startTime, int page, String appKey,
|
| | | String appSecret) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.order.get");
|
| | | map.put("fields",
|
| | | "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
|
| | | map.put("start_time", startTime);
|
| | | map.put("tk_status", "1");
|
| | | map.put("order_query_type", "create_time");
|
| | | map.put("order_scene", "3");
|
| | | map.put("page_no", page + "");
|
| | | map.put("page_size", 100 + "");
|
| | | map.put("order_count_type", "2");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json.toString());
|
| | | return parseTaoBaoOrder(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取渠道订单
|
| | | * |
| | | * @param startTime
|
| | | * @param appKey
|
| | | * @param appSecret
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoRelationOrder(String startTime, int page, String appKey,
|
| | | String appSecret) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.order.get");
|
| | | map.put("fields",
|
| | | "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
|
| | | map.put("start_time", startTime);
|
| | | map.put("span", "1200");
|
| | | map.put("tk_status", "1");
|
| | | map.put("order_query_type", "create_time");
|
| | | map.put("order_scene", "2");
|
| | | map.put("page_no", page + "");
|
| | | map.put("page_size", 100 + "");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | |
|
| | | return parseTaoBaoOrder(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 第三方渠道订单
|
| | | * |
| | | * @param startTime
|
| | | * @param page
|
| | | * @param appKey
|
| | | * @param appSecret
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoRelationThirdOrder(String startTime, int page, String appKey,
|
| | | String appSecret) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.order.get");
|
| | | map.put("fields",
|
| | | "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
|
| | | map.put("start_time", startTime);
|
| | | map.put("span", "1200");
|
| | | map.put("tk_status", "1");
|
| | | map.put("order_query_type", "create_time");
|
| | | map.put("order_scene", "2");
|
| | | map.put("page_no", page + "");
|
| | | map.put("page_size", 100 + "");
|
| | | map.put("order_count_type", "2");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | return parseTaoBaoOrder(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取所有的订单(不带渠道信息与会员信息)
|
| | | * |
| | | * @param startTime
|
| | | * @param appKey
|
| | | * @param appSecret
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoAllOrder(String startTime, String appKey, String appSecret) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.order.get");
|
| | | map.put("fields",
|
| | | "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
|
| | | map.put("start_time", startTime);
|
| | | map.put("span", "1200");
|
| | | map.put("tk_status", "1");
|
| | | map.put("order_query_type", "create_time");
|
| | | map.put("order_scene", "1");// 所有订单
|
| | | map.put("page_no", 1 + "");
|
| | | map.put("page_size", 100 + "");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | return parseTaoBaoOrder(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | return null;
|
| | | }
|
| | | |
| | | |
| | | public static void punish()
|
| | | {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.punish.order.get");
|
| | | map.put("span", "3600");
|
| | | map.put("page_no", "1");
|
| | | map.put("page_size", "20");
|
| | | map.put("start_time", "2019-01-01 00:00:00");
|
| | | // map.put("start_time", "2019-01-01 00:00:00");
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(Constant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(Constant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | private static List<TaoBaoOrder> parseTaoBaoOrder(String response) {
|
| | |
|
| | | List<TaoBaoOrder> orderList = new ArrayList<>();
|
| | |
|
| | | JSONObject data = JSONObject.fromObject(response);
|
| | | if (data.optJSONObject("tbk_order_get_response") == null)
|
| | | return orderList;
|
| | | if (data.optJSONObject("tbk_order_get_response").optJSONObject("results") == null)
|
| | | return orderList;
|
| | | if (data.optJSONObject("tbk_order_get_response").optJSONObject("results").optJSONArray("n_tbk_order") == null)
|
| | | return orderList;
|
| | |
|
| | | JSONArray array = data.optJSONObject("tbk_order_get_response").optJSONObject("results")
|
| | | .optJSONArray("n_tbk_order");
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | |
|
| | | JSONObject item = array.optJSONObject(i);
|
| | | try {
|
| | | TaoBaoOrder taoBaoOrder = new TaoBaoOrder();
|
| | | taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
|
| | | taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
|
| | | taoBaoOrder.setAuctionId(item.optLong("num_iid"));
|
| | | taoBaoOrder.setClassName(item.optString("auction_category"));
|
| | | taoBaoOrder.setClickTime(item.optString("click_time"));
|
| | | taoBaoOrder.setCount(item.optInt("item_num"));
|
| | | taoBaoOrder.setCreateTime(item.optString("create_time"));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
|
| | | taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee")));
|
| | | else
|
| | | taoBaoOrder.seteIncome(new BigDecimal(0));
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee")))
|
| | | taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee")));
|
| | | else
|
| | | taoBaoOrder.setEstimate(new BigDecimal(0));
|
| | | taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")).multiply(new BigDecimal(100)));
|
| | | taoBaoOrder.setLatestUpdateTime(null);
|
| | | taoBaoOrder.setManagerWangWang(null);
|
| | | taoBaoOrder.setOrderBy(null);
|
| | | taoBaoOrder.setOrderId(item.optString("trade_parent_id"));
|
| | | if (item.optInt("tk_status") == 12)
|
| | | taoBaoOrder.setOrderState("订单付款");
|
| | | else if (item.optInt("tk_status") == 3)
|
| | | taoBaoOrder.setOrderState("订单结算");
|
| | | else if (item.optInt("tk_status") == 13)
|
| | | taoBaoOrder.setOrderState("订单失效");
|
| | | else if (item.optInt("tk_status") == 14)
|
| | | taoBaoOrder.setOrderState("订单成功");
|
| | |
|
| | | taoBaoOrder.setOrderType(item.optString("order_type"));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
|
| | | taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
|
| | | else
|
| | | taoBaoOrder.setPayment(new BigDecimal(0));
|
| | | taoBaoOrder.setPrice(new BigDecimal(item.optString("price")));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
|
| | | taoBaoOrder.setSettlement(new BigDecimal(item.optString("alipay_total_price")));
|
| | | else
|
| | | taoBaoOrder.setSettlement(new BigDecimal(0));
|
| | | taoBaoOrder.setSettlementTime(item.optString("earning_time"));
|
| | | taoBaoOrder.setShop(item.optString("seller_shop_title"));
|
| | | taoBaoOrder.setSourceMediaId(item.optString("site_id"));
|
| | | taoBaoOrder.setSourceMediaName(item.optString("site_name"));
|
| | | taoBaoOrder.setsRatio(null);
|
| | | taoBaoOrder.setSubsidy(null);
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
|
| | | taoBaoOrder.setSubsidyRatio(
|
| | | new BigDecimal(item.optString("subsidy_rate")).multiply(new BigDecimal(100)));
|
| | | taoBaoOrder.setSubsidyType(item.optString("subsidy_type"));
|
| | | taoBaoOrder.setTechnologySupportPercent(null);
|
| | | taoBaoOrder.setThirdService(null);
|
| | | taoBaoOrder.setTitle(item.optString("item_title"));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
|
| | | taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee")));
|
| | | else
|
| | | taoBaoOrder.setTkMoney(new BigDecimal(0));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("commission_rate")))
|
| | | taoBaoOrder
|
| | | .setTkRate(new BigDecimal(item.optString("commission_rate")).multiply(new BigDecimal(100)));
|
| | | else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
|
| | | taoBaoOrder.setTkRate(
|
| | | new BigDecimal(item.optString("total_commission_rate")).multiply(new BigDecimal(100)));
|
| | | taoBaoOrder.setTransactionPlatform(item.optString("terminal_type"));
|
| | | taoBaoOrder.setRelationId(item.optString("relation_id"));
|
| | | taoBaoOrder.setSpecialId(item.optString("special_id"));
|
| | | orderList.add(taoBaoOrder);
|
| | | } catch (Exception e) {
|
| | | try {
|
| | | LogHelper.errorDetailInfo(e, "订单号信息:" + item.toString(), "订单解析出错");
|
| | | } catch (Exception e1) {
|
| | | }
|
| | | JSONObject errorJSON = JSONObject.fromObject(e.getMsg()).optJSONObject("error_response");
|
| | | if (errorJSON.optInt("code") == 15 && errorJSON.optInt("sub_code") == 1)// 未实名
|
| | | {
|
| | | throw new TaoBaoAuthException(TaoBaoAuthException.CODE_NOT_REAL_NAME, errorJSON.optString("sub_msg"));
|
| | | } else {
|
| | | e.printStackTrace();
|
| | | LogHelper.error("会员运营ID申请出错:" + e.getMsg());
|
| | | throw new TaoBaoAuthException(TaoBaoAuthException.CODE_OTHER, errorJSON.optString("sub_msg"));
|
| | | }
|
| | | } catch (Exception e) {
|
| | | LogHelper.error("会员运营ID申请出错:" + (resultJSON != null ? resultJSON.toString() : "未知错误"));
|
| | | }
|
| | |
|
| | | return orderList;
|
| | | return null;
|
| | | }
|
| | |
|
| | | public static void specialConvertItem(Long auctionId, TaoKeAppInfo app) {
|
| | |
| | | map.put("item_id", auctionId + "");
|
| | | map.put("adzone_id", sts[3]);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
|
| | | JSONObject json = JSONObject.fromObject(result);
|
| | | JSONObject resultJSON = json.optJSONObject("tbk_coupon_convert_response").optJSONObject("result")
|
| | | .optJSONObject("results");
|
| | | String couponLink = resultJSON.optString("coupon_click_url");
|
| | | String itemLink = resultJSON.optString("item_url");
|
| | | TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
|
| | | goods.setAuctionUrl(itemLink);
|
| | | if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info")))
|
| | | if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info"))) {
|
| | | goods.setCouponLink(couponLink);
|
| | | goods.setCouponInfo(resultJSON.optString("coupon_info"));
|
| | | }
|
| | | String tkRate = resultJSON.optString("max_commission_rate");
|
| | | if (!StringUtil.isNullOrEmpty(tkRate)) {
|
| | | goods.setTkRate(new BigDecimal(tkRate));
|
| | | }
|
| | | goods = loadYuShouInfo(goods, resultJSON);
|
| | | return goods;
|
| | | } catch (TaoKeApiException e) {
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | |
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.ju.items.search");
|
| | | map.put("current_page", 1 + "");
|
| | | map.put("page_size", 100+"");
|
| | | map.put("page_size", 100 + "");
|
| | | map.put("pid", "mm_124933865_43788020_381938426");
|
| | | |
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey("24838852");
|
| | | app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8");
|
| | | |
| | |
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json);
|
| | |
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | public static void taoKeContent() {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.content.get");
|
| | | map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3]);
|
| | | map.put("type", "1");
|
| | | map.put("count", "100");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | public static void taoKeContentSource(String contentId, String source) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.optimus.material");
|
| | | map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]);
|
| | | map.put("page_size", "10");
|
| | | map.put("page_no", "1");
|
| | | map.put("content_id", contentId);
|
| | | map.put("content_source", source);
|
| | | map.put("material_id", "1");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | // AA5ISJ
|
| | |
| | | goods.setIncludeDxjh(0);
|
| | |
|
| | | goods.setSellerId(item.optLong("seller_id"));
|
| | | goods.setShopTitle(item.optString("shop_title"));
|
| | | goods.setShopTitle(item.optString("nick"));
|
| | | goods.setTitle(item.optString("title"));
|
| | | goods.setProvcity(item.optString("provcity"));
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("level_one_category_id"))) {
|
| | | goods.setRootCatId(item.optInt("level_one_category_id"));
|
| | |
| | | }
|
| | | goods.setReservePrice(new BigDecimal(0));
|
| | | goods.setTotalFee(new BigDecimal("0"));
|
| | | goods.setPictUrlWhite(item.optString("white_image"));
|
| | | goods = loadYuShouInfo(goods, item);
|
| | | return goods;
|
| | | }
|
| | |
|
| | | public static void getShopGoodsList(Long shopId) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "tmall.omni.pc.iteminfo.getbyshopid");
|
| | | map.put("shop_id", shopId + "");
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey("24838852");
|
| | | app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8");
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | public static void getTaoKeContentEffective() {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.optimus.material");
|
| | | map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID.split("_")[3]);
|
| | | map.put("page_no", "1");
|
| | | map.put("page_size", "20");
|
| | | map.put("content_id", "8872035");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | public static void getTaoKeContent() {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.content.get");
|
| | | map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID.split("_")[3]);
|
| | | map.put("type", "1");
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json);
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 淘口令转商品ID
|
| | | * |
| | | * @param token
|
| | | * @return
|
| | | */
|
| | | public static Long tokenConvertAuctionId(String token) throws TaoBaoTokenParseException {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.tpwd.convert");
|
| | | map.put("password_content", token);
|
| | | map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]);
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | |
|
| | | try {
|
| | | return json.optJSONObject("tbk_tpwd_convert_response").optJSONObject("data").optLong("num_iid");
|
| | | } catch (Exception e) {
|
| | |
|
| | | return null;
|
| | | }
|
| | |
|
| | | } catch (TaoKeApiException e) {
|
| | | JSONObject msg = null;
|
| | | try {
|
| | | msg = JSONObject.fromObject(e.getMsg());
|
| | | } catch (Exception e2) {
|
| | | }
|
| | | if (msg != null && msg.optJSONObject("error_response") != null) {
|
| | | throw new TaoBaoTokenParseException(msg.optJSONObject("error_response").optInt("sub_code"),
|
| | | msg.optJSONObject("error_response").optString("sub_msg"));
|
| | | }
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | // 淘礼金创建
|
| | | public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
|
| | | Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
|
| | | throws TaoLiJinCreateException, TaoKeApiException {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.vegas.tlj.create");
|
| | | map.put("adzone_id", app.getPid().split("_")[3]);
|
| | | map.put("item_id", auctionId + "");
|
| | | map.put("total_num", totalNum + "");
|
| | | map.put("name", name);
|
| | | map.put("user_total_win_num_limit", "1");
|
| | | map.put("security_switch", "false");
|
| | | map.put("per_face", perface.toString());
|
| | | map.put("send_start_time", TimeUtil.getGernalTime(sendStartTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
|
| | |
|
| | | if (sendEndTime != null)
|
| | | map.put("send_end_time", TimeUtil.getGernalTime(sendEndTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
|
| | |
|
| | | if (useEndTime != null) {
|
| | | map.put("use_end_time", TimeUtil.getGernalTime(useEndTime.getTime(), "yyyy-MM-dd"));
|
| | | map.put("use_end_time_mode", "2");
|
| | | }
|
| | |
|
| | | if (useStartTime != null)
|
| | | map.put("use_start_time", TimeUtil.getGernalTime(useStartTime.getTime(), "yyyy-MM-dd"));
|
| | | try {
|
| | | String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
|
| | | JSONObject json = JSONObject.fromObject(result);
|
| | | System.out.println(json);
|
| | | JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_create_response");
|
| | | if (root != null && root.optJSONObject("result") != null) {
|
| | |
|
| | | if (root.optJSONObject("result").optBoolean("success")) {
|
| | | JSONObject modelJson = root.optJSONObject("result").optJSONObject("model");
|
| | | TaoLiJinDTO dto = new TaoLiJinDTO();
|
| | | dto.setRightsId(modelJson.optString("rights_id"));
|
| | | dto.setSendUrl(modelJson.optString("send_url"));
|
| | | return dto;
|
| | | } else {
|
| | | LogHelper.error(json);
|
| | | }
|
| | |
|
| | | // 接口返回异常
|
| | | String msgCode = root.optJSONObject("result").optString("msg_code");
|
| | | if (!StringUtil.isNullOrEmpty(msgCode)) {
|
| | | TLJLogHelper.info(auctionId, root.toString());// 淘礼金异常信息记录
|
| | | switch (msgCode) {
|
| | | case "FAIL_BIZ_ITEM_FORBIDDEN":
|
| | | throw new TaoLiJinCreateException(TaoLiJinCreateException.CODE_TLJ_FORBIDDEN, "该商品不支持创建淘礼金红包");
|
| | | case "FAIL_BIZ_ACCOUNT_UN_PAID":
|
| | | case "PRE_FREEZE_ASSET_ACCOUNT_ERROR":
|
| | | throw new TaoLiJinCreateException(TaoLiJinCreateException.CODE_TLJ_NO_MONEY, "官方玩法钱包余额不足");
|
| | | default:
|
| | | throw new TaoKeApiException(Integer.parseInt(msgCode), root.toString());
|
| | | }
|
| | | }
|
| | | }
|
| | | } catch (TaoKeApiException e) {
|
| | | throw e;
|
| | | }
|
| | |
|
| | | return null;
|
| | | }
|
| | |
|
| | | // 淘礼金报告
|
| | | public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.vegas.tlj.instance.report");
|
| | | map.put("rights_id", rightsId);
|
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | |
|
| | | try {
|
| | | String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
|
| | | JSONObject json = JSONObject.fromObject(result);
|
| | | System.out.println(json);
|
| | |
|
| | | JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_instance_report_response");
|
| | |
|
| | | if (root != null && root.optJSONObject("result") != null) {
|
| | | if (root.optJSONObject("result").optBoolean("success")) {
|
| | | JSONObject modelJson = root.optJSONObject("result").optJSONObject("model");
|
| | |
|
| | | if (modelJson != null && modelJson.size() > 0) {
|
| | | UserTaoLiJinReport report = new UserTaoLiJinReport();
|
| | | report.setId(rightsId);
|
| | | report.setUnfreezeAmount(new BigDecimal(modelJson.optString("unfreeze_amount")));
|
| | | report.setUnfreezeNum(modelJson.optInt("unfreeze_num"));
|
| | | report.setRefundAmount(new BigDecimal(modelJson.optString("refund_amount")));
|
| | | report.setRefundNum(modelJson.optInt("refund_num"));
|
| | | report.setAlipayAmount(new BigDecimal(modelJson.optString("alipay_amount")));
|
| | | report.setUseAmount(new BigDecimal(modelJson.optString("use_amount")));
|
| | | report.setUseNum(modelJson.optInt("use_num"));
|
| | | report.setWinAmount(new BigDecimal(modelJson.optString("win_amount")));
|
| | | report.setWinNum(modelJson.optInt("win_num"));
|
| | | report.setPreCommissionAmount(new BigDecimal(modelJson.optString("pre_commission_amount")));
|
| | | return report;
|
| | | }
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | public static void getCouponByAuctionId(Long auctionId) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.itemid.coupon.get");
|
| | | map.put("platform", 2 + "");
|
| | | map.put("pid", TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
|
| | | map.put("num_iids", auctionId + "");
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.print(json);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取淘宝系统时间
|
| | | * |
| | | * @return
|
| | | */
|
| | | public static Date getTaoBaoSystemTime() {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.time.get");
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, false);
|
| | | String time = json.optJSONObject("time_get_response").optString("time");
|
| | | return new Date(TimeUtil.convertToTimeTemp(time, "yyyy-MM-dd HH:mm:ss"));
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 官方活动推广
|
| | | * |
| | | * @param adZoneId
|
| | | * -广告位
|
| | | * @param promotionSceneId-活动ID
|
| | | * @param relationId
|
| | | * -渠道ID
|
| | | * @return
|
| | | */
|
| | | public static String officialActivityConvert(String adZoneId, String promotionSceneId, String relationId) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.activitylink.get");
|
| | | map.put("adzone_id", adZoneId);
|
| | | map.put("promotion_scene_id", promotionSceneId);
|
| | | if (relationId != null)
|
| | | map.put("relation_id", relationId);
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
|
| | | JSONObject json = JSONObject.fromObject(result);
|
| | | if (json != null) {
|
| | | json = json.optJSONObject("tbk_activitylink_get_response");
|
| | | if (json.optInt("result_code") == 200) {
|
| | | return json.optString("data");
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | public static List<TaoBaoGoodsBrief> guessLikeByAuctionId(Long auctionId, int count) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.dg.optimus.material");
|
| | | map.put("item_id", auctionId + "");
|
| | | map.put("page_size", count + "");
|
| | | map.put("page_no", 1 + "");
|
| | | map.put("material_id", 13256 + "");
|
| | |
|
| | | List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
| | | JSONObject resultJSON = null;
|
| | | try {
|
| | | resultJSON = TaoKeBaseUtil.baseRequest(map, true);
|
| | |
|
| | | JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response");
|
| | | if (response != null && response.optJSONObject("result_list") != null) {
|
| | | JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
|
| | | if (array != null) {
|
| | |
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | JSONObject item = array.optJSONObject(i);
|
| | | TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
|
| | | if (goods != null)
|
| | | goodsList.add(goods);
|
| | | }
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | return goodsList;
|
| | | }
|
| | | }
|
| | |
|
| | | class QuanInfo {
|