From 3b51e28456fc8c3ca03a27df70645b82c1a1530b Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 08 Sep 2020 18:00:30 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java index 97e866e..3d1476a 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java @@ -45,6 +45,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author wzy @@ -479,14 +480,17 @@ Long memberId = memberEntity.getId(); List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberId, null); MemberWalletContractEntity wallet = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name()); + + Map<Object, Object> value = redisUtils.hmget(AppContants.WHOLE_BOMB_PREFIX + memberId); if (CollUtil.isNotEmpty(holdOrderEntities)) { PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting(); for (ContractHoldOrderEntity holdOrderEntity : holdOrderEntities) { // 删除次仓订单 contractHoldOrderDao.deleteById(holdOrderEntity.getId()); BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(holdOrderEntity.getSymbol()); - BigDecimal currentPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol()))); - + String symbolPrice = (String) value.get(holdOrderEntity.getSymbol()); + log.info("symbolPrice : {}, symbol : {}", symbolPrice, holdOrderEntity.getSymbol()); + BigDecimal currentPrice = new BigDecimal(symbolPrice); // 单个订单盈利 // BigDecimal profitOrLess = BigDecimal.ZERO; // // 开多 @@ -521,6 +525,7 @@ contractOrderEntity.setRewardRatio(rewardRatio); contractOrderEntity.setRewardAmount(profitOrLess); contractOrderEntity.setClosingPrice(currentPrice); + contractOrderEntity.setForceClosingPrice(currentPrice); // 订单状态转换 if (ContractOrderEntity.ORDER_TYPE_OPEN_MORE == contractOrderEntity.getOrderType()) { @@ -542,7 +547,7 @@ } } - memberWalletContractDao.increaseWalletContractBalanceById(BigDecimal.ZERO, wallet.getTotalBalance().subtract(totalAmount).negate(), null, wallet.getId()); + memberWalletContractDao.increaseWalletContractBalanceById(wallet.getAvailableBalance().negate(), wallet.getTotalBalance().subtract(totalAmount).negate(), null, wallet.getId()); redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + memberId); } else { -- Gitblit v1.9.1