From f812dd42487c1ee47cb9bcbeed1f40779bbae6aa Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 15 Oct 2020 20:09:04 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java | 83 +++++++++++++++++++++++++---------------- 1 files changed, 51 insertions(+), 32 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..ea52af3 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 @@ -350,39 +350,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 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(); @@ -413,6 +419,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) { @@ -770,7 +789,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); } @@ -889,7 +908,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) { -- Gitblit v1.9.1