| | |
| | | package com.ks.lijin.utils.taobao; |
| | | |
| | | |
| | | import com.ks.lijin.exception.LiJinException; |
| | | import com.ks.lijin.exception.LiJinGoodsException; |
| | | import com.ks.lijin.exception.TaoBaoGoodsDownException; |
| | | import com.ks.lijin.exception.TaoKeApiException; |
| | | import com.ks.lijin.exception.*; |
| | | import com.ks.lijin.pojo.DTO.taobao.*; |
| | | import com.ks.lijin.pojo.PageEntity; |
| | | import com.taobao.api.internal.util.StringUtils; |
| | |
| | | // 淘礼金创建 |
| | | public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum, |
| | | Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app) |
| | | throws LiJinException, LiJinGoodsException { |
| | | throws LiJinAccountException, LiJinAmountException, LiJinException, LiJinGoodsException { |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("method", "taobao.tbk.dg.vegas.tlj.create"); |
| | | map.put("adzone_id", app.getPid().split("_")[3]); |
| | |
| | | |
| | | // 接口返回异常 |
| | | String msgCode = root.optJSONObject("result").optString("msg_code"); |
| | | String msgInfo = root.optJSONObject("result").optString("msg_info"); |
| | | if (!StringUtil.isNullOrEmpty(msgCode)) { |
| | | // TLJLogHelper.info(auctionId, root.toString());// 淘礼金异常信息记录 TODO |
| | | switch (msgCode) { |
| | | case "FAIL_BIZ_ITEM_FORBIDDEN": |
| | | throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_NOT_SUPPORT, "该商品不支持创建淘礼金红包"); |
| | | case "FAIL_BIZ_ACCOUNT_UN_PAID": |
| | | throw new LiJinException(LiJinException.CODE_TLJ_UN_PAID, "您的淘礼金账户暂未创建,请前往资金管理页面充值"); |
| | | throw new LiJinAccountException(LiJinAccountException.CODE_TLJ_UN_PAID, "您的淘礼金账户暂未创建,请前往资金管理页面充值"); |
| | | case "PRE_FREEZE_ASSET_ACCOUNT_ERROR": |
| | | throw new LiJinException(LiJinException.CODE_TLJ_NO_MONEY, "官方玩法钱包余额不足"); |
| | | throw new LiJinAccountException(LiJinAccountException.CODE_TLJ_NO_MONEY, "官方玩法钱包余额不足"); |
| | | case "ASSET_ACCOUNT_BALANCE_NOT_ENOUGH": |
| | | throw new LiJinException(LiJinException.CODE_TLJ_NO_MONEY, "账户预算不足"); |
| | | throw new LiJinAccountException(LiJinAccountException.CODE_TLJ_NO_MONEY, "账户预算不足"); |
| | | case "FAIL_CHECK_ITEM_DAILY_SEND_NUM_CHECK_ERROR": |
| | | throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_CREATED_NUM_FULL, "今日该商品淘礼金创建数已超上限,请您明日再试"); |
| | | throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_CREATED_FULL, "今日该商品淘礼金创建数已超上限,请您明日再试"); |
| | | case "FAIL_CHECK_TLJ_MIN_FACE_ERROR": |
| | | throw new LiJinAmountException(LiJinAmountException.CODE_LIJIN_AMOUNT_OUTOFRANGE, msgInfo); |
| | | default: |
| | | throw new LiJinException(Integer.parseInt(msgCode), root.toString()); |
| | | } |
| | |
| | | params.put("v", "2.0"); |
| | | params.put("timestamp", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss")); |
| | | params.put("format", "json"); |
| | | if (!StringUtil.isNullOrEmpty(app.getAdzoneId())) |
| | | if (!StringUtil.isNullOrEmpty(app.getAdzoneId())) { |
| | | params.put("adzone_id", app.getAdzoneId()); |
| | | } |
| | | params.put("sign", getSign(params, "md5", app).toUpperCase()); |
| | | String result = taoKeGet(params); |
| | | JSONObject data = JSONObject.fromObject(result); |
| | |
| | | String key = keys.next(); |
| | | url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); |
| | | } |
| | | System.out.println("淘客请求连接:"+url); |
| | | GetMethod method = new GetMethod(url); |
| | | // 3S的响应超时 |
| | | HttpConnectionManagerParams hparams = new HttpConnectionManagerParams(); |
| | | hparams.setConnectionTimeout(3000); |
| | | client.getHttpConnectionManager().setParams(hparams); |
| | | client.executeMethod(method); |
| | | String result = method.getResponseBodyAsString(); |
| | | System.out.println(result); |
| | | return method.getResponseBodyAsString(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |