From 0e2ecf41e6ff7dadd8b2f5bd18d118e88f23d9eb Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 30 Mar 2021 16:37:13 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java |    9 ++++++++-
 src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java  |    7 +++++++
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java
index fca4232..683f9f0 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java
@@ -127,6 +127,13 @@
         return contractHoldOrderService.cancelHoldOrder(wholeCloseOrderDto);
     }
 
+    @ApiOperation(value = "全仓模式 - 一键平仓")
+    @GetMapping(value = "/oneKeyClosingForWhole")
+    public Result oneKeyClosingForWhole() {
+        SymbolDto symbolDto = new SymbolDto();
+        return contractHoldOrderService.cancelHoldOrderBatch(symbolDto);
+    }
+
     @ApiOperation(value = "全仓模式 - 变更仓位类型")
     @GetMapping(value = "/changePositionType")
     public Result changePositionType() {
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
index e66c855..ba5c3a1 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -113,7 +113,14 @@
                     List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectBatchIds(ids);
                     if (CollUtil.isNotEmpty(holdOrderEntities)) {
                         for (ContractHoldOrderEntity holdOrder : holdOrderEntities) {
-                            cancelHoldOrderMethod(holdOrder);
+                            // 判断仓位类型是否逐仓
+                            if (holdOrder.getPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) {
+                                // 逐仓平仓
+                                cancelHoldOrderMethod(holdOrder);
+                            } else {
+                                // 全仓模式平仓
+                                closingWholeOrder(holdOrder);
+                            }
                         }
                     }
                 }

--
Gitblit v1.9.1