From bca07338e66536172b69d3d15287db4805f5cf85 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 28 Aug 2020 12:11:04 +0800
Subject: [PATCH] 20200828
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 8 ++++++--
1 files changed, 6 insertions(+), 2 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 87bbcc9..c98a008 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
@@ -164,7 +164,7 @@
if (wholeHoldOrder != null) {
BigDecimal totalPrice = openingPrice.multiply(BigDecimal.valueOf(submitOrderDto.getSymbolCnt()));
// (当前开仓价*张数 + 原开仓价 * 原可平张数) / (张数 + 原可平张数)
- BigDecimal newOpenPrice = totalPrice.add(wholeHoldOrder.getOpeningPrice().multiply(BigDecimal.valueOf(wholeHoldOrder.getSymbolCnt()))).divide(BigDecimal.valueOf(submitOrderDto.getSymbolCnt() + wholeHoldOrder.getSymbolCntSale()), 8, BigDecimal.ROUND_DOWN);
+ BigDecimal newOpenPrice = totalPrice.add(wholeHoldOrder.getOpeningPrice().multiply(BigDecimal.valueOf(wholeHoldOrder.getSymbolCntSale()))).divide(BigDecimal.valueOf(submitOrderDto.getSymbolCnt() + wholeHoldOrder.getSymbolCntSale()), 8, BigDecimal.ROUND_DOWN);
log.info("计算后开仓价:{}", newOpenPrice);
BigDecimal fee = openFeePrice.add(wholeHoldOrder.getOpeningFeeAmount());
log.info("手续费相加:{}", fee);
@@ -546,7 +546,6 @@
// 更新可平张数
holdOrderEntity.setSymbolCntSale(sub);
- holdOrderEntity.setSymbolCnt(sub);
contractHoldOrderDao.updateById(holdOrderEntity);
// 将待平张数放入缓存
@@ -807,6 +806,11 @@
@Override
public Result changeLeverRate(ChangeLeverRateDto changeLeverRateDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+
+ List<ContractHoldOrderEntity> holdOrders = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), changeLeverRateDto.getSymbol());
+ if (CollUtil.isNotEmpty(holdOrders)) {
+ return Result.fail("存在持仓, 无法调整杠杆");
+ }
MemberLevelRateEntity levelRateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), changeLeverRateDto.getSymbol());
levelRateEntity.setLevelRateUp(changeLeverRateDto.getLeverRate());
levelRateEntity.setLevelRateDown(changeLeverRateDto.getLeverRate());
--
Gitblit v1.9.1