From 6fb1934a22347206bda6d0d4aa4c9d4e7a0aceca Mon Sep 17 00:00:00 2001
From: rizer1980 <4340180@gmail.com>
Date: Thu, 17 Oct 2024 02:25:17 +0300
Subject: [PATCH] [bybit-stream] fix, add CumRealisedPnl

---
 .../java/dto/trade/BybitComplexPositionChanges.java    | 10 +++++++---
 .../xchangestream/bybit/BybitStreamAdapters.java       |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/xchange-stream-bybit/src/main/java/dto/trade/BybitComplexPositionChanges.java b/xchange-stream-bybit/src/main/java/dto/trade/BybitComplexPositionChanges.java
index 7c8d5d08f89..12543fb08b8 100644
--- a/xchange-stream-bybit/src/main/java/dto/trade/BybitComplexPositionChanges.java
+++ b/xchange-stream-bybit/src/main/java/dto/trade/BybitComplexPositionChanges.java
@@ -10,7 +10,7 @@
 
 @Getter
 @Setter
-@ToString
+@ToString(callSuper = true)
 public class BybitComplexPositionChanges extends OpenPosition {
 
   private int positionIdx;
@@ -29,6 +29,7 @@ public class BybitComplexPositionChanges extends OpenPosition {
   private BigDecimal stopLoss;
   private BigDecimal trailingStop;
   private BigDecimal curRealisedPnl;
+  private BigDecimal cumRealisedPnl;
   private BigDecimal sessionAvgPrice; //USDC contract session avg price
   private String positionStatus;
   private int adlRankIndicator;
@@ -42,7 +43,7 @@ public class BybitComplexPositionChanges extends OpenPosition {
   public BybitComplexPositionChanges(Instrument instrument, Type type, BigDecimal size,
       BigDecimal liquidationPrice, BigDecimal unRealisedPnl,
       BigDecimal positionValue, BigDecimal entryPrice, BigDecimal leverage, BigDecimal takeProfit,
-      BigDecimal stopLoss, BigDecimal curRealisedPnl, long createdTime, long updatedTime,
+      BigDecimal stopLoss, BigDecimal curRealisedPnl, BigDecimal cumRealisedPnl,long createdTime, long updatedTime,
       long seq) {
     super(instrument, type, size, entryPrice, liquidationPrice, unRealisedPnl);
     this.positionValue = positionValue;
@@ -50,6 +51,7 @@ public BybitComplexPositionChanges(Instrument instrument, Type type, BigDecimal
     this.takeProfit = takeProfit;
     this.stopLoss = stopLoss;
     this.curRealisedPnl = curRealisedPnl;
+    this.cumRealisedPnl = cumRealisedPnl;
     this.createdTime = createdTime;
     this.updatedTime = updatedTime;
     this.seq = seq;
@@ -80,6 +82,7 @@ public BybitComplexPositionChanges(BybitComplexPositionChanges changes) {
     this.stopLoss = changes.stopLoss;
     this.trailingStop = changes.trailingStop;
     this.curRealisedPnl = changes.curRealisedPnl;
+    this.cumRealisedPnl = changes.cumRealisedPnl;
     this.sessionAvgPrice = changes.sessionAvgPrice;
     this.positionStatus = changes.positionStatus;
     this.adlRankIndicator = changes.adlRankIndicator;
@@ -97,7 +100,7 @@ public BybitComplexPositionChanges(Instrument instrument, Type type, BigDecimal
       BigDecimal positionBalance, int autoAddMargin, BigDecimal positionMM, BigDecimal positionIM,
       BigDecimal bustPrice, BigDecimal positionValue, BigDecimal leverage,
       BigDecimal takeProfit, BigDecimal stopLoss, BigDecimal trailingStop,
-      BigDecimal curRealisedPnl,
+      BigDecimal curRealisedPnl,BigDecimal cumRealisedPnl,
       BigDecimal sessionAvgPrice, String positionStatus, int adlRankIndicator, boolean isReduceOnly,
       String mmrSysUpdatedTime, String leverageSysUpdatedTime, long createdTime, long updatedTime,
       long seq) {
@@ -118,6 +121,7 @@ public BybitComplexPositionChanges(Instrument instrument, Type type, BigDecimal
     this.stopLoss = stopLoss;
     this.trailingStop = trailingStop;
     this.curRealisedPnl = curRealisedPnl;
+    this.cumRealisedPnl = cumRealisedPnl;
     this.sessionAvgPrice = sessionAvgPrice;
     this.positionStatus = positionStatus;
     this.adlRankIndicator = adlRankIndicator;
diff --git a/xchange-stream-bybit/src/main/java/info/bitrich/xchangestream/bybit/BybitStreamAdapters.java b/xchange-stream-bybit/src/main/java/info/bitrich/xchangestream/bybit/BybitStreamAdapters.java
index 089a4c29b1a..863ea9be224 100644
--- a/xchange-stream-bybit/src/main/java/info/bitrich/xchangestream/bybit/BybitStreamAdapters.java
+++ b/xchange-stream-bybit/src/main/java/info/bitrich/xchangestream/bybit/BybitStreamAdapters.java
@@ -162,7 +162,7 @@ bustPrice, new BigDecimal(position.getPositionValue()),
           new BigDecimal(position.getLeverage()),
           new BigDecimal(position.getTakeProfit()), new BigDecimal(position.getStopLoss()),
           new BigDecimal(position.getTrailingStop()),
-          new BigDecimal(position.getCurRealisedPnl()),
+          new BigDecimal(position.getCurRealisedPnl()),new BigDecimal(position.getCumRealisedPnl()),
           sessionAvgPrice, position.getPositionStatus(),
           position.getAdlRankIndicator(), position.isReduceOnly(),
           position.getMmrSysUpdatedTime(), position.getLeverageSysUpdatedTime(),