| | |
| | | import java.math.BigDecimal;
|
| | | import java.net.URLEncoder;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Collections;
|
| | | import java.util.Comparator;
|
| | | import java.util.Date;
|
| | | import java.util.HashMap;
|
| | |
| | | return getOrderList(30, config);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取维权成功订单
|
| | | * |
| | | * @param startTime
|
| | | * @param endTime
|
| | | * @return
|
| | | */
|
| | | public static List<TaoBaoWeiQuanOrder> getWeiQuanOrders(long startTime, long endTime, TaoBaoUnionConfig config) {
|
| | | String cookie = getTaoBaoCookie(config.getAccount());
|
| | | return getWeiQuanOrders(cookie, startTime, endTime);
|
| | | public static List<TaoBaoWeiQuanOrder> getWeiQuanOrders(InputStream input) {
|
| | | return parseWeiQuanOrder(input);
|
| | | }
|
| | |
|
| | | private static List<TaoBaoWeiQuanOrder> getWeiQuanOrders(String cookies, long startTime, long endTime) {
|
| | |
| | | for (int c = 0; c < sheet.getColumns(); c++) {
|
| | | String content = sheet.getCell(c, r).getContents().trim();
|
| | | switch (c) {
|
| | | case 0://
|
| | | orderRecord.setOrderId(content);
|
| | | break;
|
| | | case 1://
|
| | | orderRecord.setOrderItemId(content);
|
| | | break;
|
| | | case 2://
|
| | | orderRecord.setGoodsName(content);
|
| | | break;
|
| | | case 3:
|
| | | orderRecord.setMoney(StringUtil.isNullOrEmpty(content) ? null : new BigDecimal(content));
|
| | | break;
|
| | | case 4:
|
| | | orderRecord.setFanMoney(StringUtil.isNullOrEmpty(content) ? null : new BigDecimal(content));
|
| | | break;
|
| | | case 5://
|
| | | orderRecord.setState(content);
|
| | | break;
|
| | | case 6://
|
| | | if (!StringUtil.isNullOrEmpty(content))
|
| | | orderRecord.setJieSuanTime(
|
| | | new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
|
| | | break;
|
| | | case 7://
|
| | | case 0:// 维权时间
|
| | | if (!StringUtil.isNullOrEmpty(content))
|
| | | orderRecord.setWeiQuanTime(
|
| | | new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
|
| | | break;
|
| | | case 8://
|
| | | case 1:// 维权完成时间
|
| | | if (!StringUtil.isNullOrEmpty(content))
|
| | | orderRecord.setWeiQuanFinishTime(
|
| | | new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
|
| | | break;
|
| | | case 2:// 结算时间
|
| | | if (!StringUtil.isNullOrEmpty(content))
|
| | | orderRecord.setJieSuanTime(
|
| | | new Date(TimeUtil.convertToTimeTemp(content, "yyyy-MM-dd HH:mm:ss")));
|
| | | break;
|
| | | case 3:// 商品名称
|
| | | orderRecord.setGoodsName(content);
|
| | | break;
|
| | | case 5:// 淘宝订单号
|
| | | orderRecord.setOrderId(content);
|
| | | break;
|
| | | case 6:// 淘宝子订单号
|
| | | orderRecord.setOrderItemId(content);
|
| | | break;
|
| | | case 7:// 维权状态
|
| | | orderRecord.setState(content);
|
| | | break;
|
| | | case 8:// 结算金额
|
| | |
|
| | | break;
|
| | | case 9:// 退款金额
|
| | | orderRecord.setMoney(StringUtil.isNullOrEmpty(content) ? null : new BigDecimal(content));
|
| | | break;
|
| | |
|
| | | case 10:// 返还商家金额
|
| | | orderRecord.setFanMoney(StringUtil.isNullOrEmpty(content) ? null : new BigDecimal(content));
|
| | | break;
|
| | | }
|
| | | }
|
| | |
| | | String tradeId = taoBaoOrder.getTradeId();
|
| | | String orderByStr = tradeId.substring(startIndex, endIndex + 1);
|
| | | if (orderByStr.length() > 8) {
|
| | | LogHelper.error("订单的orderBy超过8位:" + taoBaoOrder.getOrderBy());
|
| | | LogHelper.error(taoBaoOrder.getOrderId()+ "-订单的orderBy超过8位:" + taoBaoOrder.getOrderBy());
|
| | | }
|
| | | int orderBy = Integer.parseInt(orderByStr);
|
| | | // taoBaoOrder.setOrderBy(orderBy);
|
| | |
| | | return commonOrder;
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取一组订单的hash值
|
| | | * |
| | | * @param list
|
| | | * @return
|
| | | */
|
| | | public static String getOrderDataHashCode(List<TaoBaoOrder> list) {
|
| | | List<TaoBaoOrder> orderList = new ArrayList<>();
|
| | | orderList.addAll(list);
|
| | | Comparator<TaoBaoOrder> orderCM = new Comparator<TaoBaoOrder>() {
|
| | |
|
| | | @Override
|
| | | public int compare(TaoBaoOrder o1, TaoBaoOrder o2) {
|
| | | return Long.parseLong(o1.getTradeId()) - Long.parseLong(o2.getTradeId()) > 0 ? 1 : -1;
|
| | | }
|
| | | };
|
| | | Collections.sort(orderList, orderCM);
|
| | | String sts = "";
|
| | | for (TaoBaoOrder order : orderList) {
|
| | | sts += order.getTradeId();
|
| | | }
|
| | | return StringUtil.Md5(sts);
|
| | | }
|
| | | }
|