From cbf7a2cc9807f1647a92d9ffc3f51791f8ac9ca0 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sun, 01 Nov 2020 16:00:53 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java | 99 +++++++++++++++++++++++++------------------------
1 files changed, 51 insertions(+), 48 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 b59e970..2f344bd 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
@@ -355,39 +355,45 @@
}
// 需要先
String phone = memberEntity.getPhone();
- if (!"13632989240".equals(phone) && !"15158130575".equals(phone)) {
- if (OrderCoinsEntity.ORDERTYPE_BUY.equals(type)) {
- // 不能超过800个
-
-// if (amount != null && amount.compareTo(new BigDecimal("800")) > 0) {
-// return Result.fail("买入额度受限");
-// }
-// BigDecimal bigDecimal = orderCoinDealDao.sumTodayBuyAmount(memberId, symbol);
-// if (bigDecimal == null) {
-// bigDecimal = BigDecimal.ZERO;
-// }
-// amount = amount == null ? BigDecimal.ZERO : amount;
-// bigDecimal = bigDecimal.add(amount);
-// if (bigDecimal != null && bigDecimal.compareTo(new BigDecimal("800")) > 0) {
-// return Result.fail("买入额度受限");
-// }
-// // 挂单不能超过800
-// BigDecimal bigDecimal1 = orderCoinDealDao.sumTodayEntrustCntBuyAmount(memberId, symbol);
-// if (bigDecimal1 == null) {
-// bigDecimal1 = BigDecimal.ZERO;
-// }
-// bigDecimal1 = bigDecimal1.add(amount);
-// if (bigDecimal1 != null && bigDecimal1.compareTo(new BigDecimal("800")) > 0) {
-// return Result.fail("买入额度受限");
-// }
- } else {
- return Result.fail("卖出受限");
- }
- }
+// if (!"13632989240".equals(phone) && !"15158130575".equals(phone)) {
+// if (OrderCoinsEntity.ORDERTYPE_BUY.equals(type)) {
+// // 不能超过800个
+//
+//// if (amount != null && amount.compareTo(new BigDecimal("800")) > 0) {
+//// return Result.fail("买入额度受限");
+//// }
+//// BigDecimal bigDecimal = orderCoinDealDao.sumTodayBuyAmount(memberId, symbol);
+//// if (bigDecimal == null) {
+//// bigDecimal = BigDecimal.ZERO;
+//// }
+//// amount = amount == null ? BigDecimal.ZERO : amount;
+//// bigDecimal = bigDecimal.add(amount);
+//// if (bigDecimal != null && bigDecimal.compareTo(new BigDecimal("800")) > 0) {
+//// return Result.fail("买入额度受限");
+//// }
+//// // 挂单不能超过800
+//// BigDecimal bigDecimal1 = orderCoinDealDao.sumTodayEntrustCntBuyAmount(memberId, symbol);
+//// if (bigDecimal1 == null) {
+//// bigDecimal1 = BigDecimal.ZERO;
+//// }
+//// bigDecimal1 = bigDecimal1.add(amount);
+//// if (bigDecimal1 != null && bigDecimal1.compareTo(new BigDecimal("800")) > 0) {
+//// return Result.fail("买入额度受限");
+//// }
+// } else {
+// return Result.fail("卖出受限");
+// }
+// }
BigDecimal nowPriceinBigDecimal = price;
//查询当前价
BigDecimal nowPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol + "/USDT")));
+ 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("请输入合适的价格");
+ }
// 获取交易管理的杠杠倍率,手续费率等信息,由平台进行设置
symbol = symbol.toUpperCase();
@@ -419,18 +425,15 @@
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%");
- }
+ BigDecimal multiply = nowPrice.multiply(new BigDecimal("1.2"));
+ if (price.compareTo(multiply) > 0) {
+ return Result.fail("不能高于当前价的120%");
}
+ multiply= nowPrice.multiply(new BigDecimal("0.8"));
+ if (price.compareTo(multiply) < 0) {
+ return Result.fail("不能低于当前价的80%");
+ }
+
} else {
// 市价
if (OrderCoinsEntity.ORDERTYPE_BUY == type) {
@@ -788,7 +791,7 @@
@Override
public Result findAllWalletCoinOrder() {
- List<OrderCoinsDealEntity> orderCoinsDealEntities = orderCoinDealDao.selectAllCoinDealsOrderBySymbol(CoinTypeEnum.ROC.toString());
+ List<OrderCoinsDealEntity> orderCoinsDealEntities = orderCoinDealDao.selectAllCoinDealsOrderBySymbol(CoinTypeEnum.RFNC.toString());
return Result.ok(orderCoinsDealEntities);
}
@@ -907,7 +910,7 @@
@Transactional(rollbackFor = Exception.class)
public void dealEntrustCoinOrder() {
List<String> ignoreTypes = new ArrayList<>();
- ignoreTypes.add(SymbolsConstats.ROC);
+ ignoreTypes.add(SymbolsConstats.RFNC);
List<OrderCoinsEntity> list = orderCoinsDao.selectAllEntrustingCoinOrderList(ignoreTypes);
if (CollUtil.isNotEmpty(list)) {
for (OrderCoinsEntity orderCoinsEntity : list) {
@@ -1095,19 +1098,19 @@
if (CollectionUtils.isNotEmpty(trades)) {
for (OrderCoinsEntity trade : trades) {
if (trade != null) {
- if (trade.getOrderType()==2 && trade.getEntrustCnt().compareTo(trade.getDealCnt())!=0){
- System.out.println("问题卖单:"+ JSON.toJSONString(trade));
+ if (trade.getOrderType() == 2 && trade.getEntrustCnt().compareTo(trade.getDealCnt()) != 0) {
+ System.out.println("问题卖单:" + JSON.toJSONString(trade));
}
//orderCoinsDao.updateStatus(trade.getId(),OrderCoinsEntity.ORDERSTATUS_DONE);
ids.add(trade.getId());
// 买单 实际成交金额小于委托的 这一部分从冻结扣除
- if(OrderCoinsEntity.ORDERTYPE_BUY==trade.getOrderType()){
- if(trade.getEntrustAmount().compareTo(trade.getDealAmount())>0){
+ if (OrderCoinsEntity.ORDERTYPE_BUY == trade.getOrderType()) {
+ if (trade.getEntrustAmount().compareTo(trade.getDealAmount()) > 0) {
// 此时退回这部分的差额
BigDecimal subtract = trade.getEntrustAmount().subtract(trade.getDealAmount());
MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(trade.getMemberId(), CoinTypeEnum.USDT.name());
- if(memberWalletCoinEntity!=null){
- coinService.updateWalletBalance(memberWalletCoinEntity.getId(),subtract,null,subtract.negate());
+ if (memberWalletCoinEntity != null) {
+ coinService.updateWalletBalance(memberWalletCoinEntity.getId(), subtract, null, subtract.negate());
}
}
}
--
Gitblit v1.9.1