| | |
| | | public void compile(EthUsdtContract.TransferEventResponse e) { |
| | | int decimals = ChainService.getInstance(ChainEnum.BSC_TFC.name()).decimals(); |
| | | if (e.to != null) { |
| | | // 合约创建时,同时创建地址 |
| | | if ("0x0000000000000000000000000000000000000000".equals(e.from)) { |
| | | DappMemberEntity toMember = dappMemberDao.selectByAddress(e.to, null); |
| | | if (toMember == null) { |
| | | toMember = dappMemberService.insertMember(e.to, "0"); |
| | | } |
| | | return; |
| | | } |
| | | |
| | | DappMemberEntity fromMember = dappMemberService.findByAddress(e.from, null); |
| | | if (fromMember == null) { |
| | | fromMember = dappMemberService.insertMember(e.from, null); |
| | | DappMemberEntity sourceAddress = dappMemberDao.selectByAddress(ChainEnum.BSC_TFC.getAddress(), null); |
| | | fromMember = dappMemberService.insertMember(e.from, sourceAddress.getInviteId()); |
| | | } |
| | | |
| | | // 如果转账对象地址不为源池地址,则创建用户 |
| | |
| | | BigDecimal amount = BigDecimal.valueOf(tokens.intValue()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN); |
| | | DappFundFlowEntity fundFlow = dappFundFlowDao.selectByFromHash(e.log.getTransactionHash(), 1); |
| | | |
| | | // TODO price |
| | | BigDecimal newPrice = BigDecimal.valueOf(1); |
| | | |
| | | BigDecimal newPrice = fundFlow.getNewestPrice(); |
| | | BigDecimal transferAmount = amount.multiply(newPrice); |
| | | fundFlow.setNewestPrice(newPrice); |
| | | // 更改状态为已同步 |
| | | fundFlow.setStatus(2); |
| | | fundFlow.setTargetAmount(transferAmount); |