From 3409aa6a1bbe29933c5f9e45982223aa6b62eb35 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 03 Sep 2020 21:22:37 +0800 Subject: [PATCH] modify --- src/main/resources/mapper/contract/ContractHoldOrderDao.xml | 6 ++++++ src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java | 3 +++ src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 3 ++- 3 files changed, 11 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java index aea43ac..d55bed5 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java +++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param; import org.web3j.abi.datatypes.Int; +import java.math.BigDecimal; import java.util.HashMap; import java.util.List; @@ -56,4 +57,6 @@ public List<String> selectWholeHoldOrderSymbolsByMemberId(@Param("memberId") Long memberId); + public int updateForcePriceBySymbolAndMemberId(@Param("forcePrice") BigDecimal forcePrice, @Param("memberId") Long memberId, @Param("symbol") String symbol); + } diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java index d687981..b02146a 100644 --- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java +++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java @@ -128,7 +128,7 @@ profitOrLoss = profitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity)); } - log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolFeeAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio); + log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolBondAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio); BigDecimal sub = walletContract.getTotalBalance().add(profitOrLoss).subtract(symbolFeeAmount).subtract(totalBondAmount); log.info("sub -- {}", sub); BigDecimal divide = sub.divide(symbolBondAmount, 8, BigDecimal.ROUND_DOWN); @@ -138,6 +138,7 @@ BigDecimal forcePrice = openPrice.subtract(divide.multiply(divide2)); log.info("forcePrice -- {}", forcePrice); + holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol); } } } diff --git a/src/main/resources/mapper/contract/ContractHoldOrderDao.xml b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml index c5f1cd0..1884085 100644 --- a/src/main/resources/mapper/contract/ContractHoldOrderDao.xml +++ b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml @@ -82,4 +82,10 @@ from contract_hold_order where position_type=2 and member_id=#{memberId} </select> + + <update id="updateForcePriceBySymbolAndMemberId"> + update contract_hold_order + set force_closing_price=#{forcePrice}, is_can_closing=1 + where member_id=#{memberId} and symbol=#{symbol} + </update> </mapper> \ No newline at end of file -- Gitblit v1.9.1