| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 店铺搜索
|
| | | * |
| | | * @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
|
| | |
| | | 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);
|
| | |
| | | .optString("relation_id");
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | LogHelper.error("渠道ID申请出错:" + resultJSON);
|
| | | LogHelper.error("渠道ID申请出错:" + e.getMsg());
|
| | | }
|
| | |
|
| | | return null;
|
| | |
| | | }
|
| | |
|
| | | }
|
| | | |
| | |
|
| | | 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
|
| | |
| | | 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 {
|