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)){