| | |
| | | import java.util.Map;
|
| | |
|
| | | import com.yeshi.fanli.dto.order.OrderQuery;
|
| | | import com.yeshi.fanli.dto.taobao.TaoBaoOrderResultDTO;
|
| | | import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoPunishOrder;
|
| | |
| | | return orderList;
|
| | | }
|
| | |
|
| | | private static List<TaoBaoOrder> parseTaoBaoOrderNew(String response) {
|
| | | private static TaoBaoOrderResultDTO parseTaoBaoOrderNew(String response) {
|
| | |
|
| | | TaoBaoOrderResultDTO dto=new TaoBaoOrderResultDTO(false, false, null, new ArrayList<>());
|
| | | |
| | | List<TaoBaoOrder> orderList = new ArrayList<>();
|
| | | JSONArray array = null;
|
| | | JSONObject data = JSONObject.fromObject(response);
|
| | | try {
|
| | | array = data.optJSONObject("tbk_order_details_get_response").optJSONObject("data").optJSONObject("results")
|
| | | JSONObject rootData=data.optJSONObject("tbk_order_details_get_response").optJSONObject("data");
|
| | | array =rootData .optJSONObject("results")
|
| | | .optJSONArray("publisher_order_dto");
|
| | | dto.setHasPre( rootData.optBoolean("has_pre"));
|
| | | dto.setPositionIndex(rootData.optString("position_index"));
|
| | | dto.setHasNext(rootData.optBoolean("has_next"));
|
| | | } catch (Exception e) {
|
| | | return orderList;
|
| | | return dto;
|
| | | }
|
| | |
|
| | | if (array != null)
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | return orderList;
|
| | | dto.setOrderList(orderList);
|
| | | return dto;
|
| | | }
|
| | |
|
| | | private static List<TaoBaoOrder> getSpecialOrder(long startTime, int span, int tkStatus) {
|
| | |
| | |
|
| | | return finalResult;
|
| | | }
|
| | | |
| | | /**
|
| | | * 新版本淘宝订单
|
| | | */
|
| | |
|
| | | /**
|
| | | * 获取淘宝会员运营订单
|
| | |
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoOrder> getTaoBaoSpecialOrderList(long startTime, long endTime, int queryType) {
|
| | | List<TaoBaoOrder> orderList = new ArrayList<>();
|
| | | // 间隔3小时
|
| | | long jianGe = endTime - startTime;
|
| | | long page = jianGe / (1000 * 60 * 60 * 3L);
|
| | | if (page == 0)
|
| | | page = 1;
|
| | | for (int i = 1; i <= page; i++) {
|
| | | long start = startTime + (i - 1) * (1000 * 60 * 60 * 3L);
|
| | | long end = start + (1000 * 60 * 60 * 3L);
|
| | | if (end > endTime)
|
| | | end = endTime;
|
| | | List<TaoBaoOrder> tempOrderList = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
|
| | | TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), queryType, 3);
|
| | | if (tempOrderList != null)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | | return orderList;
|
| | | return getTaoBaoOrderList(startTime, endTime, queryType, 3);
|
| | | }
|
| | |
|
| | | public static List<TaoBaoOrder> getTaoBaoRelationOrderList(long startTime, long endTime, int queryType) {
|
| | | return getTaoBaoOrderList(startTime, endTime, queryType, 2);
|
| | | }
|
| | | |
| | | public static List<TaoBaoOrder> getTaoBaoCommonOrderList(long startTime, long endTime, int queryType) {
|
| | | return getTaoBaoOrderList(startTime, endTime, queryType, 1);
|
| | | }
|
| | | |
| | | |
| | | public static List<TaoBaoOrder> getTaoBaoOrderList(long startTime, long endTime, int queryType,int orderScene) {
|
| | | List<TaoBaoOrder> orderList = new ArrayList<>();
|
| | | // 间隔3小时
|
| | | // 跨度20分钟
|
| | | long span=(1000 * 60 * 20L);
|
| | | long jianGe = endTime - startTime;
|
| | | long page = jianGe / (1000 * 60 * 60 * 3L);
|
| | | long page = jianGe %span==0?jianGe/span:jianGe /span+1 ;
|
| | | if (page == 0)
|
| | | page = 1;
|
| | | for (int i = 1; i <= page; i++) {
|
| | | long start = startTime + (i - 1) * (1000 * 60 * 60 * 3L);
|
| | | long end = start + (1000 * 60 * 60 * 3L);
|
| | | long start = startTime + (i - 1) * span;
|
| | | long end = start + span;
|
| | | if (end > endTime)
|
| | | end = endTime;
|
| | | List<TaoBaoOrder> tempOrderList = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
|
| | | TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"), queryType, 2);
|
| | | if (tempOrderList != null)
|
| | | orderList.addAll(tempOrderList);
|
| | | TaoBaoOrderResultDTO dto = queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
|
| | | TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"),null, queryType, orderScene);
|
| | | if (dto != null)
|
| | | orderList.addAll(dto.getOrderList());
|
| | | while(dto.isHasNext())
|
| | | {
|
| | | dto=queryNewOrder(TimeUtil.getGernalTime(start, "yyyy-MM-dd HH:mm:ss"),
|
| | | TimeUtil.getGernalTime(end, "yyyy-MM-dd HH:mm:ss"),dto.getPositionIndex(), queryType, orderScene);
|
| | | if (dto != null)
|
| | | orderList.addAll(dto.getOrderList());
|
| | | }
|
| | | }
|
| | | return orderList;
|
| | | }
|
| | | |
| | |
|
| | | public static List<TaoBaoOrder> queryNewOrder(String startTime, String endTime, int queryType, int orderScene) {
|
| | | private static TaoBaoOrderResultDTO queryNewOrder(String startTime, String endTime,String positionIndex, int queryType, int orderScene) {
|
| | | Map<String, String> params = new HashMap<>();
|
| | | params.put("query_type", queryType + "");
|
| | | params.put("page_size", "100");
|
| | |
| | | params.put("end_time", endTime);
|
| | | params.put("page_no", "1");
|
| | | params.put("order_scene", orderScene + "");
|
| | | if(!StringUtil.isNullOrEmpty(positionIndex))
|
| | | params.put("position_index", positionIndex + "");
|
| | | params.put("method", "taobao.tbk.order.details.get");
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
|
| | | app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(params, app);
|
| | | List<TaoBaoOrder> orderList = parseTaoBaoOrderNew(json.toString());
|
| | | return orderList;
|
| | | return parseTaoBaoOrderNew(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return new ArrayList<>();
|
| | | return null;
|
| | | }
|
| | | }
|