Helius
2021-02-05 eaca7c0ae42149e8bcd7e651e94a56756e7b64c7
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -491,10 +491,11 @@
                ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(holdOrderDataModel.getId());
                if (holdOrderEntity == null) {
                    log.info("持仓不存在:{}", holdOrderDataModel.getId());
                    redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + wholePriceData.getMemberId());
                    continue;
                }
                holdOrderEntity.setForceClosingPrice(getForceSetPrice(wholePriceData, holdOrderEntity, holdOrderDataModel.getSymbol()));
//                holdOrderEntity.setForceClosingPrice(getForceSetPrice(wholePriceData, holdOrderEntity, holdOrderDataModel.getSymbol()));
                contractHoldOrderDao.deleteById(holdOrderDataModel.getId());
                ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity);
@@ -509,6 +510,7 @@
                contractOrderEntity.setRewardRatio(rewardRatio);
                contractOrderEntity.setRewardAmount(holdOrderDataModel.getRewardAmount().add(contractOrderEntity.getHoldBond().negate()));
                contractOrderEntity.setClosingPrice(holdOrderDataModel.getClosingPrice());
                contractOrderEntity.setForceClosingPrice(holdOrderDataModel.getClosingPrice());
                // 订单状态转换
                if (ContractOrderEntity.ORDER_TYPE_OPEN_MORE == contractOrderEntity.getOrderType()) {
@@ -525,11 +527,13 @@
            BigDecimal totalAmount = BigDecimal.ZERO;
            if (CollUtil.isNotEmpty(entrustOrder)) {
                for (ContractEntrustOrderEntity contractEntrustOrderEntity : entrustOrder) {
                    totalAmount.add(contractEntrustOrderEntity.getEntrustAmount());
                    totalAmount = totalAmount.add(contractEntrustOrderEntity.getEntrustAmount());
                }
            }
            memberWalletContractDao.increaseWalletContractBalanceById(wallet.getAvailableBalance().negate(), wallet.getTotalBalance().subtract(totalAmount).negate(), null, wallet.getId());
            redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + wholePriceData.getMemberId());
        } else {
            log.info("参数有误:{}", memberEntity.getId());
        }