From 017267ae972d95a87e318aa1173b1e6366981769 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 23 Mar 2021 17:56:22 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |   61 ++++++++++++++++++++++++++++--
 1 files changed, 56 insertions(+), 5 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..310f62b 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());
@@ -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