| | |
| | | package com.yeshi.fanli.job.order.taobao;
|
| | |
|
| | | import java.util.Date;
|
| | | import java.util.Iterator;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | |
| | | import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
|
| | | import com.yeshi.fanli.util.CMQManager;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.RedisKeyEnum;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
|
| | |
|
| | | /**
|
| | |
| | | * 结束页码(每页100条数据)
|
| | | */
|
| | | public void updateRelationAndSpecialOrder(long startTime, long endTime) {
|
| | | List<TaoBaoOrder> list =TaoKeOrderApiUtil.getTaoBaoSpecialOrderList (startTime, endTime,1);
|
| | | List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList (startTime, endTime,1);
|
| | | List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList(startTime, endTime, 1);
|
| | | List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList(startTime, endTime, 1);
|
| | | if (list1 != null && list1.size() > 0)
|
| | | list.addAll(list1);
|
| | | // 爬取到的订单号
|
| | | if (list != null)
|
| | | for (TaoBaoOrder order : list) {
|
| | | LogHelper.orderInfo("爬取到的订单号:" + order.getOrderId());
|
| | | LogHelper.orderInfo("会员/渠道爬取到的订单号:" + order.getOrderId());
|
| | | }
|
| | |
|
| | | addRelationAndSpecialOrder(list);
|
| | | }
|
| | | |
| | | public void updateRelationAndSpecialSettleOrder(long startTime, long endTime) {
|
| | | List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList (startTime, endTime,3);
|
| | | List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList (startTime, endTime,3);
|
| | |
|
| | | /**
|
| | | * 按付款时间查询
|
| | | * |
| | | * @param startTime
|
| | | * @param endTime
|
| | | */
|
| | | public void updateRelationAndSpecialPaidOrder(long startTime, long endTime) {
|
| | | List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList(startTime, endTime, 2);
|
| | | List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList(startTime, endTime, 2);
|
| | | if (list1 != null && list1.size() > 0)
|
| | | list.addAll(list1);
|
| | | // 爬取到的订单号
|
| | | if (list != null)
|
| | | for (TaoBaoOrder order : list) {
|
| | | LogHelper.orderInfo("爬取到的订单号:" + order.getOrderId());
|
| | | LogHelper.orderInfo("会员/渠道爬取到的订单号:" + order.getOrderId());
|
| | | }
|
| | |
|
| | | addRelationAndSpecialOrder(list);
|
| | | }
|
| | |
|
| | | public void updateRelationAndSpecialSettleOrder(long startTime, long endTime) {
|
| | | List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList(startTime, endTime, 3);
|
| | | List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList(startTime, endTime, 3);
|
| | | if (list1 != null && list1.size() > 0)
|
| | | list.addAll(list1);
|
| | | // 爬取到的订单号
|
| | | if (list != null)
|
| | | for (TaoBaoOrder order : list) {
|
| | | LogHelper.orderInfo("会员/渠道爬取到的订单号:" + order.getOrderId());
|
| | | }
|
| | | addRelationAndSpecialOrder(list);
|
| | | }
|
| | |
| | | while (its.hasNext()) {
|
| | | String key = its.next();
|
| | | List<TaoBaoOrder> orders = map.get(key);
|
| | | String redisKey = "addorderqueue-" + TaoBaoOrderUtil.getOrderDataHashCode(orders);;
|
| | | String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, TaoBaoOrderUtil.getOrderDataHashCode(orders));
|
| | | // redis做频率限制
|
| | | try {
|
| | | if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
|
| | |
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | // 爬取近20分钟的数据
|
| | | LogHelper.orderInfo("爬单:30s爬取一次单");
|
| | | long endTime = System.currentTimeMillis();
|
| | | LogHelper.job("爬单:30s爬取一次单");
|
| | | Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
|
| | | long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
|
| | | updateRelationAndSpecialOrder(endTime - 1000 * 60 * 20L, endTime);
|
| | | updateRelationAndSpecialPaidOrder(endTime - 1000 * 60 * 20L, endTime);
|
| | | updateRelationAndSpecialSettleOrder(endTime - 1000 * 60 * 20L, endTime);
|
| | | }
|
| | |
|
| | |
| | | public void doJob2() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | long endTime = System.currentTimeMillis();
|
| | | LogHelper.job("爬单:5min爬取一次单");
|
| | | Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
|
| | | long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
|
| | | updateRelationAndSpecialOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
|
| | | updateRelationAndSpecialSettleOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
|
| | | }
|
| | |
|
| | | // 每个小时更新
|
| | | @Scheduled(cron = "0 0 0/1 * * ? ")
|
| | | public void doJob3() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | // Calendar calendar = Calendar.getInstance();
|
| | | // int h = calendar.get(Calendar.HOUR_OF_DAY);
|
| | | // // 每个小时更新100页数据
|
| | | // int fromPage = h * 100;
|
| | | // if (fromPage <= 0)
|
| | | // fromPage = 11;
|
| | | // int toPage = h * 100 + 100;
|
| | | }
|
| | |
|
| | | }
|