fix
Helius
2022-06-14 2717135493bacd4347f563f002a2bafd0ca72b92
fix
1 files modified
43 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -236,11 +236,22 @@
                    throw new FebsException("超出24小时内可售量");
                }
                usdtRemain = usdtRemain.subtract(transferDto.getAmount().multiply(transferDto.getPrice()));
                saleCoinRemain = saleCoinRemain.subtract(transferDto.getAmount());
                // 修改当日U剩余量
                redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN, usdtRemain);
                // 修改用户24小时可售量
                redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), saleCoinRemain);
            } else if (DappFundFlowEntity.TYPE_BUY == transferDto.getType()) {
                if ("start".equals(hasStart)) {
                    if (transferDto.getAmount().compareTo(buyCoinRemain) > 0) {
                        throw new FebsException("超过当日可购买量");
                    }
                    buyCoinRemain = buyCoinRemain.subtract(transferDto.getAmount());
                    // 修改当日可购买量
                    redisUtils.set(AppContants.REDIS_KEY_TRANSFER_POOL_VOL_REMAIN, buyCoinRemain);
                    // 如果系统还没有启动,则判断铸池中的剩余量
                } else {
                    DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MAKER_MIN_LIMIT);
@@ -251,6 +262,10 @@
                    if (transferDto.getAmount().compareTo(makeCoinRemain) > 0) {
                        throw new FebsException("可购数量不足");
                    }
                    makeCoinRemain = makeCoinRemain.subtract(transferDto.getAmount());
                    // 修改铸池量
                    redisUtils.set(AppContants.REDIS_KEY_MAKE_POOL_CNT, makeCoinRemain);
                }
            }
@@ -265,33 +280,33 @@
            flow.setFromHash(transferDto.getTxHash());
            dappFundFlowDao.updateById(flow);
            if (DappFundFlowEntity.TYPE_SALE == transferDto.getType()) {
                usdtRemain = usdtRemain.subtract(flow.getAmount().multiply(flow.getNewestPrice()));
                saleCoinRemain = saleCoinRemain.subtract(flow.getAmount());
                // 修改当日U剩余量
                redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN, usdtRemain);
                // 修改用户24小时可售量
                redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), saleCoinRemain);
            } else if (DappFundFlowEntity.TYPE_BUY == transferDto.getType()) {
        } else {
            DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
            if (flow.getStatus() == 1) {
                if (DappFundFlowEntity.TYPE_BUY == flow.getType()) {
                if ("start".equals(hasStart)) {
                    buyCoinRemain = buyCoinRemain.subtract(flow.getAmount());
                        buyCoinRemain = buyCoinRemain.add(flow.getAmount());
                    // 修改当日可购买量
                    redisUtils.set(AppContants.REDIS_KEY_TRANSFER_POOL_VOL_REMAIN, buyCoinRemain);
                } else {
                    makeCoinRemain = makeCoinRemain.subtract(flow.getAmount());
                        makeCoinRemain = makeCoinRemain.add(flow.getAmount());
                    // 修改铸池量
                    redisUtils.set(AppContants.REDIS_KEY_MAKE_POOL_CNT, makeCoinRemain);
                }
            } else {
                throw new FebsException("参数错误");
                    usdtRemain = usdtRemain.add(transferDto.getAmount().multiply(transferDto.getPrice()));
                    saleCoinRemain = saleCoinRemain.add(transferDto.getAmount());
                    // 修改当日U剩余量
                    redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN, usdtRemain);
                    // 修改用户24小时可售量
                    redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), saleCoinRemain);
            }
        } else {
            dappFundFlowDao.deleteById(transferDto.getId());
        }
        }
        return null;
    }