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