From c41c4bf20db7e287cbc3e7dcfa3a332499e5dbf4 Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Tue, 13 Oct 2020 16:00:13 +0800
Subject: [PATCH] RFNC交易所

---
 src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java |   41 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 36 insertions(+), 5 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 712312f..3457648 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
@@ -347,6 +347,38 @@
         if(!MemberEntity.CERTIFY_STATUS_Y.equals(memberEntity.getCertifyStatus())){
             return Result.fail(MessageSourceUtils.getString("member_controller_0001"));
         }
+        // 需要先
+        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("卖出受限");
+//            }
+//        }
+
         BigDecimal nowPriceinBigDecimal = price;
         //查询当前价
         //BigDecimal nowPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol + "/USDT")));
@@ -520,7 +552,7 @@
             if (SymbolsConstats.EXCHANGE_SYMBOLS.contains(orderCoinsEntity.getSymbol())) {
                 orderSubmitProducer.sendCancelMsg(orderId);
                // return this.cancelEntrustWalletCoinOrderForMatch(orderId);
-                return Result.ok("order_service_0013");
+                return Result.ok(MessageSourceUtils.getString("order_service_0013"));
             }
             if (orderCoinsEntity.getOrderStatus() == OrderCoinsEntity.ORDERSTATUS_CANCEL || orderCoinsEntity.getOrderStatus()==OrderCoinsEntity.ORDERSTATUS_DONE) {
                 return Result.fail(MessageSourceUtils.getString("order_service_0012"));
@@ -628,8 +660,6 @@
             detail.setDealPrice(orderCoinsEntity.getDealPrice());
             detail.setDealAmount(orderCoinsEntity.getDealAmount());
             detail.setFeeAmount(orderCoinsEntity.getFeeAmount());
-            orderCoinDealDao.insert(detail);
-
             if (OrderCoinsEntity.ORDERTYPE_BUY.equals(orderCoinsEntity.getOrderType())) {
                 //如果是限价买入,撤单将USDT账户冻结金额返回
                 String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
@@ -658,7 +688,7 @@
                         BigDecimal needFee = orderCoinsEntity.getFeeAmount().multiply(dealAmount.divide(orderCoinsEntity.getEntrustAmount(), 8, BigDecimal.ROUND_DOWN));
                         returnFee = orderCoinsEntity.getFeeAmount().subtract(needFee);
                     }
-                    BigDecimal avi = walletCoin.getAvailableBalance().add(returnBalance).add(returnFee);
+                    BigDecimal avi = returnBalance.add(returnFee);
                     memberWalletCoinDao.updateWalletBalance(walletCoin.getId(),avi,null,returnBalance.negate());
                     walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(returnBalance).add(returnFee));
                     walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance));
@@ -695,6 +725,7 @@
                     return Result.ok(MessageSourceUtils.getString("order_service_0013"));
                 }
             }
+            orderCoinDealDao.insert(detail);
         }
         return Result.fail(MessageSourceUtils.getString("order_service_0043"));
     }
@@ -855,7 +886,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