zainali5120
2021-02-25 9219e18a9b2fb06b95b5c881b057d3fde7270ca3
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));
                    }
                }
            }
        }