From 8222e8b237c5dfb0affcdc03335bfadc06403bf8 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 19 七月 2019 15:49:39 +0800 Subject: [PATCH] 奖励券使用优化类型 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java | 73 ++++++++++++++++++++++++++++++------ 1 files changed, 60 insertions(+), 13 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java index 546b7aa..7912274 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java @@ -3,9 +3,12 @@ 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; @@ -14,12 +17,14 @@ 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.PidUser; 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.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.OrderProcessService; import com.yeshi.fanli.service.inter.order.OrderService; @@ -69,6 +74,9 @@ @Resource private OrderService orderService; + + @Resource + private CommonOrderService commonOrderService; /** * 鏂扮増鑾峰彇鏅�氳鍗� @@ -266,7 +274,7 @@ return orderList; } - private void addOrder(List<TaoBaoOrder> orderList) { + public void addOrder(List<TaoBaoOrder> orderList) { if (orderList != null) for (int i = 0; i < orderList.size(); i++) { @@ -293,11 +301,8 @@ try { taoBaoOrderService.addTaoBaoOrderList(orderList); } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } + LogHelper.errorDetailInfo(e); + } try { @@ -329,11 +334,7 @@ } } } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } + LogHelper.errorDetailInfo(e); } } @@ -413,6 +414,7 @@ public void addLostOrder() { if (!Constant.IS_TASK) return; + LogHelper.test("澶勭悊涓㈠け璁㈠崟"); List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS, LostOrder.RESULT_CODE_VERFING, 1, 50); if (list != null) @@ -420,15 +422,16 @@ List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderService.getTaoBaoOrderByOrderId(lo.getOrderId()); // 娓呴櫎棰戠巼闄愬埗 if (taoBaoOrderList != null && taoBaoOrderList.size() > 0) { - String key = "addorder-" + lo.getOrderId(); + String key = "addorderqueue-" + lo.getOrderId(); redisManager.removeCommonString(key); addOrder(taoBaoOrderList); + LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId()); } } } /** - * 澶勭悊娣樺疂缁撶畻璁㈠崟,姣忓皬鏃舵墽琛屼竴娆� + * 澶勭悊娣樺疂缁撶畻璁㈠崟,30fen鎵ц涓�娆� */ @Scheduled(cron = "30 0 0/1 * * ? ") public void doSettleOrders() { @@ -449,4 +452,48 @@ addOrder(orderList); } + /** + * 13鍒嗛挓鏇存柊鏈�杩�13鍒嗛挓鐨勭粨绠楁暟鎹� + */ + @Scheduled(cron = "0 0/13 * * * ? ") + public void doSettleOrdersToday() { + if (!Constant.IS_TASK) + return; + // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆� + Calendar ca = Calendar.getInstance(); + long startTime = ca.getTimeInMillis() - 1000 * 60 * 5L - 1000 * 60 * 13L; + long endTime = startTime + 1000 * 60 * 13L; + 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); + } + + /** + * 璺熸柊鏈湴璁㈠崟锛堝噷鏅�25鍒嗘洿鏂帮級 + */ + @Scheduled(cron = "25 0 0 * * ? ") + public void doLocalTaoBaoOrder() { + if (!Constant.IS_TASK) + return; + // 澶勭悊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); + } + } + } -- Gitblit v1.8.0