From 3af20297ca45b2161bfe51cbd8fd918b293223c2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 23 Nov 2020 14:55:55 +0800
Subject: [PATCH] 20201123
---
src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
index bf4d078..692d02b 100644
--- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -1,7 +1,9 @@
package com.xcong.excoin.utils;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
import lombok.extern.slf4j.Slf4j;
@@ -16,7 +18,7 @@
/**
* 计算预估强平价
*
- * @param bondAmount 保证金
+ * @param bondAmount 保证金
* @param openPrice 开仓价
* @param symbolSkuNumber 张数
* @param lotNumber 规格
@@ -25,24 +27,23 @@
*/
public static BigDecimal getForceSetPrice(BigDecimal bondAmount, BigDecimal openPrice, int symbolSkuNumber, BigDecimal lotNumber,
int type, MemberEntity member) {
- CacheSettingUtils cacheSettingUtils = SpringContextHolder.getBean(CacheSettingUtils.class);
- PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
+ MemberSettingDao memberSettingDao = SpringContextHolder.getBean(MemberSettingDao.class);
BigDecimal forcePrice = BigDecimal.ZERO;
BigDecimal money = bondAmount.divide(new BigDecimal(symbolSkuNumber).multiply(lotNumber), 8, BigDecimal.ROUND_DOWN);
//卖空
if (type == 2) {
- log.info("---->{}", money);
- log.info("------>{}", openPrice);
forcePrice = money.add(openPrice);
- if (member.getIsProfit() == 1) {
+ if (member.getIsForce() == 1) {
+ MemberSettingEntity memberSetting = memberSettingDao.selectMemberSettingByMemberId(member.getId());
//预估强平价 = 预估强平价-预估强平价*系数
- forcePrice = forcePrice.subtract(forcePrice.multiply(tradeSetting.getForceParam()));
+ forcePrice = forcePrice.subtract(forcePrice.multiply(memberSetting.getForceParam() == null ? BigDecimal.ZERO : memberSetting.getForceParam()));
}
} else {//开多
forcePrice = openPrice.subtract(money);
- if (member.getIsProfit() == 1) {
+ if (member.getIsForce() == 1) {
+ MemberSettingEntity memberSetting = memberSettingDao.selectMemberSettingByMemberId(member.getId());
//预估强平价 = 预估强平价-预估强平价*系数
- forcePrice = forcePrice.add(forcePrice.multiply(tradeSetting.getForceParam()));
+ forcePrice = forcePrice.add(forcePrice.multiply(memberSetting.getForceParam() == null ? BigDecimal.ZERO : memberSetting.getForceParam()));
}
}
if (forcePrice.compareTo(BigDecimal.ZERO) < 0) {
--
Gitblit v1.9.1