| | |
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | |
|
| | | import com.taobao.api.TaobaoObject;
|
| | | import com.yeshi.fanli.dto.order.OrderQuery;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
|
| | | import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
|
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | 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 TaoKeOrderApiUtil {
|
| | |
|
| | | public static int TK_STATUS_ALL = 1;
|
| | | public static int TK_STATUS_SETTLEMENT = 3;
|
| | | public static int TK_STATUS_PAY = 12;
|
| | | public static int TK_STATUS_SUCCESS = 14;
|
| | | public static int TK_STATUS_INVALID = 13;
|
| | |
|
| | | /**
|
| | | * 获取会员订单
|
| | | *
|
| | |
| | | map.put("page_no", "1");
|
| | | map.put("page_size", "20");
|
| | | map.put("start_time", "2019-01-01 00:00:00");
|
| | | map.put("tb_trade_parent_id", "370829441412331676");
|
| | | map.put("punish_status", "2");
|
| | | map.put("violation_type", "2");
|
| | |
|
| | | // 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);
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | } catch (TaoKeApiException e) {
|
| | |
| | | taoBaoOrder.setSourceMediaId(item.optString("site_id"));
|
| | | taoBaoOrder.setSourceMediaName(item.optString("site_name"));
|
| | | taoBaoOrder.setsRatio(null);
|
| | | taoBaoOrder.setSubsidy(null);
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 补贴金额
|
| | | taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee")));
|
| | | if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
|
| | | taoBaoOrder.setSubsidyRatio(
|
| | | new BigDecimal(item.optString("subsidy_rate")).multiply(new BigDecimal(100)));
|
| | |
| | | private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span) {
|
| | | int page = 1;
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | List<TaoBaoOrder> orderList = getTaoBaoSpecialOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
|
| | | Constant.TAOBAO_AUTH_APPSECRET);
|
| | | List<TaoBaoOrder> orderList = getTaoBaoSpecialOrder(startTimeStr, span, page, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | |
| | | private static List<TaoBaoOrder> getThirdTSpecialOrder(long startTime, int span) {
|
| | | int page = 1;
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
|
| | | Constant.TAOBAO_AUTH_APPSECRET);
|
| | | List<TaoBaoOrder> orderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | List<TaoBaoOrder> tempOrderList = getTaoBaoSpecialThirdOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | |
| | | private static List<TaoBaoOrder> getRelationOrder(long startTime, int span) {
|
| | | int page = 1;
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
|
| | | Constant.TAOBAO_AUTH_APPSECRET);
|
| | | List<TaoBaoOrder> orderList = getTaoBaoRelationOrder(startTimeStr, span, page,
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | List<TaoBaoOrder> tempOrderList = getTaoBaoRelationOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | |
| | | private static List<TaoBaoOrder> getThirdRelationOrder(long startTime, int span) {
|
| | | int page = 1;
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page, Constant.TAOBAO_AUTH_APPKEY,
|
| | | Constant.TAOBAO_AUTH_APPSECRET);
|
| | | List<TaoBaoOrder> orderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | List<TaoBaoOrder> tempOrderList = getTaoBaoRelationThirdOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | |
| | | }
|
| | | return orderList;
|
| | | }
|
| | |
|
| | | private static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, int span, boolean third) {
|
| | | OrderQuery orderQuery = new OrderQuery();
|
| | | orderQuery.span = span;
|
| | | orderQuery.orderQueryType = "settle_time";
|
| | | orderQuery.orderScene = 1;
|
| | | orderQuery.pageSize = 100;
|
| | | int page = 1;
|
| | | orderQuery.pageNo = page;
|
| | | if (third)
|
| | | orderQuery.orderCountType = 2;
|
| | | else
|
| | | orderQuery.orderCountType = 1;
|
| | |
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | orderQuery.startTime = startTimeStr;
|
| | | List<TaoBaoOrder> orderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | orderQuery.pageNo = page;
|
| | | List<TaoBaoOrder> tempOrderList = queryTaoBaoOrder(orderQuery, TaoBaoConstant.TAOBAO_AUTH_APPKEY,
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | | return orderList;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取结算订单
|
| | | * |
| | | * @param startTime
|
| | | * @param endTime
|
| | | * @param third
|
| | | * -是否为第三方订单
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoSettleOrders(long startTime, long endTime, boolean third) {
|
| | | List<TaoBaoOrder> orderList = new ArrayList<>();
|
| | | long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
|
| | | int count = (int) (span / 1200);
|
| | | if (span % 1200 != 0)
|
| | | count++;
|
| | | for (int i = 0; i < count; i++) {
|
| | | long startT = startTime + i * 1200 * 1000L;
|
| | | int s = 1200;
|
| | | if (endTime < startT + 1200 * 1000L) {
|
| | | s = (int) ((endTime - startT) / 1000) + 1;
|
| | | if (s < 60)
|
| | | s = 60;
|
| | | }
|
| | | List<TaoBaoOrder> tempOrderList = getTaoBaoSettleOrders(startT, s, third);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | |
|
| | | try {
|
| | | Thread.sleep(1000 * 10);// 加个延时,防止API请求频率限制
|
| | | } catch (InterruptedException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | return orderList;
|
| | | }
|
| | |
|
| | | public static List<TaoBaoWeiQuanOrder> getTaoBaoWeiQuanOrderList() {
|
| | |
|
| | | return null;
|
| | | }
|
| | | }
|