From f5708bc8452444408cf3f94b9ed528ca4d58d628 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 04 Sep 2020 11:46:46 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |   45 +++++++++++++++++++++------------------------
 1 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
index 0287728..16c9b8f 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -131,7 +131,7 @@
         log.info("全仓逻辑");
         // 获取最新价
         BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(submitOrderDto.getSymbol())));
-        MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeConvert.convertContractTypeToCoin(submitOrderDto.getSymbol()));
+        MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
         PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
 
         MemberSettingEntity memberSetting = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId());
@@ -482,6 +482,13 @@
                 holdOrderListVo.setCanAddMaxBond(walletContractEntity.getAvailableBalance());
                 holdOrderListVo.setReturnRate(returnRate);
                 holdOrderListVo.setProfitOrLoss(rewardRatio);
+                long start = System.currentTimeMillis();
+//                log.info("开始时间 -- {}", start);
+                BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(symbol, memberEntity);
+                long end = System.currentTimeMillis();
+//                log.info("结束时间 -- {}", end);
+//                log.info("时间差 -- {}", end - start);
+                holdOrderListVo.setForceClosingPrice(forcePrice);
                 resultList.add(holdOrderListVo);
                 totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio);
             }
@@ -729,20 +736,18 @@
         PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
         BigDecimal newPriceSymbol = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol)));
 
-        List<ContractEntrustOrderEntity> entrustOrderEntities;
-        List<ContractHoldOrderEntity> holdOrderEntities;
-        MemberWalletContractEntity walletContractEntity;
-        if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) {
-            // 当前合约委托单
-            entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
-            // 当前持仓列表
-            holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId());
-            walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
-        } else {
-            entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol);
-            holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), symbol);
-            walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeConvert.convertContractTypeToCoin(symbol));
-        }
+        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);
+//        }
 
         // 冻结保证金 -- 即委托单中的保证金之和
         BigDecimal frozenBondAmount = BigDecimal.ZERO;
@@ -790,19 +795,11 @@
         ContractMoneyInfoVo contractMoneyInfoVo = new ContractMoneyInfoVo();
         // 权益
         BigDecimal equity = walletContractEntity.getTotalBalance().add(totalProfitOrLess);
-        // 全仓模式,可用余额需随着盈亏变动
-        if (memberEntity.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ALL) {
-            BigDecimal available = walletContractEntity.getAvailableBalance().add(totalProfitOrLess);
-            if (available.compareTo(BigDecimal.ZERO) < 0) {
-                available = BigDecimal.ZERO;
-            }
-            contractMoneyInfoVo.setAvailableBalance(available);
-        }
-
 
         contractMoneyInfoVo.setBeUsedBondAmount(beUsedBondAmount);
         contractMoneyInfoVo.setFrozenBondAmount(frozenBondAmount);
         contractMoneyInfoVo.setEquity(equity);
+        contractMoneyInfoVo.setAvailableBalance(walletContractEntity.getAvailableBalance());
         contractMoneyInfoVo.setFeeRatio(tradeSetting.getFeeRatio());
         contractMoneyInfoVo.setLeverAgeRatio(tradeSetting.getLeverageRatio());
         contractMoneyInfoVo.setNewPrice(newPriceSymbol);

--
Gitblit v1.9.1