From f3948fa31158c7b7dea3b038e01c43ce54c55a1c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 14 Apr 2021 11:09:57 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java index 34d0534..3b914bc 100644 --- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java +++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java @@ -287,8 +287,7 @@ } } - @Transactional(rollbackFor = Exception.class) - public synchronized void wholeBomb() { + public void wholeBomb() { Map<String, WholePriceDataModel> dataModelMap = WholeDataQueue.MAP; if (CollUtil.isEmpty(dataModelMap)) { return; @@ -339,15 +338,19 @@ continue; } - log.info("爆仓啥的:{}", entry.getKey()); - if (entry.getKey() != null) { - dataModelMap.remove(entry.getKey()); - wholePriceData.setEquity(wholePriceData.getBalance().add(totalProfitOrLoss)); - redisUtils.set(AppContants.WHOLE_BOMB_MAP, JSONObject.toJSONString(dataModelMap)); - log.info("全仓爆仓触发:{}", JSONObject.toJSONString(wholePriceData)); - wholePriceData.setPrices(prices); - contractHoldOrderDao.updateMemberAllHoldOrderClosingStatus(wholePriceData.getMemberId()); - orderProducer.sendWholeBomb(JSONObject.toJSONString(wholePriceData)); + log.info("过来过来"); + synchronized(this) { + log.info("爆仓啥的:{}", entry.getKey()); + boolean b = redisUtils.setNotExist(AppContants.WHOLE_BOMB_PREFIX + entry.getKey(), 1, 5); + if (b) { + dataModelMap.remove(entry.getKey()); + wholePriceData.setEquity(wholePriceData.getBalance().add(totalProfitOrLoss)); + redisUtils.set(AppContants.WHOLE_BOMB_MAP, JSONObject.toJSONString(dataModelMap)); + log.info("全仓爆仓触发:{}", JSONObject.toJSONString(wholePriceData)); + wholePriceData.setPrices(prices); + contractHoldOrderDao.updateMemberAllHoldOrderClosingStatus(wholePriceData.getMemberId()); + orderProducer.sendWholeBomb(JSONObject.toJSONString(wholePriceData)); + } } } } -- Gitblit v1.9.1