Helius
2020-09-04 f5708bc8452444408cf3f94b9ed528ca4d58d628
modify
4 files modified
69 ■■■■ changed files
src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java 22 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
@@ -54,6 +54,9 @@
    // 平仓队列
    public static final String QUEUE_CLOSETRADE = "QUEUE_CLOSETRADE_NEW";
    // 全仓爆仓
    public static final String QUEUE_WHOLE_BOMB = "QUEUE_WHOLE_BOMB_NEW";
    // 开多止盈路由键
    public static final String ROUTINGKEY_MOREPRO = "ROUTINGKEY_MOREPRO";
@@ -77,6 +80,9 @@
    // 委托平仓
    public static final String ROUTINGKEY_LIMIT_CLOSE = "ROUTINGKEY_LIMIT_CLOSE";
    // 全仓爆仓
    public static final String ROUTINGKEY_WHOLE_BOMB = "ROUTINGKEY_WHOLE_BOMB";
    @Resource
    private ConnectionFactory connectionFactory;
@@ -218,6 +224,14 @@
        return new Queue(QUEUE_CLOSETRADE, true);
    }
    /**
     * 全仓爆仓
     * @return
     */
    @Bean
    public Queue queueWholeBomb() {
        return new Queue(QUEUE_WHOLE_BOMB, true);
    }
    /**
     * 开多止盈
@@ -311,4 +325,14 @@
        return BindingBuilder.bind(queueCloseTrade()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_CLOSETRADE);
    }
    /**
     * 全仓爆仓绑定
     *
     * @return
     */
    @Bean
    public Binding bindingWholeBomb() {
        return BindingBuilder.bind(queueWholeBomb()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_WHOLE_BOMB);
    }
}
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -736,18 +736,18 @@
        PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
        BigDecimal newPriceSymbol = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol)));
        List<ContractEntrustOrderEntity> entrustOrderEntities;
        List<ContractHoldOrderEntity> holdOrderEntities;
        List<ContractEntrustOrderEntity> entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
        List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId());
        MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
        if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) {
            // 当前合约委托单
            entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
            // 当前持仓列表
            holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId());
        } else {
            entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol);
            holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), symbol);
        }
//        if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) {
//            // 当前合约委托单
//            entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
//            // 当前持仓列表
//            holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId());
//        } else {
//            entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol);
//            holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), symbol);
//        }
        // 冻结保证金 -- 即委托单中的保证金之和
        BigDecimal frozenBondAmount = BigDecimal.ZERO;
src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java
@@ -159,4 +159,15 @@
        List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class);
        orderService.entrustCloseOrder(list);
    }
    /**
     * 全仓爆仓
     *
     * @param message
     * @param channel
     */
    @RabbitListener(queues = RabbitMqConfig.QUEUE_WHOLE_BOMB)
    public void onMessageWholeBomb(Message message, Channel channel) {
    }
}
src/main/java/com/xcong/excoin/rabbit/producer/OrderProducer.java
@@ -149,4 +149,16 @@
        rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_LIMIT_CLOSE, content, correlationData);
    }
    /**
     * 发送全仓爆仓
     *
     * @param content
     */
    public void sendWholeBomb(String content) {
        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
        log.info("发送全仓爆仓消息:{} == pid:{}", content, correlationData.getId());
        rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_WHOLE_BOMB, content, correlationData);
    }
}