From 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 11 七月 2019 16:34:13 +0800 Subject: [PATCH] 订单bug,分享爆款自购修改 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 259 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 253 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java index cdc1302..6b87a8b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java @@ -10,6 +10,9 @@ import org.yeshi.utils.taobao.TbImgUtil; import com.taobao.api.ApiException; +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.RelateGoods; import com.yeshi.fanli.entity.taobao.SearchFilter; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -26,6 +29,7 @@ import com.yeshi.fanli.tag.PageEntity; 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; @@ -1237,6 +1241,62 @@ } /** + * 搴楅摵鎼滅储 + * + * @param key + * -搴楅摵鍚嶇О + * @param page + * -椤电爜 + * @return + */ + 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.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); + 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; + } + + /** * TODO 鎸夎澶囩寽浣犲枩娆� * * @param userNickName @@ -1332,7 +1392,7 @@ 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); @@ -1603,7 +1663,7 @@ .optString("relation_id"); } catch (TaoKeApiException e) { e.printStackTrace(); - LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + resultJSON); + LogHelper.error("娓犻亾ID鐢宠鍑洪敊:" + e.getMsg()); } return null; @@ -1699,20 +1759,44 @@ } } - + public static void taoKeContent() { Map<String, String> map = new HashMap<>(); map.put("method", "taobao.tbk.content.get"); + map.put("adzone_id", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]); + map.put("type", "1"); + map.put("count", "100"); + TaoKeAppInfo app = new TaoKeAppInfo(); - app.setAppKey("24838852"); - app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8"); + app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); + app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); try { - JSONObject json = TaoKeBaseUtil.baseRequest(map,app); + 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 @@ -1809,6 +1893,169 @@ 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(); + } + + } + + // 娣樼ぜ閲戝垱寤� + public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum, + Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime,TaoKeAppInfo app) throws 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)) { + switch(msgCode){ + case "FAIL_BIZ_ITEM_FORBIDDEN": + throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_FORBIDDEN, "璇ュ晢鍝佷笉鏀寔鍒涘缓娣樼ぜ閲戠孩鍖�"); + case "FAIL_BIZ_ACCOUNT_UN_PAID": + case "PRE_FREEZE_ASSET_ACCOUNT_ERROR": + throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_NO_MONEY, "瀹樻柟鐜╂硶閽卞寘浣欓涓嶈冻"); + default: + return null; + } + } + } + } catch (TaoKeApiException e) { + throw e; + } catch (Exception e) { + LogHelper.errorDetailInfo(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; + } } class QuanInfo { -- Gitblit v1.8.0