From 1fcc3c32f8755c6a9b39e38c598aa5dd9af4212f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 23 Mar 2021 18:14:46 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 63 ++++++++++++++++++++++++++++---
1 files changed, 57 insertions(+), 6 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 fd1095a..9c93699 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
@@ -113,6 +113,14 @@
public Result submitOrder(SubmitOrderDto submitOrderDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ //查询是否可以点击平仓按钮
+ Long memberIdLong = memberEntity.getId();
+ MemberEntity selectById = memberDao.selectById(memberIdLong);
+ Integer pcState = selectById.getPcState();
+ if(MemberEntity.PCSTATE_N == pcState) {
+ return Result.loading("loading_type");
+ }
+
// 判断当前对应的持仓/委托
if (memberEntity.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) {
List<ContractHoldOrderEntity> holdList = contractHoldOrderDao.selectMemberHoldOrderByPositionType(ContractEntrustOrderEntity.POSITION_TYPE_ALL, memberEntity.getId());
@@ -491,7 +499,7 @@
}
// 回报率
- BigDecimal returnRate = rewardRatio.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN);
+ BigDecimal returnRate = rewardRatio.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount()), 8, BigDecimal.ROUND_DOWN);
// 成本价格
BigDecimal costPrice = holdOrderEntity.getOpeningPrice()
@@ -504,7 +512,7 @@
// if (canAddMaxBond.compareTo(BigDecimal.ZERO) < 0) {
// canAddMaxBond = BigDecimal.ZERO;
// }
- BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount());
+ BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount());
if (rewardRatio.compareTo(BigDecimal.ZERO) < 0) {
canReduceMaxBond = canReduceMaxBond.add(rewardRatio);
@@ -550,6 +558,15 @@
@Override
public Result cancelHoldOrder(Long id) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+
+ //查询是否可以点击平仓按钮
+ Long memberIdLong = memberEntity.getId();
+ MemberEntity selectById = memberDao.selectById(memberIdLong);
+ Integer pcState = selectById.getPcState();
+ if(MemberEntity.PCSTATE_N == pcState) {
+ return Result.loading("loading_type");
+ }
+
ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), id);
if (holdOrderEntity == null) {
// 订单不存在
@@ -574,6 +591,13 @@
@Override
public Result cancelHoldOrder(WholeCloseOrderDto wholeCloseOrderDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ //查询是否可以点击平仓按钮
+ Long memberIdLong = memberEntity.getId();
+ MemberEntity selectById = memberDao.selectById(memberIdLong);
+ Integer pcState = selectById.getPcState();
+ if(MemberEntity.PCSTATE_N == pcState) {
+ return Result.loading("loading_type");
+ }
ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), wholeCloseOrderDto.getId());
if (holdOrderEntity == null) {
// 订单不存在
@@ -616,6 +640,14 @@
@Override
public Result cancelHoldOrderBatch(SymbolDto symbolDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ //查询是否可以点击平仓按钮
+ Long memberIdLong = memberEntity.getId();
+ MemberEntity selectById = memberDao.selectById(memberIdLong);
+ Integer pcState = selectById.getPcState();
+ if(MemberEntity.PCSTATE_N == pcState) {
+ return Result.loading("loading_type");
+ }
+
List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol(), 1);
if (CollUtil.isEmpty(holdOrderEntities)) {
return Result.fail("订单不存在");
@@ -633,6 +665,14 @@
@Override
public Result setTargetProfitOrLess(ProfitOrLessDto profitOrLessDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ //查询是否可以点击平仓按钮
+ Long memberIdLong = memberEntity.getId();
+ MemberEntity selectById = memberDao.selectById(memberIdLong);
+ Integer pcState = selectById.getPcState();
+ if(MemberEntity.PCSTATE_N == pcState) {
+ return Result.loading("loading_type");
+ }
+
ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), profitOrLessDto.getId());
if (holdOrderEntity == null) {
return Result.fail("订单不存在");
@@ -738,6 +778,15 @@
@Override
public Result changeBond(ChangeBondDto changeBondDto) {
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+
+ //查询是否可以点击平仓按钮
+ Long memberIdLong = memberEntity.getId();
+ MemberEntity selectById = memberDao.selectById(memberIdLong);
+ Integer pcState = selectById.getPcState();
+ if(MemberEntity.PCSTATE_N == pcState) {
+ return Result.loading("loading_type");
+ }
+
ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), changeBondDto.getId());
if (holdOrderEntity == null) {
return Result.fail("订单不存在");
@@ -877,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;
+ }
}
}
--
Gitblit v1.9.1