From 9c9911225e32b308520afe3fe8bc20aa5ffa5094 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 29 八月 2019 15:55:23 +0800 Subject: [PATCH] 红包统计剔除 赠送退回统计 --- fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 102 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java index 1019125..e7d96d4 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java @@ -24,10 +24,12 @@ import com.yeshi.fanli.entity.jd.JDOrder; import com.yeshi.fanli.entity.pdd.PDDOrder; import com.yeshi.fanli.entity.push.PushQueueRecord; +import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.TaoBaoWeiQuanException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.jd.JDOrderService; import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService; @@ -41,10 +43,12 @@ import com.yeshi.fanli.service.inter.user.ExtractService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; +import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager; import com.yeshi.fanli.util.cmq.JDOrderCMQManager; import com.yeshi.fanli.util.cmq.PDDOrderCMQManager; import com.yeshi.fanli.util.cmq.ThreeSaleCMQManager; import com.yeshi.fanli.util.cmq.UserMoneyChangeCMQManager; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; /** * 绯荤粺鍒濆鍖� @@ -100,6 +104,9 @@ @Resource private PDDOrderService pddOrderService; + @Resource + private HongBaoV2Service hongBaoV2Service; + private static boolean isInited = false; public void onApplicationEvent(ContextRefreshedEvent arg0) { @@ -130,10 +137,12 @@ doThreeSaleUserCouponJob();// 澶勭悊閭�璇烽槦鍒� doUserMoneyDebtJob();// 鍊哄姟鍋胯繕 initScheduler();// 鍚姩鍟嗗搧鏇存柊瀹氭椂浠诲姟 - doUpdateGoodsJob(); // 鏇存柊鍟嗗搧闃熷垪 + doUpdateGoodsJob(); // 鏇存柊鍟嗗搧闃熷垪 doJDOrderJob();// 浜笢璁㈠崟澶勭悊 doPDDOrderJob();// 鎷煎澶氳鍗曞鐞� + doImportantTaoBaoGoodsUpdateJob();// 娣樺疂閲嶈鍟嗗搧鐨勪俊鎭洿鏂� } + } /** @@ -201,12 +210,13 @@ public void run() { while (true) { try { + // 鍙�16涓鍗� List<String> orderIds = CMQManager.getInstance().consumeTaoBaoOrderMsg(16); - Map<String, List<TaoBaoOrder>> map = new HashMap<>(); if (orderIds != null) { for (String orderId : orderIds) { if (NumberUtil.isNumeric(orderId.trim())) { + Map<String, List<TaoBaoOrder>> map = new HashMap<>(); List<TaoBaoOrder> orderList = taoBaoOrderService .getTaoBaoOrderByOrderId(orderId); map.put(orderId, orderList); @@ -565,7 +575,6 @@ } } catch (Exception e) { LogHelper.error("杩樻鍑洪敊:" + e.getMessage()); - } } } @@ -630,21 +639,105 @@ } PDDOrderCMQManager.getInstance().deletePDDOrder(key); } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } + LogHelper.errorDetailInfo(e); } } } } catch (Exception e) { LogHelper.error("鎷煎澶氳鍗�:" + e.getMessage()); - } } } }); } + + /** + * 閲嶈鐨勬窐瀹濆晢鍝佷俊鎭洿鏂� + */ + public void doImportantTaoBaoGoodsUpdateJob() { + // 寮�鍚�2涓嚎绋嬪仛鏇存柊 + for (int i = 0; i < 2; i++) + executor.execute(new Runnable() { + @Override + public void run() { + while (true) { + Map<String, Long> map = CMQManager.getInstance().consumeTBImpGoodsUpdateMsg(16); + if (map != null) { + Iterator<String> its = map.keySet().iterator(); + while (its.hasNext()) { + String key = its.next(); + try { + long startTime = System.currentTimeMillis(); + TaoBaoGoodsBrief goods = TaoKeApiUtil.searchGoodsDetail(map.get(key)); + // 鏇存柊涓�鏉℃暟鎹渶瑕佺殑鏃堕棿 + taoBaoGoodsUpdateService.updateTaoBaoGoods(goods); + long time = System.currentTimeMillis() - startTime; + LogHelper.test("娣樺疂閲嶈鍟嗗搧搴撴洿鏂版椂闂�:" + time); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } finally { + CMQManager.getInstance().deleteTBImpGoodsUpdateMsg(key); + } + } + } + } + } + }); + + } + + /** + * 绾㈠寘鍒拌处鍚庣殑閲戝竵鑾峰彇 + */ + public void doHongBaoRecieveIntegralGetJob() { + executor.execute(new Runnable() { + @Override + public void run() { + while (true) { + Map<String, Long> map = HongBaoRecieveCMQManager.getInstance() + .consumeQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, 16); + if (map != null) { + Iterator<String> its = map.keySet().iterator(); + while (its.hasNext()) { + String key = its.next(); + Long hongBaoId = map.get(key); + try { + HongBaoV2 hongBaoV2 = hongBaoV2Service.selectByPrimaryKey(hongBaoId); + if (hongBaoV2 != null && hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU) { + if (hongBaoV2.getType() == HongBaoV2.TYPE_ZIGOU) {// 鑷喘 + // TODO 娣诲姞鍔犻噾甯佷簨浠� + } else if (hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_GOODS) {// 鍒嗕韩璧� + // TODO 娣诲姞鍔犻噾甯佷簨浠� + } else if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI + || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 涓�绾ч個璇疯禋 + // TODO 娣诲姞鍔犻噾甯佷簨浠� + } else if (hongBaoV2.getType() == HongBaoV2.TYPE_ERJI + || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 浜岀骇閭�璇疯禋 + // TODO 娣诲姞鍔犻噾甯佷簨浠� + } + } + HongBaoRecieveCMQManager.getInstance() + .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, key); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } finally { + + } + } + } + } + } + }); + + } + } -- Gitblit v1.8.0