From 7db3689070adf273d1d23487eeccb327c33b1ab8 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 31 May 2020 19:23:39 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/common/system/controller/CommonController.java | 2 +-
src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
index ad88fe5..690549b 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
@@ -93,7 +93,7 @@
}
@ApiOperation(value = "文件上次接口", notes = "文件上传")
- @GetMapping(value = "/uploadFile")
+ @GetMapping(value = "/uploadFileBase64")
public Result uploadFileBase64(@RequestBody @Validated Base64UploadDto uploadDto) {
String imageName = "uploadeFile/image/" + System.currentTimeMillis() + IdUtil.simpleUUID() + AppContants.UPLOAD_IMAGE_SUFFIX;
diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
new file mode 100644
index 0000000..0551a28
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -0,0 +1,48 @@
+package com.kebex.common;
+
+import java.math.BigDecimal;
+
+import com.kebex.app.entity.member.Member;
+import com.kebex.app.entity.trade.TradeSetting;
+import com.kebex.common.cache.TradeSettingCache;
+
+public class CaculateUtil {
+
+ /**
+ * 计算预估强平价
+ *
+ * @param prePrice 保证金
+ * @param openPrice 开仓价
+ * @param symbolSkuNumber 张数
+ * @param lotNumber 规格
+ * @param type 1:买多2:卖空
+ * @return
+ */
+ public static BigDecimal getForceSetPrice(Double prePrice, Double openPrice, Long symbolSkuNumber, BigDecimal lotNumber,
+ int type,Member member) {
+ TradeSettingCache tradeSettingCache = WebUtil.getApplicationContext().getBean(TradeSettingCache.class);
+ BigDecimal forcePrice = BigDecimal.ZERO;
+ if (type == 2) {//卖空
+ forcePrice = new BigDecimal(prePrice)
+ .divide(new BigDecimal(symbolSkuNumber).multiply(lotNumber),8,BigDecimal.ROUND_DOWN)
+ .add(new BigDecimal(openPrice));
+ if(member.getIsProfit() == 1) {
+ TradeSetting tradeSetting = tradeSettingCache.getTradeSetting();
+ //预估强平价 = 预估强平价-预估强平价*系数
+ forcePrice = forcePrice.subtract(forcePrice.multiply(new BigDecimal(tradeSetting.getForceParam())));
+ }
+ } else {//开多
+ forcePrice = new BigDecimal(openPrice).subtract(new BigDecimal(prePrice)
+ .divide(new BigDecimal(symbolSkuNumber).multiply(lotNumber),8,BigDecimal.ROUND_DOWN));
+ if(member.getIsProfit() == 1) {
+ TradeSetting tradeSetting = tradeSettingCache.getTradeSetting();
+ //预估强平价 = 预估强平价-预估强平价*系数
+ forcePrice = forcePrice.add(forcePrice.multiply(new BigDecimal(tradeSetting.getForceParam())));
+ }
+ }
+ if(forcePrice.compareTo(BigDecimal.ZERO)<0) {
+ forcePrice = BigDecimal.ZERO;
+ }
+ return forcePrice;
+ }
+}
--
Gitblit v1.9.1