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