| | |
| | | List<JDOrder> orderList = new Gson().fromJson(data.toString(), typeToken); |
| | | if (orderList != null) |
| | | for (JDOrder order : orderList) { |
| | | Map<Long, List<JDOrderItem>> map = new HashMap<>(); |
| | | Map<String, List<JDOrderItem>> map = new HashMap<>(); |
| | | for (int i = 0; i < order.getOrderItemList().size(); i++) { |
| | | JDOrderItem orderItem = order.getOrderItemList().get(i); |
| | | if (map.get(orderItem.getSkuId()) == null) |
| | | map.put(orderItem.getSkuId(), new ArrayList<>()); |
| | | map.get(orderItem.getSkuId()).add(orderItem); |
| | | String goodsId = getGoodsId(orderItem, order.getOrderItemList().size()); |
| | | if (map.get(goodsId) == null) |
| | | map.put(goodsId, new ArrayList<>()); |
| | | map.get(goodsId).add(orderItem); |
| | | |
| | | order.getOrderItemList().get(i) |
| | | .setTradeId(order.getOrderId() + "-" + order.getOrderItemList().get(i).getSkuId()); |
| | | .setTradeId(order.getOrderId() + "-" + getGoodsId(order.getOrderItemList().get(i),order.getOrderItemList().size())); |
| | | order.getOrderItemList().get(i).setOrderId(order.getOrderId()); |
| | | order.getOrderItemList().get(i).setOrderBy(i + 1); |
| | | } |
| | | // 查询商品ID相同的子订单 |
| | | for (Iterator<Long> its = map.keySet().iterator(); its.hasNext(); ) { |
| | | Long skuId = its.next(); |
| | | if (map.get(skuId).size() > 1) { |
| | | for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) { |
| | | String goodsId = its.next(); |
| | | if (map.get(goodsId).size() > 1) { |
| | | int skuOrderBy = 1; |
| | | for (int i = 0; i < order.getOrderItemList().size(); i++) { |
| | | JDOrderItem orderItem = order.getOrderItemList().get(i); |
| | | if (orderItem.getSkuId().longValue() == skuId) { |
| | | if (getGoodsId(orderItem,order.getOrderItemList().size()).equalsIgnoreCase(goodsId)) { |
| | | order.getOrderItemList().get(i).setTradeId(order.getOrderId() + "-" |
| | | + order.getOrderItemList().get(i).getSkuId() + "-" + skuOrderBy++); |
| | | + getGoodsId(order.getOrderItemList().get(i), order.getOrderItemList().size()) + "-" + skuOrderBy++); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private static String getGoodsId(JDOrderItem item, int itemCount) { |
| | | if (itemCount <= 1) { |
| | | return item.getSkuId() + ""; |
| | | } |
| | | if (item.getSkuId() != null) { |
| | | return item.getSkuId() + ""; |
| | | } |
| | | return item.getItemId().split("_")[1]; |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | |
| | | JDGoods goods = queryGoodsDetail("KXexrdv7wvWFvE1JNpVMEjdo_3KLpG8mAYwxxKXwFw0"); |
| | | System.out.println(goods.toString()); |
| | | Date startTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L); |
| | | // 一个小时为一个步长 |
| | | List<JDOrder> tempOrderList = new ArrayList<>(); |
| | | for (int i = 0; i < 24; i++) { |
| | | Date da = new Date(startTime.getTime() + 1000 * 60 * 60L * i); |
| | | if (da.getTime() >System.currentTimeMillis()) |
| | | break; |
| | | |
| | | |
| | | |
| | | // long now = System.currentTimeMillis(); |
| | | // |
| | | // JDOrderResult result = JDApiUtil.getOrderList(1, 200, new Date(now), JDApiUtil.ORDER_TYPE_CREATETIME); |
| | | // System.out.printf(result.toString()); |
| | | int pageSize = 200; |
| | | int page = 1; |
| | | JDOrderResult result = JDApiUtil.getOrderList(page++, pageSize, da, JDApiUtil.ORDER_TYPE_UPDATETIME); |
| | | if (result != null) { |
| | | tempOrderList.addAll(result.getOrderList()); |
| | | while (result != null && result.isHasMore()) { |
| | | result = JDApiUtil.getOrderList(page++, pageSize, da, JDApiUtil.ORDER_TYPE_UPDATETIME); |
| | | if (result != null) |
| | | tempOrderList.addAll(result.getOrderList()); |
| | | } |
| | | } |
| | | } |
| | | System.out.println(tempOrderList.size()); |
| | | } |
| | | |
| | | } |