Helius
2020-06-05 1029e612977c90947548335e13a6bf36a843d9e6
Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin
3 files modified
132 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java 42 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java 82 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -87,7 +87,7 @@
                        totalUsdt = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
                        totalUsdts = totalUsdts.add(totalUsdt);
                        BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
                        walletCoin.setTotalBalance(totalCny.setScale(4, BigDecimal.ROUND_DOWN));
                        walletCoin.setTotalBalance(totalCny);
                    } else {
                        BigDecimal amount = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
                        // 获取最新价
@@ -96,7 +96,7 @@
                        //Double closePrice = symbolsService.getCloseSymbolsBySymbolsName(walletCoin.getWalletCode()+"/USDT");
                        totalUsdt = totalUsdt.add(amount.multiply(closePrice));
                        totalUsdts = totalUsdts.add(totalUsdt);
                        walletCoin.setTotalBalance(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
                        walletCoin.setTotalBalance(totalUsdt.multiply(cnyUsdt));
                    }
                }
            }
@@ -235,10 +235,10 @@
            MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode);
            BigDecimal availableBalance = walletContract.getAvailableBalance();
            BigDecimal add = availableBalance.add(balance);
            walletContract.setAvailableBalance(add.setScale(4, BigDecimal.ROUND_DOWN));
            walletContract.setAvailableBalance(add);
            BigDecimal totalBalance = walletContract.getTotalBalance();
            BigDecimal totalBigDecimal = totalBalance.add(balance);
            walletContract.setTotalBalance(totalBigDecimal.setScale(4, BigDecimal.ROUND_DOWN));
            walletContract.setTotalBalance(totalBigDecimal);
            int updateWalletContractById = memberWalletContractDao.updateById(walletContract);
            if (updateWalletContractById < 1) {
                return Result.fail(MessageSourceUtils.getString("member_service_0096"));
@@ -247,7 +247,7 @@
            MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange();
            memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOCONTRACT.getValue());
            memberAccountRecord.setMemberId(memberId);
            memberAccountRecord.setAmount(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
            memberAccountRecord.setAmount(balance.negate());
            memberAccountRecord.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER);
            memberAccountRecord.setSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue());
            memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
@@ -256,7 +256,7 @@
            //添加合约资金划转历史记录
            memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMWALLETCOIN.getValue());
            memberAccountRecord.setSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue());
            memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
            memberAccountRecord.setAmount(balance);
            memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_CONTRACT);
            memberAccountMoneyChangeDao.insert(memberAccountRecord);
        }
@@ -283,8 +283,8 @@
        BigDecimal totalBalance = walletContract.getTotalBalance();
        BigDecimal totalSubtract = totalBalance.subtract(balance);
        walletContract.setAvailableBalance(availableSubtract.setScale(4, BigDecimal.ROUND_DOWN));
        walletContract.setTotalBalance(totalSubtract.setScale(4, BigDecimal.ROUND_DOWN));
        walletContract.setAvailableBalance(availableSubtract);
        walletContract.setTotalBalance(totalSubtract);
        int updateWalletCoinById = memberWalletContractDao.updateById(walletContract);
        if (updateWalletCoinById < 1) {
            return Result.fail(MessageSourceUtils.getString("member_service_0096"));
@@ -296,8 +296,8 @@
        BigDecimal walletCoinTotalBalance = walletCoin.getTotalBalance();
        BigDecimal CoinTotalBalance = walletCoinTotalBalance.add(balance);
        walletCoin.setAvailableBalance(CoinAvailableBalance.setScale(4, BigDecimal.ROUND_DOWN));
        walletCoin.setTotalBalance(CoinTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
        walletCoin.setAvailableBalance(CoinAvailableBalance);
        walletCoin.setTotalBalance(CoinTotalBalance);
        int updateById = memberWalletCoinDao.updateById(walletCoin);
        if (updateById < 1) {
            return Result.fail(MessageSourceUtils.getString("member_service_0096"));
@@ -307,7 +307,7 @@
        MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange();
        memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOWALLETCOIN.getValue());
        memberAccountRecord.setMemberId(memberId);
        memberAccountRecord.setAmount(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
        memberAccountRecord.setAmount(balance.negate());
        memberAccountRecord.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER);
        memberAccountRecord.setSymbol(walletCode);
        memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_CONTRACT);
@@ -317,7 +317,7 @@
        memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMCONTRACT.getValue());
        memberAccountRecord.setSymbol(walletCode);
        memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
        memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
        memberAccountRecord.setAmount(balance);
        memberAccountMoneyChangeDao.insert(memberAccountRecord);
        return Result.ok(MessageSourceUtils.getString("member_service_0006"));
    }
@@ -435,8 +435,8 @@
            return Result.fail(MessageSourceUtils.getString("member_service_0008"));
        }
        walletAgent.setAvailableBalance(available.setScale(4, BigDecimal.ROUND_DOWN));
        walletAgent.setTotalBalance(total.setScale(4, BigDecimal.ROUND_DOWN));
        walletAgent.setAvailableBalance(available);
        walletAgent.setTotalBalance(total);
        int i = memberWalletAgentDao.updateById(walletAgent);
        if (i < 1) {
@@ -450,8 +450,8 @@
            BigDecimal walletCoinAvailableBalance = walletCoin.getAvailableBalance();
            BigDecimal walletCoinTotalBalance = walletCoin.getTotalBalance();
            walletCoin.setAvailableBalance(walletCoinAvailableBalance.add(balance).setScale(4, BigDecimal.ROUND_DOWN));
            walletCoin.setTotalBalance(walletCoinTotalBalance.add(balance).setScale(4, BigDecimal.ROUND_DOWN));
            walletCoin.setAvailableBalance(walletCoinAvailableBalance.add(balance));
            walletCoin.setTotalBalance(walletCoinTotalBalance.add(balance));
            int updateById = memberWalletCoinDao.updateById(walletCoin);
            if (updateById < 1) {
@@ -463,7 +463,7 @@
            memberAccountRecord.setSymbol(walletCode);
            memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMAGENT.getValue());
            memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
            memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
            memberAccountRecord.setAmount(balance);
            memberAccountMoneyChangeDao.insert(memberAccountRecord);
            memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOWALLETCOIN.getValue());
@@ -473,8 +473,8 @@
            BigDecimal walletContractAvailableBalance = walletContract.getAvailableBalance();
            BigDecimal walletContractTotalBalance = walletContract.getTotalBalance();
            walletContract.setAvailableBalance(walletContractAvailableBalance.add(balance).setScale(4, BigDecimal.ROUND_DOWN));
            walletContract.setTotalBalance(walletContractTotalBalance.add(balance).setScale(4, BigDecimal.ROUND_DOWN));
            walletContract.setAvailableBalance(walletContractAvailableBalance.add(balance));
            walletContract.setTotalBalance(walletContractTotalBalance.add(balance));
            int updateById = memberWalletContractDao.updateById(walletContract);
            if (updateById < 1) {
@@ -487,11 +487,11 @@
            memberAccountRecord.setSymbol(walletCode);
            memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTFROMAGENT.getValue());
            memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_CONTRACT);
            memberAccountRecord.setAmount(balance.setScale(4, BigDecimal.ROUND_DOWN));
            memberAccountRecord.setAmount(balance);
            memberAccountMoneyChangeDao.insert(memberAccountRecord);
            memberAccountRecord.setContent(MemberWalletCoinEnum.CONTENTTOCONTRACT.getValue());
        }
        memberAccountRecord.setAmount(balance.negate().setScale(4, BigDecimal.ROUND_DOWN));
        memberAccountRecord.setAmount(balance.negate());
        memberAccountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_AGENT);
        memberAccountMoneyChangeDao.insert(memberAccountRecord);
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
@@ -203,15 +203,15 @@
                order.setOrderNo(generateSimpleSerialno(memberId.toString()));
                order.setOrderType(type);
                order.setSymbol(symbol);
                order.setMarkPrice(nowPrice.setScale(4, BigDecimal.ROUND_DOWN));
                order.setEntrustCnt(amount.setScale(4, BigDecimal.ROUND_DOWN));
                order.setEntrustPrice(price.setScale(4, BigDecimal.ROUND_DOWN));
                order.setDealCnt(amount.setScale(4, BigDecimal.ROUND_DOWN));
                order.setDealPrice(price.setScale(4, BigDecimal.ROUND_DOWN));
                order.setDealAmount(totalPayPrice.setScale(4, BigDecimal.ROUND_DOWN));
                order.setMarkPrice(nowPrice);
                order.setEntrustCnt(amount);
                order.setEntrustPrice(price);
                order.setDealCnt(amount);
                order.setDealPrice(price);
                order.setDealAmount(totalPayPrice);
                order.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DODING);
                order.setTradeType(tradeType);
                order.setFeeAmount(closingPrice.setScale(4, BigDecimal.ROUND_DOWN));
                order.setFeeAmount(closingPrice);
                orderCoinsDao.insert(order);
                
                //更新用户钱包信息
@@ -220,15 +220,15 @@
                    //如果是买入,所对应的币种增加,USDT账户减少金额
                    BigDecimal availableBalance = walletCoinUsdt.getAvailableBalance().subtract(totalPayPrice);
                    BigDecimal frozenBalance = walletCoinUsdt.getFrozenBalance().add(totalPayPrice);
                    walletCoinUsdt.setAvailableBalance(availableBalance.setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoinUsdt.setFrozenBalance(frozenBalance.setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoinUsdt.setAvailableBalance(availableBalance);
                    walletCoinUsdt.setFrozenBalance(frozenBalance);
                    memberWalletCoinDao.updateById(walletCoinUsdt);
                }else {
                    //如果是卖出,币种减少,USDT增加
                    BigDecimal availableBalance = walletCoin.getAvailableBalance().subtract(amount);
                    BigDecimal frozenBalance = walletCoin.getFrozenBalance().add(amount);
                    walletCoin.setAvailableBalance(availableBalance.setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoin.setFrozenBalance(frozenBalance.setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoin.setAvailableBalance(availableBalance);
                    walletCoin.setFrozenBalance(frozenBalance);
                    memberWalletCoinDao.updateById(walletCoin);
                } 
            } else {
@@ -237,15 +237,15 @@
                order.setOrderNo(generateSimpleSerialno(memberId.toString()));
                order.setOrderType(type);
                order.setSymbol(symbol);
                order.setMarkPrice(nowPrice.setScale(4, BigDecimal.ROUND_DOWN));
                order.setEntrustCnt(amount.setScale(4, BigDecimal.ROUND_DOWN));
                order.setEntrustPrice(price.setScale(4, BigDecimal.ROUND_DOWN));
                order.setDealCnt(amount.setScale(4, BigDecimal.ROUND_DOWN));
                order.setDealPrice(price.setScale(4, BigDecimal.ROUND_DOWN));
                order.setDealAmount(totalPayPrice.setScale(4, BigDecimal.ROUND_DOWN));
                order.setMarkPrice(nowPrice);
                order.setEntrustCnt(amount);
                order.setEntrustPrice(price);
                order.setDealCnt(amount);
                order.setDealPrice(price);
                order.setDealAmount(totalPayPrice);
                order.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE);
                order.setTradeType(tradeType);
                order.setFeeAmount(closingPrice.setScale(4, BigDecimal.ROUND_DOWN));
                order.setFeeAmount(closingPrice);
                orderCoinsDao.insert(order);
                
                OrderCoinsDealEntity detail = new OrderCoinsDealEntity();
@@ -255,29 +255,29 @@
                detail.setOrderType(type);
                detail.setTradeType(tradeType);
                detail.setSymbol(symbol);
                detail.setSymbolCnt(amount.setScale(4, BigDecimal.ROUND_DOWN));
                detail.setEntrustPrice(price.setScale(4, BigDecimal.ROUND_DOWN));
                detail.setDealPrice(price.setScale(4, BigDecimal.ROUND_DOWN));
                detail.setDealAmount(totalPayPrice.setScale(4, BigDecimal.ROUND_DOWN));
                detail.setFeeAmount(closingPrice.setScale(4, BigDecimal.ROUND_DOWN));
                detail.setSymbolCnt(amount);
                detail.setEntrustPrice(price);
                detail.setDealPrice(price);
                detail.setDealAmount(totalPayPrice);
                detail.setFeeAmount(closingPrice);
                detail.setOrderStatus(OrderCoinsDealEntity.ORDERSTATUS_DONE);
                orderCoinDealDao.insert(detail);
                
                if(OrderCoinsEntity.ORDERTYPE_BUY.equals(type)) {
                    //如果是买入,所对应的币种增加,USDT账户减少金额
                    // 更新用户的可用金额
                    walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(amount).setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(amount));
                    memberWalletCoinDao.updateById(walletCoin);
                    
                    walletCoinUsdt.setAvailableBalance(walletCoinUsdt.getAvailableBalance().subtract(totalPayPrice).setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoinUsdt.setAvailableBalance(walletCoinUsdt.getAvailableBalance().subtract(totalPayPrice));
                    memberWalletCoinDao.updateById(walletCoinUsdt);
                }else {
                    //如果是卖出,币种减少,USDT增加
                    walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().subtract(amount).setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().subtract(amount));
                    memberWalletCoinDao.updateById(walletCoin);
                    
                    BigDecimal subtract = totalPayPrice.subtract(closingPrice).subtract(closingPrice);
                    walletCoinUsdt.setAvailableBalance(walletCoinUsdt.getAvailableBalance().add(subtract).setScale(4, BigDecimal.ROUND_DOWN));
                    walletCoinUsdt.setAvailableBalance(walletCoinUsdt.getAvailableBalance().add(subtract));
                    memberWalletCoinDao.updateById(walletCoinUsdt);
                }
            }
@@ -287,14 +287,14 @@
            if (OrderCoinsEntity.ORDERTYPE_BUY.equals(type)) {
                record.setPrice(totalPayPrice.setScale(4, BigDecimal.ROUND_DOWN));
                record.setSource(MemberAccountFlowEntity.SOURCE_BUY+symbol);
                record.setRemark(MemberAccountFlowEntity.REMARK_BUY+symbol+":"+amount.setScale(4, BigDecimal.ROUND_DOWN));
                record.setRemark(MemberAccountFlowEntity.REMARK_BUY+symbol+":"+amount);
            } else {
                record.setPrice(totalPayPrice.negate().setScale(4, BigDecimal.ROUND_DOWN));
                record.setSource(MemberAccountFlowEntity.SOURCE_SALE+symbol);
                record.setRemark(MemberAccountFlowEntity.REMARK_SALE+symbol+":"+amount.setScale(4, BigDecimal.ROUND_DOWN));
                record.setRemark(MemberAccountFlowEntity.REMARK_SALE+symbol+":"+amount);
            }
            record.setSymbol(symbol);
            record.setBalance(walletCoinUsdt.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN));
            record.setBalance(walletCoinUsdt.getAvailableBalance());
            
            memberAccountFlowEntityDao.insert(record);
            
@@ -343,10 +343,10 @@
                    detail.setSymbol(symbol);
                    detail.setOrderStatus(OrderCoinsDealEntity.ORDERSTATUS_CANCEL);
                    detail.setSymbolCnt(orderCoinsEntity.getEntrustCnt());
                    detail.setEntrustPrice(orderCoinsEntity.getEntrustPrice().setScale(4, BigDecimal.ROUND_DOWN));
                    detail.setDealPrice(orderCoinsEntity.getDealPrice().setScale(4, BigDecimal.ROUND_DOWN));
                    detail.setDealAmount(orderCoinsEntity.getDealAmount().setScale(4, BigDecimal.ROUND_DOWN));
                    detail.setFeeAmount(orderCoinsEntity.getFeeAmount().setScale(4, BigDecimal.ROUND_DOWN));
                    detail.setEntrustPrice(orderCoinsEntity.getEntrustPrice());
                    detail.setDealPrice(orderCoinsEntity.getDealPrice());
                    detail.setDealAmount(orderCoinsEntity.getDealAmount());
                    detail.setFeeAmount(orderCoinsEntity.getFeeAmount());
                    orderCoinDealDao.insert(detail);
                    
                    if(OrderCoinsEntity.ORDERTYPE_BUY.equals(orderCoinsEntity.getOrderType())) {
@@ -359,14 +359,14 @@
                            //返还金额=开仓价*未成交数量+手续费
                            BigDecimal returnBalance = orderCoinsEntity.getDealAmount();
                            
                            walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(returnBalance));
                            walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance));
                            memberWalletCoinDao.updateById(walletCoin);
                            // 流水记录
                            MemberAccountFlowEntity record = new MemberAccountFlowEntity();
                            record.setSource(MemberAccountFlowEntity.SOURCE_CANCEL);
                            record.setRemark(MemberAccountFlowEntity.REMARK_CANCEL+symbol+MemberAccountFlowEntity.REMARK_RETURNBALANCE+returnBalance);
                            record.setBalance(walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN));
                            record.setBalance(walletCoin.getAvailableBalance());
                            record.setMemberId(memberId);
                            record.setSymbol(symbol);
                            record.setPrice(returnBalance);
@@ -379,17 +379,17 @@
                        if (ObjectUtil.isNotEmpty(walletCoin)) {
                            
                            BigDecimal returnBalance = orderCoinsEntity.getEntrustCnt();
                            walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(returnBalance));
                            walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance));
                            memberWalletCoinDao.updateById(walletCoin);
                            // 流水记录
                            MemberAccountFlowEntity record = new MemberAccountFlowEntity();
                            record.setSource(MemberAccountFlowEntity.SOURCE_CANCEL);
                            record.setRemark(MemberAccountFlowEntity.REMARK_CANCEL+symbol+MemberAccountFlowEntity.REMARK_RETURNBALANCE+returnBalance);
                            record.setBalance(walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN));
                            record.setBalance(walletCoin.getAvailableBalance());
                            record.setMemberId(memberId);
                            record.setSymbol(symbol);
                            record.setPrice(walletCoin.getFrozenBalance().setScale(4, BigDecimal.ROUND_DOWN));
                            record.setPrice(walletCoin.getFrozenBalance());
                            memberAccountFlowEntityDao.insert(record);
                            return Result.ok(MessageSourceUtils.getString("order_service_0013"));
                        }
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -827,8 +827,8 @@
                            //新增提币记录
                            MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity();
                            memberCoinWithdrawEntity.setAddress(memberSubmitCoinApplyDto.getAddress());
                            memberCoinWithdrawEntity.setAmount(coinNumber.setScale(4, BigDecimal.ROUND_DOWN));
                            memberCoinWithdrawEntity.setFeeAmount(memberSubmitCoinApplyDto.getFeeAmount().setScale(4, BigDecimal.ROUND_DOWN));
                            memberCoinWithdrawEntity.setAmount(coinNumber);
                            memberCoinWithdrawEntity.setFeeAmount(memberSubmitCoinApplyDto.getFeeAmount());
                            memberCoinWithdrawEntity.setSymbol(memberSubmitCoinApplyDto.getSymbol());
                            memberCoinWithdrawEntity.setMemberId(memberId);
                            memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
@@ -844,9 +844,9 @@
                            }
                            memberCoinWithdrawDao.insert(memberCoinWithdrawEntity);
                            BigDecimal subtract = walletCoin.getAvailableBalance().subtract(coinNumber);
                            walletCoin.setAvailableBalance(subtract.setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setAvailableBalance(subtract);
                            BigDecimal add = walletCoin.getFrozenBalance().add(coinNumber);
                            walletCoin.setFrozenBalance(add.setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setFrozenBalance(add);
                            memberWalletCoinDao.updateById(walletCoin);
                            
                            MemberAccountMoneyChange accountRecord = new MemberAccountMoneyChange();