From 0dc8f42e10f9923967a04ee93c87a37e0d514dfa Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 22 Mar 2021 15:36:54 +0800 Subject: [PATCH] 20210322 平仓禁用操作(平仓,一键平仓,止盈止损,调整保证金,开仓) --- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 56 insertions(+), 1 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 1b99171..e88256e 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 @@ -39,11 +39,13 @@ import com.xcong.excoin.modules.member.entity.*; import com.xcong.excoin.modules.platform.dao.TradeSettingDao; import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; +import com.xcong.excoin.rabbit.producer.FollowProducer; import com.xcong.excoin.rabbit.producer.OrderProducer; import com.xcong.excoin.utils.*; import com.xcong.excoin.rabbit.pricequeue.OrderModel; import jnr.a64asm.Mem; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import sun.rmi.runtime.Log; @@ -103,10 +105,21 @@ @Resource private FollowFollowerOrderRelationDao followFollowerOrderRelationDao; + @Autowired + private FollowProducer followProducer; + @Transactional(rollbackFor = Exception.class) @Override 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) { @@ -382,7 +395,8 @@ relationEntity.setTradeOrderNo(holdOrderEntity.getOrderNo()); followFollowerOrderRelationDao.insert(relationEntity); - ThreadPoolUtils.sendFollowOrderTask(holdOrderEntity.getId()); + followProducer.sendAddFollowOrder(holdOrderEntity.getId()); +// ThreadPoolUtils.sendFollowOrderTask(holdOrderEntity.getId()); } // 提交成功 return Result.ok(MessageSourceUtils.getString("member_service_0024")); @@ -544,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) { // 订单不存在 @@ -568,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) { // 订单不存在 @@ -610,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("订单不存在"); @@ -627,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("订单不存在"); @@ -732,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("订单不存在"); -- Gitblit v1.9.1