From 9341323065e2c25f25b4ce907c27adc7bc45b672 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 04 Sep 2020 11:46:51 +0800
Subject: [PATCH] Merge branch 'whole_new' of https://gitee.com/chonggaoxiao/new_excoin into whole_new
---
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