From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java | 230 ++++++++++++++++++++++++--------------------------------- 1 files changed, 96 insertions(+), 134 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 f2922b2..35112d8 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 @@ -13,7 +13,6 @@ import javax.annotation.Resource; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; @@ -28,6 +27,7 @@ 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; @@ -35,6 +35,7 @@ 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; @@ -80,6 +81,9 @@ @Resource private CommonOrderService commonOrderService; + @Resource + private OrderMoneySettleService orderMoneySettleService; + /** * 鏂扮増鑾峰彇鏅�氳鍗� * @@ -88,9 +92,22 @@ * @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); - return orderList; + 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; } /** @@ -101,8 +118,21 @@ * @return */ public static List<TaoBaoOrder> getCommonOrder(long startTime, long endTime) { + List<TaoBaoOrder> totalList = new ArrayList<>(); List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 1); - return orderList; + 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; } /** @@ -206,7 +236,7 @@ Iterator<String> its = map.keySet().iterator(); while (its.hasNext()) { String key = its.next(); - String redisKey = "addorderqueue-" + key; + String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, key); // redis鍋氶鐜囬檺鍒� try { if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) { @@ -321,89 +351,82 @@ } } - // 姣�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); + @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; } // 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧1鍒嗘墽琛屼竴娆� - @Scheduled(cron = "0 0/1 * * * ? ") - public void pullLatestCommonOrder() { - if (!Constant.IS_TASK) - return; + private void pullLatestCommonOrder() { 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; + // 鐖彇鏈�杩戜竴澶╃殑甯歌璁㈠崟锛�30鍒嗛挓涓�娆★級 + private void pullLatestDayCommonOrder() { + LogHelper.job("pullLatestCommonOrder"); + Date systemDate = 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 = 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(); - } - - // 姣忔湀25鍙�9鐐规墽琛岃繑鍒� - // @Scheduled(cron = "0 0 9 25 * ? ") - @XxlJob("fanliInvaiteAndShareHandler") - public ReturnT<String> fanliInvaiteAndShareHandler(String param) throws Exception { - if (StringUtil.isNullOrEmpty(param)) - orderProcessService.fanliInvaiteAndShare(); - else - orderProcessService.fanliInvaiteAndShare(Long.parseLong(param)); return ReturnT.SUCCESS; } - // 缁存潈璁㈠崟澶勭悊-澶勭悊鏈�杩�60澶╃殑 - // 30鍒嗛挓涓�娆� - @Scheduled(cron = "0 0/30 * * * ? ") - public void doTaoBaoWeiQuan() { - if (!Constant.IS_TASK) - return; + @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涓皬鏃舵墽琛屼竴娆� - @Scheduled(cron = "0 0 0/6 * * ? ") - public void doFailLostOrder() { - if (!Constant.IS_TASK) - return; + private void doFailLostOrder() { LogHelper.job("澶勭悊涓㈠け璁㈠崟鑷姩鎵惧洖澶辫触鐨勬儏鍐�"); lostOrderService.processFail(); } // 姣�2鍒嗛挓鎵ц涓�娆� - @Scheduled(cron = "0 0/2 * * * ? ") - public void addLostOrder() { - if (!Constant.IS_TASK) - return; + private void addLostOrder() { LogHelper.job("澶勭悊涓㈠け璁㈠崟"); List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS, LostOrder.RESULT_CODE_VERFING, 1, 50); @@ -412,7 +435,8 @@ List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderService.getTaoBaoOrderByOrderId(lo.getOrderId()); // 娓呴櫎棰戠巼闄愬埗 if (taoBaoOrderList != null && taoBaoOrderList.size() > 0) { - String key = "addorderqueue-" + lo.getOrderId(); + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, lo.getOrderId()); + redisManager.removeCommonString(key); addOrder(taoBaoOrderList); LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId()); @@ -420,77 +444,21 @@ } } - /** - * 澶勭悊娣樺疂缁撶畻璁㈠崟,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()); + // 澶勭悊娣樺疂鏈湴璁㈠崟 + @XxlJob("doLocalTaoBaoOrder") + public ReturnT<String> updatePDDOrder(String param) throws Exception { + if ("1".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�) + doLatestLocalTaoBaoOrder(); + } else if ("5day".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟 + doLatest5DayLocalTaoBaoOrder(); } - - 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); - } + return ReturnT.SUCCESS; } /** * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�) */ - - @Scheduled(cron = "0 0/30 * * * ? ") - public void doLatestLocalTaoBaoOrder() { - if (!Constant.IS_TASK) - return; - + private void doLatestLocalTaoBaoOrder() { Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L; Long startTime = endTime - 1000 * 60 * 60 * 12L; updateLocalTaoBaoOrder(startTime, endTime, 1, 2000); @@ -499,10 +467,7 @@ /** * 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟 */ - @Scheduled(cron = "30 13 3 * * ? ") - public void doLatest5DayLocalTaoBaoOrder() { - if (!Constant.IS_TASK) - return; + private void doLatest5DayLocalTaoBaoOrder() { LogHelper.job("doLatest5DayLocalTaoBaoOrder"); Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L; Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L; @@ -514,13 +479,9 @@ } } - /** - * 澶勭悊涓婃湀璁㈠崟鎴愬姛 - */ - @Scheduled(cron = "0 0 12 25 * ? ") - public void doSellerNotPayOrder() { - if (!Constant.IS_TASK) - return; + // 娣樺疂鍟嗗璺戣矾璁㈠崟 姣忔湀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"), @@ -539,6 +500,7 @@ } catch (Exception e) { LogHelper.errorDetailInfo(e); } + return ReturnT.SUCCESS; } } -- Gitblit v1.8.0