From 0c276f7836257053aa77309c40199bd4ce3a0612 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Thu, 15 Oct 2020 20:08:01 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java | 16 ++++++++++++++++
src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java | 31 ++++++++++++++++++++++++++++++-
src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java | 2 +-
src/main/java/com/xcong/excoin/common/system/controller/LoginController.java | 4 ++++
4 files changed, 51 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
index 25a2ae2..4ed3133 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
@@ -111,7 +111,11 @@
return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);
}
+<<<<<<< HEAD
// @SubmitRepeat
+=======
+ //@SubmitRepeat
+>>>>>>> feature/撮合交易
@ApiOperation(value = "app注册接口", notes = "app注册接口,验证码必须输入可默认为123456")
@PostMapping(value = "/register")
public Result register(@RequestBody @Validated RegisterDto registerDto) {
diff --git a/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java b/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java
index 362eb8b..938b6cd 100644
--- a/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java
+++ b/src/main/java/com/xcong/excoin/configurations/security/TokenFilter.java
@@ -116,7 +116,7 @@
boolean isDebug = applicationProperties.isDebug();
if (!isDebug) {
long currentTime = System.currentTimeMillis();
- return currentTime - time <= 10000;
+ return currentTime - time <= 30000;
}
return true;
}
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 9217ffa..6878fc1 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
@@ -383,12 +383,15 @@
BigDecimal nowPriceinBigDecimal = price;
//查询当前价
BigDecimal nowPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol + "/USDT")));
+<<<<<<< HEAD
BigDecimal subPrice = nowPrice.multiply(BigDecimal.valueOf(0.2));
BigDecimal minPrice = nowPrice.subtract(subPrice);
BigDecimal maxPrice = nowPrice.add(subPrice);
if (nowPriceinBigDecimal.compareTo(minPrice) < 0 || nowPriceinBigDecimal.compareTo(maxPrice) > 0) {
return Result.fail("请输入合适的价格");
}
+=======
+>>>>>>> feature/撮合交易
// 获取交易管理的杠杠倍率,手续费率等信息,由平台进行设置
symbol = symbol.toUpperCase();
@@ -419,6 +422,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) {
diff --git a/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java b/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java
index e61a588..4fd7abd 100644
--- a/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/exchange/service/impl/HandleKlineServiceImpl.java
@@ -49,7 +49,35 @@
newPrice=exchangeTrade.getPrice();
}
}
-
+ // 更新今日高地价
+ BigDecimal min=BigDecimal.ZERO;
+ BigDecimal max=BigDecimal.ZERO;
+ BigDecimal vol = BigDecimal.ZERO;
+ for (ExchangeTrade exchangeTrade : trades) {
+ if(exchangeTrade==null){
+ continue;
+ }
+ min=exchangeTrade.getPrice().min(min);
+ max=exchangeTrade.getPrice().max(max);
+ vol=vol.add(exchangeTrade.getAmount());
+ }
+ Object o = redisUtils.get(symbolUsdt);
+ if(o!=null){
+ Candlestick today = (Candlestick)o;
+ today.setHigh(today.getHigh().max(max));
+ today.setLow(today.getLow().min(min));
+ today.setVolume(today.getVolume().add(vol));
+ redisUtils.set(symbolUsdt,today);
+ }else{
+ Candlestick today = new Candlestick();
+ today.setClose(newPrice);
+ today.setLow(newPrice);
+ today.setHigh(newPrice);
+ today.setHigh(today.getHigh().max(max));
+ today.setLow(today.getLow().min(min));
+ today.setLow(vol);
+ redisUtils.set(symbolUsdt,today);
+ }
// 存入redis,websocket去取
String key = "NEW_KINE_{}";
key = StrUtil.format(key, symbolUsdt);
@@ -60,4 +88,5 @@
}
}
+
}
--
Gitblit v1.9.1