From bf6c08e0b9f18cca48cc616729387e5885d067f2 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sun, 02 Mar 2025 18:08:19 +0800
Subject: [PATCH] 项目提交
---
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java
index d7bbba7..c8ee441 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java
@@ -263,17 +263,36 @@
this.contractOrderService.updateByIdBuffer(order);
// if (profit.add(wallet.getMoney()).compareTo(BigDecimal.ZERO) <= 0) {
- if (currentPrice.toString().compareTo(order.getForceClosePrice()) <= 0) {//达到强平价
- /**
- * 触发全仓强平
- */
- this.contractOrderService.allClose(order.getPartyId());
+ //判断买涨还是买跌"buy":买(多) "sell":卖(空)
+ if(order.getDirection().equals("buy")){
+ if (currentPrice.toString().compareTo(order.getForceClosePrice()) <= 0) {//达到强平价
+ /**
+ * 触发全仓强平
+ */
+ this.contractOrderService.allClose(order.getPartyId());
+ }
+ }else{
+ if (currentPrice.toString().compareTo(order.getForceClosePrice())>= 0) {//达到强平价
+ /**
+ * 触发全仓强平
+ */
+ this.contractOrderService.allClose(order.getPartyId());
+
+ }
}
+
} else {
- if (currentPrice.toString().compareTo(order.getForceClosePrice()) <= 0) {//达到强平价
- this.contractOrderService.saveClose(order.getPartyId().toString(), order.getOrderNo(),"强平");
+ if(order.getDirection().equals("buy")){
+ if (currentPrice.toString().compareTo(order.getForceClosePrice()) <= 0) {//达到强平价
+ this.contractOrderService.saveClose(order.getPartyId().toString(), order.getOrderNo(),"强平");
+ }
+ }else{
+ if (currentPrice.toString().compareTo(order.getForceClosePrice()) >= 0) {//达到强平价
+ this.contractOrderService.saveClose(order.getPartyId().toString(), order.getOrderNo(),"强平");
+ }
}
+
}
}
--
Gitblit v1.9.3