From 3474e43d869f6dda297dba0dcf24694a36dc6b9d Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Thu, 15 Oct 2020 17:45:19 +0800
Subject: [PATCH] 最高最低价

---
 src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
index 739c9d8..64d5d27 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
@@ -382,7 +382,7 @@
 
         BigDecimal nowPriceinBigDecimal = price;
         //查询当前价
-        //BigDecimal nowPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol + "/USDT")));
+        BigDecimal nowPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol + "/USDT")));
 
         // 获取交易管理的杠杠倍率,手续费率等信息,由平台进行设置
         symbol = symbol.toUpperCase();
@@ -413,6 +413,19 @@
             closingPrice = price.multiply(amount).multiply(tradeSetting.getCoinFeeRatio());
             totalPayPrice = price.multiply(amount).add(closingPrice);
             entrustAmount = price.multiply(amount);
+            // 限价买不能高于当前10%
+            if (OrderCoinsEntity.ORDERTYPE_BUY == type) {
+                BigDecimal multiply = nowPrice.multiply(new BigDecimal("1.2"));
+                if(price.compareTo(multiply)>0){
+                    return Result.fail("不能高于当前价的120%");
+                }
+            }else{
+                // 卖不能小于当前90
+                BigDecimal multiply = nowPrice.multiply(new BigDecimal("0.8"));
+                if(price.compareTo(multiply)<0){
+                    return Result.fail("不能低于当前价的80%");
+                }
+            }
         } else {
             // 市价
             if (OrderCoinsEntity.ORDERTYPE_BUY == type) {

--
Gitblit v1.9.1