fix
Helius
2022-06-07 22d018876ed1fa4e167e6b4823db1bfbd13d5579
fix
4 files modified
43 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/dto/ConnectDto.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/entity/DappMemberEntity.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/ConnectDto.java
@@ -20,4 +20,7 @@
    @ApiModelProperty(value = "签名", example = "123")
    private String sign;
    @ApiModelProperty(value = "邀请码", example = "12345678")
    private String inviteId;
}
src/main/java/cc/mrbird/febs/dapp/entity/DappMemberEntity.java
@@ -62,4 +62,9 @@
    private String accountType;
    private BigDecimal usdtBalance;
    /**
     * 激活状态 1-已激活 2-未激活
     */
    private Integer activeStatus;
}
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -75,17 +75,24 @@
                return;
            }
            DappMemberEntity fromMember = dappMemberService.findByAddress(e.from, null);
            if (fromMember == null) {
                DappMemberEntity sourceAddress = dappMemberDao.selectByAddress(ChainEnum.BSC_TFC.getAddress(), null);
                fromMember = dappMemberService.insertMember(e.from, sourceAddress.getInviteId());
            }
//            DappMemberEntity fromMember = dappMemberService.findByAddress(e.from, null);
//            if (fromMember == null) {
//                DappMemberEntity sourceAddress = dappMemberDao.selectByAddress(ChainEnum.BSC_TFC.getAddress(), null);
//                fromMember = dappMemberService.insertMember(e.from, sourceAddress.getInviteId());
//                return;
//            }
            // 如果转账对象地址不为源池地址,则创建用户
            // 如果转账对象地址不为源池地址,且对象地址在系统中存在并未激活,则激活用户
            if (!e.to.equals(ChainEnum.BSC_TFC_SOURCE.getAddress())) {
                DappMemberEntity toMember = dappMemberDao.selectByAddress(e.to, null);
                if (toMember == null) {
                    toMember = dappMemberService.insertMember(e.to, fromMember.getInviteId());
//                    toMember = dappMemberService.insertMember(e.to, fromMember.getInviteId());
                    return;
                }
                if (toMember.getActiveStatus() == 2) {
                    toMember.setActiveStatus(1);
                    dappMemberService.updateById(toMember);
                }
            }
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -124,7 +124,11 @@
        DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null);
        if (member == null) {
            member = insertMember(connectDto.getAddress(), "0");
            member = insertMember(connectDto.getAddress(), connectDto.getInviteId());
        }
        if (member.getActiveStatus() == 2) {
            throw new FebsException("账号暂未激活,请联系推荐人");
        }
        String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
@@ -268,6 +272,8 @@
        member.setAddress(address);
        member.setChainType(chainType);
        member.setAccountType(accountType);
        // 如果有推荐人,则需要推荐人转币后激活
        member.setActiveStatus(2);
        member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
        member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
@@ -283,6 +289,12 @@
        dappMemberDao.insert(member);
        if (StrUtil.isEmpty(refererId)) {
            refererId = "0";
            // 若没有推荐人,则直接激活
            member.setActiveStatus(1);
        }
        member.setInviteId(ShareCodeUtil.toSerialCode(member.getId()));
        member.setRefererId(refererId);
        if (StrUtil.isNotBlank(refererId)){