fix
Helius
2022-08-12 3abd19e8cfddd6d7fbfaae331d5b750f55c34794
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -370,7 +370,6 @@
        HashMap<String, BigDecimal> map = new HashMap<>();
        map.put("x", x);
        map.put("y", y);
        map.put("nft", AppContants.NFT_ACTIVE_PRICE);
        return map;
    }
@@ -412,11 +411,10 @@
        nftActivation.setCount(box.getIndex());
        nftActivation.setOpenTime(time);
        nftActivation.setExpireTime(expire);
        nftActivation.setStatus(1);
        dappNftActivationDao.insert(nftActivation);
        ActiveNftListVo nft = new ActiveNftListVo();
        nft.setStatus(3);
        nft.setCount(box.getIndex());
        nft.setId(nftActivation.getId());
        nft.setRemain(DateUtil.between(time, expire, DateUnit.SECOND));
@@ -437,16 +435,26 @@
            throw new FebsException("NFT不足或者正在激活中");
        }
        if (DateUtil.between(new Date(), nftActive.getExpireTime(), DateUnit.SECOND) < 0) {
            throw new FebsException("NFT已过期");
        }
        if (nftActive.getStatus() != 1) {
            throw new FebsException(MessageSourceUtils.getString("nft_active_001"));
        }
        DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), new BigDecimal(activeDto.getCount()), 8, 1, BigDecimal.ZERO, activeDto.getTxHash());
        fundFlow.setNewestPrice(AppContants.NFT_ACTIVE_PRICE);
        fundFlow.setNewestPrice(AppContants.NFT_ACTIVE_PRICE.multiply(BigDecimal.valueOf(nftActive.getCount())));
        dappFundFlowDao.insert(fundFlow);
        nftActive.setCount(nftActive.getCount() - activeDto.getCount());
        int count = nftActive.getCount() - activeDto.getCount();
        if (count == 0) {
            nftActive.setStatus(3);
        }
        nftActive.setCount(count);
        nftActive.setHash(activeDto.getTxHash());
        dappNftActivationDao.updateById(nftActive);
    }
@@ -458,6 +466,7 @@
        UpdateWrapper<DappNftActivation> query = new UpdateWrapper<>();
        query.eq("status", 1);
        query.eq("member_id", member.getId());
        query.ge("expire_time", new Date());
        List<DappNftActivation> nftActivations = dappNftActivationDao.selectList(query);
        if (CollUtil.isEmpty(nftActivations)) {
@@ -468,8 +477,8 @@
        nftActivations.forEach(nft -> {
            ActiveNftListVo nftVo = new ActiveNftListVo();
            nftVo.setId(nft.getId());
            nftVo.setRemain(DateUtil.between(nft.getOpenTime(), now, DateUnit.SECOND, false));
            nftVo.setRemain(DateUtil.between(now, nft.getExpireTime(), DateUnit.SECOND, false));
            nftVo.setCount(nft.getCount());
            list.add(nftVo);
        });