From e386221d4c6b3f80c2f7aa1a6ecd4a5906ff773b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 26 Mar 2021 10:42:11 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 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 e88256e..8f05796 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
@@ -549,7 +549,7 @@
}
result.put("hold", resultList);
- result.put("totalProfitOrLoss", totalProfitOrLoss.setScale(4, BigDecimal.ROUND_DOWN).toPlainString());
+ result.put("totalProfitOrLoss", totalProfitOrLoss.setScale(2, BigDecimal.ROUND_DOWN).toPlainString());
return Result.ok(result);
}
return Result.ok("success");
@@ -859,7 +859,7 @@
BigDecimal newPriceSymbol = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol)));
List<ContractEntrustOrderEntity> entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
- List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId());
+ List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbolTest(memberEntity.getId(), ContractOrderEntity.CONTRACTTYPE_NORMAL);
MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
// if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) {
// // 当前合约委托单
@@ -926,10 +926,12 @@
}
BigDecimal available = walletContractEntity.getAvailableBalance();
- if (totalProfitOrLess.compareTo(BigDecimal.ZERO) <= 0) {
- available = available.add(totalProfitOrLess);
- if (available.compareTo(BigDecimal.ZERO) <= 0) {
- available = BigDecimal.ZERO;
+ if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == memberEntity.getContractPositionType()) {
+ if (totalProfitOrLess.compareTo(BigDecimal.ZERO) <= 0) {
+ available = available.add(totalProfitOrLess);
+ if (available.compareTo(BigDecimal.ZERO) <= 0) {
+ available = BigDecimal.ZERO;
+ }
}
}
@@ -1137,7 +1139,7 @@
holdAmount = BigDecimal.ZERO;
}
- BigDecimal thisTimeHold = holdOrderEntity.getBondAmount().multiply(tradeSettingEntity.getDoingRatio());
+ BigDecimal thisTimeHold = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()).multiply(tradeSettingEntity.getDoingRatio());
log.info("订单编号:{}, 持仓费:{}", holdOrderEntity.getOrderNo(), thisTimeHold);
MemberEntity memberEntity = memberDao.selectById(holdOrderEntity.getMemberId());
@@ -1151,6 +1153,7 @@
holdOrderEntity.setOperateNo(holdOrderEntity.getOperateNo() + 1);
contractHoldOrderDao.updateById(holdOrderEntity);
+ memberWalletContractDao.increaseWalletContractBalanceById(null, thisTimeHold.negate(), null, holdOrderEntity.getMemberId());
if (ContractEntrustOrderEntity.POSITION_TYPE_ADD == holdOrderEntity.getPositionType()) {
// 发送爆仓消息
sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), newForcePrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo(), holdOrderEntity.getMemberId());
--
Gitblit v1.9.1