| | |
| | | package com.yeshi.fanli.job;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.Calendar;
|
| | | import java.util.Date;
|
| | | import java.util.Iterator;
|
| | | import java.util.List;
|
| | |
| | | import org.springframework.scheduling.annotation.Scheduled;
|
| | | import org.springframework.stereotype.Component;
|
| | |
|
| | | import com.yeshi.fanli.entity.bus.user.LostOrder;
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.taobao.PidUser;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
|
| | |
| | | import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.common.DataMonitorService;
|
| | | import com.yeshi.fanli.service.inter.hongbao.ThreeSaleGiftService;
|
| | | import com.yeshi.fanli.service.inter.order.LostOrderService;
|
| | | import com.yeshi.fanli.service.inter.order.OrderProcessService;
|
| | | import com.yeshi.fanli.service.inter.order.OrderService;
|
| | |
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TaoBaoConstant;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
|
| | |
| | | public UpdateOrderJob() {
|
| | | System.out.println("初始化:UpdateOrderJob");
|
| | | }
|
| | |
|
| | |
|
| | | @Resource
|
| | | private ThreeSaleGiftService threeSaleGiftService;
|
| | |
|
| | | @Resource
|
| | | private OrderProcessService orderProcessService;
|
| | |
| | | int page = 1;
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | |
| | | int page = 1;
|
| | | String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
|
| | | List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | while (orderList.size() == 100 * page) {
|
| | | page++;
|
| | | List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
|
| | | Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
|
| | | TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | }
|
| | |
| | | orderProcessService.weiQuanOrder(orderList);
|
| | | }
|
| | |
|
| | | // 处理分享商品所产生的订单(后续版本废除)
|
| | | // @Scheduled(cron = "0 0/2 * * * ? ")
|
| | | // public void doPidOrder() {
|
| | | // if (!Constant.IS_TASK)
|
| | | // return;
|
| | | // pidOrderService.doPidOrder();
|
| | | // }
|
| | |
|
| | | // 每6个小时执行一次
|
| | | @Scheduled(cron = "0 0 0/6 * * ? ")
|
| | | public void doLostOrder() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | lostOrderService.processFail();
|
| | | }
|
| | |
|
| | | // 每2分钟执行一次
|
| | | @Scheduled(cron = "0 0/2 * * * ? ")
|
| | | public void addLostOrder() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS,
|
| | | LostOrder.RESULT_CODE_VERFING, 1, 50);
|
| | | if (list != null)
|
| | | for (LostOrder lo : list) {
|
| | | List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderService.getTaoBaoOrderByOrderId(lo.getOrderId());
|
| | | // 清除频率限制
|
| | | if (taoBaoOrderList != null && taoBaoOrderList.size() > 0) {
|
| | | String key = "addorder-" + lo.getOrderId();
|
| | | redisManager.removeCommonString(key);
|
| | | addOrder(taoBaoOrderList);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 处理淘宝结算订单,每小时执行一次
|
| | | */
|
| | | @Scheduled(cron = "30 0 0/1 * * ? ")
|
| | | public void doSettleOrders() {
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | // 处理3-15天前的订单,每天跑一次
|
| | | Calendar ca = Calendar.getInstance();
|
| | | int hour = ca.get(Calendar.HOUR_OF_DAY);
|
| | |
|
| | | long startTime = TimeUtil.convertToTimeTemp(
|
| | | TimeUtil.getGernalTime(ca.getTimeInMillis() - 1000 * 60 * 60 * 24 * 3L, "yyyy-MM-dd"), "yyyy-MM-dd")
|
| | | - hour * (1000 * 60 * 60 * 12L);
|
| | | long endTime = startTime + 1000 * 60 * 60 * 12L;
|
| | | List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, false);
|
| | | List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, true);
|
| | | if (tempOrderList != null && tempOrderList.size() > 0)
|
| | | orderList.addAll(tempOrderList);
|
| | | addOrder(orderList);
|
| | | }
|
| | |
|
| | | }
|