From 183624a0ff68b5a521f309fe0a0994fda2eae6fb Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 04 Sep 2020 10:48:24 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 4 ++++
src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 10 +++++++++-
2 files changed, 13 insertions(+), 1 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 92327d5..40ba496 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
@@ -482,6 +482,10 @@
holdOrderListVo.setCanAddMaxBond(walletContractEntity.getAvailableBalance());
holdOrderListVo.setReturnRate(returnRate);
holdOrderListVo.setProfitOrLoss(rewardRatio);
+ log.info("开始时间--{}", System.currentTimeMillis());
+ BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(symbol, memberEntity);
+ log.info("结束时间--{}", System.currentTimeMillis());
+ holdOrderListVo.setForceClosingPrice(forcePrice);
resultList.add(holdOrderListVo);
totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio);
}
diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
index b02146a..3314803 100644
--- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -85,7 +85,7 @@
* 全仓模式 -- 预估强平价
* 开仓价 - (权益 - 其他币种成本)/当前币种成本 * (开仓价 * 杠杆)
*/
- public static void getForceSetPriceForWhole(@NotNull String aa, @NotNull MemberEntity memberEntity) {
+ public static BigDecimal getForceSetPriceForWhole(@NotNull String currentSymbol, @NotNull MemberEntity memberEntity) {
ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class);
@@ -93,6 +93,8 @@
MemberWalletContractEntity walletContract = walletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
List<ContractHoldOrderEntity> holdOrderEntities = holdOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberId, null);
List<String> symbols = holdOrderDao.selectWholeHoldOrderSymbolsByMemberId(memberId);
+
+ BigDecimal result = BigDecimal.ZERO;
if (CollUtil.isNotEmpty(holdOrderEntities)) {
for (String symbol : symbols) {
@@ -139,8 +141,14 @@
BigDecimal forcePrice = openPrice.subtract(divide.multiply(divide2));
log.info("forcePrice -- {}", forcePrice);
holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol);
+
+ if (currentSymbol.equalsIgnoreCase(symbol)) {
+ result = forcePrice;
+ }
}
}
+
+ return result;
}
private static BigDecimal calProfitOrLoss(ContractHoldOrderEntity holdOrderEntity, MemberEntity memberEntity) {
--
Gitblit v1.9.1