zainali5120
2020-10-12 dcac20ece30dddba0fd21ca0d7a965de5914189d
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"));
    }