| | |
| | | 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;
|
| | |
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
|
| | | import com.yeshi.fanli.exception.TaoBaoOrderException;
|
| | | import com.yeshi.fanli.exception.order.TaoBaoOrderException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | |
| | | String as = gm.getResponseBodyAsString();
|
| | | JSONObject root = JSONObject.fromObject(as);
|
| | | if (root.optInt("code") == 0) {// 上报成功
|
| | | LogHelper.cookieLog("上报成功!");
|
| | | LogHelper.error("上报成功!");
|
| | | return;
|
| | | }
|
| | | LogHelper.cookieLog("上报失败!");
|
| | | LogHelper.error("上报失败!");
|
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | LogHelper.cookieLog("上报失败!");
|
| | | LogHelper.error("上报失败!");
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | public static List<TaoBaoOrder> getOrderList(int day, TaoBaoUnionConfig config) {
|
| | | String cookie1 = getTaoBaoCookie(config.getAccount());
|
| | |
|
| | | LogHelper.cookieLog("账号为:" + config.getAccount() + ",cookie为:" + cookie1);
|
| | | LogHelper.error("账号为:" + config.getAccount() + ",cookie为:" + cookie1);
|
| | |
|
| | | String[] cookies = new String[] { cookie1 };
|
| | | List<TaoBaoOrder> list = new ArrayList<TaoBaoOrder>();
|
| | |
| | | private static List<TaoBaoOrder> downLoadOrderFromTaoBao(String url, TaoBaoUnionConfig config)
|
| | | throws TaoBaoOrderException {
|
| | | String cookie1 = getTaoBaoCookie(config.getAccount());
|
| | | LogHelper.cookieLog("账号为:" + config.getAccount() + ",cookie为:" + cookie1);
|
| | | LogHelper.error("账号为:" + config.getAccount() + ",cookie为:" + cookie1);
|
| | | String[] cookies = new String[] { cookie1 };
|
| | | List<TaoBaoOrder> list = new ArrayList<TaoBaoOrder>();
|
| | | int i = 0;
|
| | |
| | | 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() + "-" + order.getSpecialId() + "-" + order.getRelationId());
|
| | | }
|
| | | return StringUtil.Md5(sts);
|
| | | }
|
| | | }
|