From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java | 1053 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 516 insertions(+), 537 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
index d966f52..c2c5c21 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
@@ -1,537 +1,516 @@
-package com.yeshi.fanli.job.order.taobao;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
-import com.yeshi.fanli.entity.bus.user.LostOrder;
-import com.yeshi.fanli.entity.bus.user.Order;
-import com.yeshi.fanli.entity.order.CommonOrder;
-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.order.CommonOrderService;
-import com.yeshi.fanli.service.inter.order.LostOrderService;
-import com.yeshi.fanli.service.inter.order.OrderMoneySettleService;
-import com.yeshi.fanli.service.inter.order.OrderProcessService;
-import com.yeshi.fanli.service.inter.order.OrderService;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-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;
-
-//浠庢窐瀹濈埇鍘昏鍗曟洿鏂�
-@Component
-public class UpdateOrderJob {
-
-	public UpdateOrderJob() {
-		System.out.println("鍒濆鍖�:UpdateOrderJob");
-	}
-
-	@Resource
-	private OrderProcessService orderProcessService;
-
-	@Resource
-	private TaoBaoOrderUtil taoBaoOrderUtil;
-
-	@Resource
-	private TaoBaoOrderService taoBaoOrderService;
-
-	@Resource
-	private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
-	@Resource
-	private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
-
-	@Resource
-	private DataMonitorService dataMonitorService;
-
-	@Resource
-	private RedisManager redisManager;
-
-	@Resource
-	private LostOrderService lostOrderService;
-
-	@Resource
-	private OrderService orderService;
-
-	@Resource
-	private CommonOrderService commonOrderService;
-
-	@Resource
-	private OrderMoneySettleService orderMoneySettleService;
-
-	/**
-	 * 鏂扮増鑾峰彇鏅�氳鍗�
-	 * 
-	 * @param startTime
-	 * @param span
-	 * @return
-	 */
-	private static List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
-		List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
-				1);
-		return orderList;
-	}
-
-	/**
-	 * 鑾峰彇鏌愪釜鍖洪棿娈电殑璁㈠崟
-	 * 
-	 * @param startTime
-	 * @param endTime
-	 * @return
-	 */
-	public static List<TaoBaoOrder> getCommonOrder(long startTime, long endTime) {
-		List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 1);
-		return orderList;
-	}
-
-	/**
-	 * 鎸夊ぉ鑾峰彇鏅�氳鍗曪紙鏂扮増锛�
-	 * 
-	 * @param date
-	 * @return
-	 */
-	public List<TaoBaoOrder> getCommonOrderByDay(Date date) {
-		List<TaoBaoOrder> orderList = new ArrayList<>();
-		// 灏嗕竴澶╁垎鎴�12娈�
-		for (int i = 0; i < 72; i++) {
-			List<TaoBaoOrder> tempOrderList = getCommonOrder(date.getTime() + 1000 * 60 * 20L * i, 1200);
-			if (tempOrderList != null && tempOrderList.size() > 0)
-				orderList.addAll(tempOrderList);
-		}
-		return orderList;
-	}
-
-	public void updateOrder(long startTime, long endTime) {
-		List<TaoBaoOrder> orderList = getCommonOrder(startTime, endTime);
-		LogHelper.orderInfo("甯歌璁㈠崟鍏辨湁璁㈠崟:" + orderList.size());
-		addOrder(orderList);
-		try {
-			Thread.sleep(10000);
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static List<TaoBaoOrder> mixTaoBaoOrder(List<TaoBaoOrder> commonOrderList, List<TaoBaoOrder> sorderList) {
-		Map<String, List<TaoBaoOrder>> commonMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(commonOrderList);
-		Map<String, List<TaoBaoOrder>> sMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(sorderList);
-		// 鑾峰彇璁㈠崟浜ら泦
-		Iterator<String> its = commonMap.keySet().iterator();
-		List<String> commonOrderIdList = new ArrayList<>();
-		List<String> sOrderIdList = new ArrayList<>();
-		while (its.hasNext()) {
-			String orderId = its.next();
-			commonOrderIdList.add(orderId);
-		}
-		its = sMap.keySet().iterator();
-		while (its.hasNext()) {
-			String orderId = its.next();
-			sOrderIdList.add(orderId);
-		}
-
-		// 姹備氦闆�
-		commonOrderIdList.retainAll(sOrderIdList);
-
-		List<TaoBaoOrder> orderList = new ArrayList<>();
-
-		for (String orderId : commonOrderIdList) {
-			List<TaoBaoOrder> list = commonMap.get(orderId);
-			String specialId = sMap.get(orderId).get(0).getSpecialId();
-			String relationId = sMap.get(orderId).get(0).getRelationId();
-			for (TaoBaoOrder to : list) {
-				to.setSpecialId(specialId);
-				to.setRelationId(relationId);
-				orderList.add(to);
-			}
-		}
-
-		return orderList;
-	}
-
-	public void addOrder(List<TaoBaoOrder> orderList) {
-
-		if (orderList != null)
-			for (int i = 0; i < orderList.size(); i++) {
-				LogHelper.orderInfo("甯歌璁㈠崟鐖彇:" + orderList.get(i).getOrderId());
-				// 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗�
-				if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")
-						|| orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) {
-					if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")) {// 澶勭悊璁㈠崟鐢宠瘔
-						Order order = orderService.findOrderByOrderIdAndType(orderList.get(i).getOrderId(),
-								Order.ORDER_TYPE_TAOBAO);
-						if (order != null && order.getBeizhu().contains("琛ュ崟")) {// 涓嶆帓闄よˉ鍗曠殑鎯呭喌
-
-						} else {
-							orderList.remove(i);
-							i--;
-							break;
-						}
-					} else {
-						orderList.remove(i);
-						i--;
-					}
-				}
-			}
-
-		try {
-			taoBaoOrderService.addTaoBaoOrderList(orderList);
-		} catch (Exception e) {
-			LogHelper.errorDetailInfo(e);
-		}
-
-		try {
-			Map<String, List<TaoBaoOrder>> map = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList);
-			if (map != null) {
-				Iterator<String> its = map.keySet().iterator();
-				while (its.hasNext()) {
-					String key = its.next();
-					String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, key);
-					// redis鍋氶鐜囬檺鍒�
-					try {
-						if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
-							continue;
-						}
-
-					} catch (Exception e) {
-
-					}
-
-					CMQManager.getInstance().addTaoBaoOrderMsg(key);
-
-					try {
-						// 6灏忔椂鍐呬笉鍐嶅鐞�
-						redisManager.cacheCommonString(redisKey, "1", 60 * 60 * 6);
-					} catch (Exception e) {
-
-					}
-				}
-			}
-		} catch (Exception e) {
-			LogHelper.errorDetailInfo(e);
-		}
-	}
-
-	private void doTaoBaoWeiQuanOrder(int day) {
-
-		for (int i = 0; i < day; i++) {
-			List<TaoBaoWeiQuanOrder> orderList = new ArrayList<>();
-
-			// 鎸夌収缁存潈鍙戣捣鏃堕棿鏌ヨ
-			WeiQuanOrderResult result = TaoKeOrderApiUtil
-					.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-							TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-							"yyyy-MM-dd")), 1, 1, false);
-			orderList.addAll(result.orderList);
-			// 绗笁鏂�
-			result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 1, 1, true);
-			orderList.addAll(result.orderList);
-
-			result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 1, 1, false);
-			orderList.addAll(result.orderList);
-
-			// 绗笁鏂�
-			result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 1, 1, true);
-			orderList.addAll(result.orderList);
-
-			/**
-			 * 鎸夌収缁存潈瀹屾垚鏃堕棿鏌ヨ
-			 */
-
-			result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 3, 1, false);
-			orderList.addAll(result.orderList);
-			// 绗笁鏂�
-			result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 3, 1, true);
-			orderList.addAll(result.orderList);
-
-			result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 3, 1, false);
-			orderList.addAll(result.orderList);
-
-			// 绗笁鏂�
-			result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-					TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-					"yyyy-MM-dd")), 3, 1, true);
-			orderList.addAll(result.orderList);
-
-			for (TaoBaoWeiQuanOrder order : orderList)
-				taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱
-			// 澶勭悊缁存潈璁㈠崟
-			orderProcessService.weiQuanOrder(orderList);
-		}
-
-	}
-
-	public void updateLocalTaoBaoOrder(Long startTime, Long endTime, int page, int count) {
-		List<TaoBaoOrder> list = taoBaoOrderService.listBySettlementTime(startTime, endTime, page, count);
-		Set<String> orderIds = new HashSet<>();
-		for (TaoBaoOrder co : list) {
-			orderIds.add(co.getOrderId());
-		}
-		for (Iterator<String> its = orderIds.iterator(); its.hasNext();) {
-			String orderId = its.next();
-			// 鏌ヨ鏄惁鏈夊浜庤鍗曚粯娆剧姸鎬佺殑鍗�
-			List<CommonOrder> commonOrderList = commonOrderService
-					.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, orderId);
-			boolean update = false;
-			if (commonOrderList != null)
-				for (CommonOrder co : commonOrderList) {
-					if (co.getState() == CommonOrder.STATE_FK && co.getPayment().compareTo(new BigDecimal(0)) > 0) {
-						update = true;
-						break;
-					}
-				}
-			if (update) {
-				List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
-				Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
-				orders.put(orderId, orderList);
-				orderProcessService.processOrder(orders);
-			}
-		}
-	}
-
-	// 姣�15鍒嗛挓鐖彇涓�娆�
-	@Scheduled(cron = "0 0/15 * * * ? ")
-	public void pullCommonOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("姝e湪鎵ц15min璁㈠崟鐖彇");
-		long currentTime = System.currentTimeMillis() - 1000 * 60;
-		String h = TimeUtil.getGernalTime(currentTime, "HH");
-		String m = TimeUtil.getGernalTime(currentTime, "mm");
-		int mm = Integer.parseInt(h) * 60 + Integer.parseInt(m);
-		int pos = mm / 15;
-		if (pos >= 90)
-			pos = 89;
-		long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), "yyyy-MM-dd")
-				- (1000 * 60 * 60 * 24L * (90 - pos));
-		long endTime = startTime + 1000 * 60 * 60 * 24L;
-
-		updateOrder(startTime, endTime);
-	}
-
-	// 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧1鍒嗘墽琛屼竴娆�
-	@Scheduled(cron = "0 0/1 * * * ? ")
-	public void pullLatestCommonOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("pullLatestCommonOrder");
-		Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
-		long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
-		//
-		updateOrder(endTime - 1000 * 60 * 20L, endTime);
-	}
-
-	// 杩斿埄
-	@Scheduled(cron = "0 0/5 * * * ? ")
-	public void fanli() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("澶勭悊杩斿埄鍒拌处鍓嶇疆");
-		try {
-
-			doTaoBaoWeiQuanOrder(2);
-		} catch (Exception e) {
-			LogHelper.errorDetailInfo(e);
-		}
-		LogHelper.job("寮�濮嬪鐞嗚繑鍒�");
-		orderProcessService.fanli();
-	}
-
-	// 缁存潈璁㈠崟澶勭悊-澶勭悊鏈�杩�60澶╃殑
-	// 30鍒嗛挓涓�娆�
-	@Scheduled(cron = "0 0/30 * * * ? ")
-	public void doTaoBaoWeiQuan() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("缁存潈璁㈠崟鐖彇");
-		doTaoBaoWeiQuanOrder(5);
-	}
-
-	// 澶勭悊璁㈠崟鎵惧洖澶辫触鐨勬儏鍐� 姣�6涓皬鏃舵墽琛屼竴娆�
-	@Scheduled(cron = "0 0 0/6 * * ? ")
-	public void doFailLostOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("澶勭悊涓㈠け璁㈠崟鑷姩鎵惧洖澶辫触鐨勬儏鍐�");
-		lostOrderService.processFail();
-	}
-
-	// 姣�2鍒嗛挓鎵ц涓�娆�
-	@Scheduled(cron = "0 0/2 * * * ? ")
-	public void addLostOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("澶勭悊涓㈠け璁㈠崟");
-		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 = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, lo.getOrderId());
-
-					redisManager.removeCommonString(key);
-					addOrder(taoBaoOrderList);
-					LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId());
-				}
-			}
-	}
-
-	/**
-	 * 澶勭悊娣樺疂缁撶畻璁㈠崟,30鍒嗘墽琛屼竴娆�
-	 */
-	@Scheduled(cron = "30 0 0/1 * * ? ")
-	public void doSettleOrders() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("doSettleOrders");
-		// 澶勭悊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.getTaoBaoCommonOrderList(startTime, endTime, 3);
-		addOrder(orderList);
-	}
-
-	/**
-	 * 13鍒嗛挓鏇存柊鏈�杩�2灏忔椂鐨勭粨绠楁暟鎹�
-	 */
-	@Scheduled(cron = "0 0/13 * * * ? ")
-	public void doSettleOrdersToday() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("doSettleOrdersToday");
-		// 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆�
-		Calendar ca = Calendar.getInstance();
-		long startTime = ca.getTimeInMillis() - 1000 * 60 * 5L - 1000 * 60 * 60 * 2L;
-		long endTime = startTime + 1000 * 60 * 60 * 2L;
-		List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 3);
-		addOrder(orderList);
-	}
-
-	/**
-	 * 鏇存柊鏈湴璁㈠崟锛堝噷鏅�25鍒嗘洿鏂帮級
-	 */
-	@Scheduled(cron = "25 0 0 * * ? ")
-	public void doLocalTaoBaoOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("doLocalTaoBaoOrder");
-		// 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆�
-		Long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 60L;
-		Long endTime = startTime + 1000 * 60 * 60 * 24 * 48L;
-		List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndStateAndThirdCrateTime(
-				Constant.SOURCE_TYPE_TAOBAO, CommonOrder.STATE_FK, startTime, endTime, 1, 500);
-		Set<String> orderIds = new HashSet<>();
-		for (CommonOrder co : commonOrderList) {
-			orderIds.add(co.getOrderNo());
-		}
-
-		for (Iterator<String> its = orderIds.iterator(); its.hasNext();) {
-			String orderId = its.next();
-			List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
-			Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
-			orders.put(orderId, orderList);
-			orderProcessService.processOrder(orders);
-		}
-	}
-
-	/**
-	 * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
-	 */
-
-	@Scheduled(cron = "0 0/30 * * * ? ")
-	public void doLatestLocalTaoBaoOrder() {
-		if (!Constant.IS_TASK)
-			return;
-
-		Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L;
-		Long startTime = endTime - 1000 * 60 * 60 * 12L;
-		updateLocalTaoBaoOrder(startTime, endTime, 1, 2000);
-	}
-
-	/**
-	 * 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
-	 */
-	@Scheduled(cron = "30 13 3 * * ? ")
-	public void doLatest5DayLocalTaoBaoOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("doLatest5DayLocalTaoBaoOrder");
-		Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L;
-		Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L;
-		long count = taoBaoOrderService.countBySettlementTime(startTime, endTime);
-		int pageSize = 100;
-		long page = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
-		for (int i = 0; i < page; i++) {
-			updateLocalTaoBaoOrder(startTime, endTime, i + 1, pageSize);
-		}
-	}
-
-	/**
-	 * 澶勭悊涓婃湀璁㈠崟鎴愬姛
-	 */
-	@Scheduled(cron = "0 0 12 25 * ? ")
-	public void doSellerNotPayOrder() {
-		if (!Constant.IS_TASK)
-			return;
-		LogHelper.job("doSellerNotPayOrder");
-		Calendar calender = Calendar.getInstance();
-		long endTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
-				"yyyy-MM");
-		calender.add(Calendar.MONTH, -1);
-		long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
-				"yyyy-MM");
-		// 鍟嗗鏈粯娆�
-		List<TaoBaoOrder> orderList = taoBaoOrderService.listByStateAndCreateTime("璁㈠崟鎴愬姛", new Date(startTime),
-				new Date(endTime));
-
-		if (orderList != null)
-			for (TaoBaoOrder order : orderList)
-				try {
-					orderProcessService.doTaoBaoSellerNotPaid(order);
-				} catch (Exception e) {
-					LogHelper.errorDetailInfo(e);
-				}
-	}
-
-}
+package com.yeshi.fanli.job.order.taobao;
+
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
+import com.yeshi.fanli.entity.bus.user.LostOrder;
+import com.yeshi.fanli.entity.bus.user.Order;
+import com.yeshi.fanli.entity.order.CommonOrder;
+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.order.CommonOrderService;
+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.service.inter.order.tb.TaoBaoOrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
+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.mq.rabbit.RabbitmqManager;
+import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
+import org.springframework.stereotype.Component;
+import org.yeshi.utils.TimeUtil;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.*;
+
+//浠庢窐瀹濈埇鍘昏鍗曟洿鏂�
+@Component
+public class UpdateOrderJob {
+
+    public UpdateOrderJob() {
+        System.out.println("鍒濆鍖�:UpdateOrderJob");
+    }
+
+    @Resource
+    private OrderProcessService orderProcessService;
+    @Resource
+    private TaoBaoOrderService taoBaoOrderService;
+    @Resource
+    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
+
+    @Resource
+    private RedisManager redisManager;
+
+    @Resource
+    private LostOrderService lostOrderService;
+
+    @Resource
+    private OrderService orderService;
+
+    @Resource
+    private CommonOrderService commonOrderService;
+
+    @Resource
+    private RabbitmqManager rabbitmqManager;
+
+
+    /**
+     * 鏂扮増鑾峰彇鏅�氳鍗�
+     *
+     * @param startTime
+     * @param span
+     * @return
+     */
+    private static List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
+        List<TaoBaoOrder> totalList = new ArrayList<>();
+        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
+                1);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L, 2);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L, 3);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+        // 绉婚櫎閲嶅浜ゆ槗鍙风殑璁㈠崟
+
+        return totalList;
+    }
+
+    /**
+     * 鑾峰彇鏌愪釜鍖洪棿娈电殑璁㈠崟
+     *
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public static List<TaoBaoOrder> getCommonOrder(long startTime, long endTime) {
+        List<TaoBaoOrder> totalList = new ArrayList<>();
+        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 1);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 2);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 3);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+        // 绉婚櫎閲嶅浜ゆ槗鍙风殑璁㈠崟
+
+        return totalList;
+    }
+
+    /**
+     * 鎸夊ぉ鑾峰彇鏅�氳鍗曪紙鏂扮増锛�
+     *
+     * @param date
+     * @return
+     */
+    public List<TaoBaoOrder> getCommonOrderByDay(Date date) {
+        List<TaoBaoOrder> orderList = new ArrayList<>();
+        // 灏嗕竴澶╁垎鎴�12娈�
+        for (int i = 0; i < 72; i++) {
+            List<TaoBaoOrder> tempOrderList = getCommonOrder(date.getTime() + 1000 * 60 * 20L * i, 1200);
+            if (tempOrderList != null && tempOrderList.size() > 0)
+                orderList.addAll(tempOrderList);
+        }
+        return orderList;
+    }
+
+    public void updateOrder(long startTime, long endTime) {
+        List<TaoBaoOrder> orderList = getCommonOrder(startTime, endTime);
+        LogHelper.orderInfo("甯歌璁㈠崟鍏辨湁璁㈠崟:" + orderList.size());
+        addOrder(orderList);
+        try {
+            Thread.sleep(10000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static List<TaoBaoOrder> mixTaoBaoOrder(List<TaoBaoOrder> commonOrderList, List<TaoBaoOrder> sorderList) {
+        Map<String, List<TaoBaoOrder>> commonMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(commonOrderList);
+        Map<String, List<TaoBaoOrder>> sMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(sorderList);
+        // 鑾峰彇璁㈠崟浜ら泦
+        Iterator<String> its = commonMap.keySet().iterator();
+        List<String> commonOrderIdList = new ArrayList<>();
+        List<String> sOrderIdList = new ArrayList<>();
+        while (its.hasNext()) {
+            String orderId = its.next();
+            commonOrderIdList.add(orderId);
+        }
+        its = sMap.keySet().iterator();
+        while (its.hasNext()) {
+            String orderId = its.next();
+            sOrderIdList.add(orderId);
+        }
+
+        // 姹備氦闆�
+        commonOrderIdList.retainAll(sOrderIdList);
+
+        List<TaoBaoOrder> orderList = new ArrayList<>();
+
+        for (String orderId : commonOrderIdList) {
+            List<TaoBaoOrder> list = commonMap.get(orderId);
+            String specialId = sMap.get(orderId).get(0).getSpecialId();
+            String relationId = sMap.get(orderId).get(0).getRelationId();
+            for (TaoBaoOrder to : list) {
+                to.setSpecialId(specialId);
+                to.setRelationId(relationId);
+                orderList.add(to);
+            }
+        }
+
+        return orderList;
+    }
+
+    public void addOrder(List<TaoBaoOrder> orderList) {
+
+        if (orderList != null)
+            for (int i = 0; i < orderList.size(); i++) {
+                LogHelper.orderInfo("甯歌璁㈠崟鐖彇:" + orderList.get(i).getOrderId());
+                // 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗�
+                if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")
+                        || orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) {
+                    if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")) {// 澶勭悊璁㈠崟鐢宠瘔
+                        Order order = orderService.findOrderByOrderIdAndType(orderList.get(i).getOrderId(),
+                                Order.ORDER_TYPE_TAOBAO);
+                        if (order != null && order.getBeizhu().contains("琛ュ崟")) {// 涓嶆帓闄よˉ鍗曠殑鎯呭喌
+
+                        } else {
+                            orderList.remove(i);
+                            i--;
+                            break;
+                        }
+                    } else {
+                        orderList.remove(i);
+                        i--;
+                    }
+                }
+            }
+
+        try {
+            taoBaoOrderService.addTaoBaoOrderList(orderList);
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+
+        try {
+            Map<String, List<TaoBaoOrder>> map = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList);
+            if (map != null) {
+                Iterator<String> its = map.keySet().iterator();
+                while (its.hasNext()) {
+                    String key = its.next();
+                    String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, key);
+                    // redis鍋氶鐜囬檺鍒�
+                    try {
+                        if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
+                            continue;
+                        }
+
+                    } catch (Exception e) {
+
+                    }
+
+                    rabbitmqManager.addTaoBaoOrderMsg(key);
+
+                    try {
+                        // 6灏忔椂鍐呬笉鍐嶅鐞�
+                        redisManager.cacheCommonString(redisKey, "1", 60 * 60 * 6);
+                    } catch (Exception e) {
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+    }
+
+    private void doTaoBaoWeiQuanOrder(int day) {
+
+        for (int i = 0; i < day; i++) {
+            List<TaoBaoWeiQuanOrder> orderList = new ArrayList<>();
+
+            // 鎸夌収缁存潈鍙戣捣鏃堕棿鏌ヨ
+            WeiQuanOrderResult result = TaoKeOrderApiUtil
+                    .getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                            TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                            "yyyy-MM-dd")), 1, 1, false);
+            orderList.addAll(result.orderList);
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 1, 1, true);
+            orderList.addAll(result.orderList);
+
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 1, 1, false);
+            orderList.addAll(result.orderList);
+
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 1, 1, true);
+            orderList.addAll(result.orderList);
+
+            /**
+             * 鎸夌収缁存潈瀹屾垚鏃堕棿鏌ヨ
+             */
+
+            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, false);
+            orderList.addAll(result.orderList);
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, true);
+            orderList.addAll(result.orderList);
+
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, false);
+            orderList.addAll(result.orderList);
+
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, true);
+            orderList.addAll(result.orderList);
+
+            for (TaoBaoWeiQuanOrder order : orderList)
+                taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱
+            // 澶勭悊缁存潈璁㈠崟
+            orderProcessService.weiQuanOrder(orderList);
+        }
+
+    }
+
+    public void updateLocalTaoBaoOrder(Long startTime, Long endTime, int page, int count) {
+        List<TaoBaoOrder> list = taoBaoOrderService.listBySettlementTime(startTime, endTime, page, count);
+        Set<String> orderIds = new HashSet<>();
+        for (TaoBaoOrder co : list) {
+            orderIds.add(co.getOrderId());
+        }
+        for (Iterator<String> its = orderIds.iterator(); its.hasNext(); ) {
+            String orderId = its.next();
+            // 鏌ヨ鏄惁鏈夊浜庤鍗曚粯娆剧姸鎬佺殑鍗�
+            List<CommonOrder> commonOrderList = commonOrderService
+                    .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, orderId);
+            boolean update = false;
+            if (commonOrderList != null)
+                for (CommonOrder co : commonOrderList) {
+                    if (co.getState() == CommonOrder.STATE_FK && co.getPayment().compareTo(new BigDecimal(0)) > 0) {
+                        update = true;
+                        break;
+                    }
+                }
+            if (update) {
+                List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+                Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
+                orders.put(orderId, orderList);
+                orderProcessService.processOrder(orders);
+            }
+        }
+    }
+
+    @XxlJob("updateTaoBaoCommonOrderHandler")
+    public ReturnT<String> updateTaoBaoCommonOrder(String param) throws Exception {
+        if ("1".equalsIgnoreCase(param)) {// 鏇存柊杩�20鍒嗛挓鍐呯殑鍗�
+            pullLatestCommonOrder();
+        } else if ("1day".equalsIgnoreCase(param)) {// 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�)
+            pullLatestDayCommonOrder();
+        } else if ("3day".equalsIgnoreCase(param)) {
+            pullLatest3DayCommonOrder();
+        }
+        return ReturnT.SUCCESS;
+    }
+
+
+    /**
+     * 澶勭悊娣樺疂璁㈠崟
+     *
+     * @param param 璁㈠崟鍙�
+     * @return
+     * @throws Exception
+     */
+    @XxlJob("processTaoBaoOrder")
+    public ReturnT<String> processTaoBaoOrder(String param) throws Exception {
+        String[] orderIds = param.split(",");
+        if (orderIds == null || orderIds.length == 0)
+            throw new Exception("璁㈠崟涓嶅瓨鍦�");
+
+        for (String orderId : orderIds) {
+            List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+            if (orderList == null || orderList.size() == 0)
+                continue;
+            orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList));
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    // 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧1鍒嗘墽琛屼竴娆�
+    private void pullLatestCommonOrder() {
+        LogHelper.job("pullLatestCommonOrder");
+        Date systemDate =new Date(); //TaoKeApiUtil.getTaoBaoSystemTime();
+        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
+        updateOrder(endTime - 1000 * 60 * 20L, endTime);
+    }
+
+    // 鐖彇鏈�杩戜竴澶╃殑甯歌璁㈠崟锛�30鍒嗛挓涓�娆★級
+    private void pullLatestDayCommonOrder() {
+        LogHelper.job("pullLatestCommonOrder");
+        Date systemDate = new Date();//TaoKeApiUtil.getTaoBaoSystemTime();
+        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
+        updateOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
+    }
+
+    // 鐖彇鏈�杩戜笁澶╃殑甯歌璁㈠崟锛�6涓皬鏃朵竴娆★級
+    private void pullLatest3DayCommonOrder() {
+        LogHelper.job("pullLatestCommonOrder");
+        Date systemDate = new Date();//TaoKeApiUtil.getTaoBaoSystemTime();
+        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
+        updateOrder(endTime - 1000 * 60 * 60 * 24 * 3L, endTime);
+    }
+
+    // 5鍒嗛挓鎵ц涓�娆�
+    @XxlJob("ownBuyFanLiHandler")
+    public ReturnT<String> ownBuyFanLi(String param) throws Exception {
+        LogHelper.job("澶勭悊杩斿埄鍒拌处鍓嶇疆");
+        try {
+            doTaoBaoWeiQuanOrder(2);
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+        LogHelper.job("寮�濮嬪鐞嗚繑鍒�");
+        orderProcessService.fanli();
+        return ReturnT.SUCCESS;
+    }
+
+    @XxlJob("taoBaoWeiQuanOrderHandler")
+    public ReturnT<String> doTaoBaoWeiQuan(String param) throws Exception {
+        LogHelper.job("缁存潈璁㈠崟鐖彇");
+        doTaoBaoWeiQuanOrder(5);
+        return ReturnT.SUCCESS;
+    }
+
+    // 澶勭悊鎵惧洖璁㈠崟
+    @XxlJob("doLostOrderHandler")
+    public ReturnT<String> doLostOrder(String param) throws Exception {
+        if ("fail".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+            doFailLostOrder();
+        } else if ("success".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
+            addLostOrder();
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    // 澶勭悊璁㈠崟鎵惧洖澶辫触鐨勬儏鍐� 姣�6涓皬鏃舵墽琛屼竴娆�
+    private void doFailLostOrder() {
+        LogHelper.job("澶勭悊涓㈠け璁㈠崟鑷姩鎵惧洖澶辫触鐨勬儏鍐�");
+        lostOrderService.processFail();
+    }
+
+    // 姣�2鍒嗛挓鎵ц涓�娆�
+    private void addLostOrder() {
+        LogHelper.job("澶勭悊涓㈠け璁㈠崟");
+        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 = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, lo.getOrderId());
+
+                    redisManager.removeCommonString(key);
+                    addOrder(taoBaoOrderList);
+                    LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId());
+                }
+            }
+    }
+
+    // 澶勭悊娣樺疂鏈湴璁㈠崟
+    @XxlJob("doLocalTaoBaoOrder")
+    public ReturnT<String> updatePDDOrder(String param) throws Exception {
+        if ("1".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+            doLatestLocalTaoBaoOrder();
+        } else if ("5day".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
+            doLatest5DayLocalTaoBaoOrder();
+        }
+        return ReturnT.SUCCESS;
+    }
+
+
+    @XxlJob("order-updateTaoBaoOrderByOrderId")
+    public ReturnT<String> updateTaoBaoOrderByOrderId(String param) throws Exception {
+        List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(param);
+        Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
+        orders.put(param, orderList);
+        orderProcessService.processOrder(orders);
+        return ReturnT.SUCCESS;
+    }
+
+
+    /**
+     * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+     */
+    private void doLatestLocalTaoBaoOrder() {
+        Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L;
+        Long startTime = endTime - 1000 * 60 * 60 * 12L;
+        updateLocalTaoBaoOrder(startTime, endTime, 1, 2000);
+    }
+
+    /**
+     * 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
+     */
+    private void doLatest5DayLocalTaoBaoOrder() {
+        LogHelper.job("doLatest5DayLocalTaoBaoOrder");
+        Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L;
+        Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L;
+        long count = taoBaoOrderService.countBySettlementTime(startTime, endTime);
+        int pageSize = 100;
+        long page = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
+        for (int i = 0; i < page; i++) {
+            updateLocalTaoBaoOrder(startTime, endTime, i + 1, pageSize);
+        }
+    }
+
+    // 娣樺疂鍟嗗璺戣矾璁㈠崟 姣忔湀25鍙�12鐐瑰鐞嗕笂鏈堢殑
+    @XxlJob("doTaoBaoSellerNotPayOrderHandler")
+    public ReturnT<String> doSellerNotPayOrder(String param) throws Exception {
+        LogHelper.job("doSellerNotPayOrder");
+        Calendar calender = Calendar.getInstance();
+        long endTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
+                "yyyy-MM");
+        calender.add(Calendar.MONTH, -1);
+        long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
+                "yyyy-MM");
+        // 鍟嗗鏈粯娆�
+        List<TaoBaoOrder> orderList = taoBaoOrderService.listByStateAndCreateTime("璁㈠崟鎴愬姛", new Date(startTime),
+                new Date(endTime));
+
+        if (orderList != null)
+            for (TaoBaoOrder order : orderList)
+                try {
+                    orderProcessService.doTaoBaoSellerNotPaid(order);
+                } catch (Exception e) {
+                    LogHelper.errorDetailInfo(e);
+                }
+        return ReturnT.SUCCESS;
+    }
+
+}

--
Gitblit v1.8.0