| | |
| | | String address = dto.getAddress(); |
| | | BigDecimal amount = dto.getBalance(); |
| | | String hash = dto.getHash(); |
| | | String symbol; |
| | | |
| | | if (StrUtil.isBlank(dto.getSymbol())) { |
| | | log.error("更新trc20失败:{}, {}, {}, {}", hash, dto.getSymbol(), amount, address); |
| | | return; |
| | | } |
| | | |
| | | List<String> symbolArr = StrUtil.split(dto.getSymbol(), '_'); |
| | | if (CollUtil.isEmpty(symbolArr) || symbolArr.size() != 2) { |
| | | log.error("更新trc20失败:{}, {}, {}, {}", hash, dto.getSymbol(), amount, address); |
| | | return; |
| | | } |
| | | symbol = symbolArr.get(0); |
| | | |
| | | // 判断有无 |
| | | //List<MemberCoinAddressEntity> addressList = memberCoinAddressDao.selectAllBlockAddressBySymbolAndTag(CoinTypeEnum.USDT.name(), "TRC20"); |
| | | Map<String, Object> hashParam = new HashMap<>(); |
| | | // 校验hash是否已同步过 |
| | | hashParam.put("hash", hash); |
| | | hashParam.put("symbol", symbol); |
| | | List<MemberCoinChargeEntity> memberCoinChargeEntities = memberCoinChargeDao.selectByMap(hashParam); |
| | | if (CollectionUtils.isNotEmpty(memberCoinChargeEntities)) { |
| | | // 若已同步过 |
| | |
| | | } |
| | | // 添加钱包余额 |
| | | // 用户ID |
| | | MemberCoinAddressEntity memberCoinAddress = memberCoinAddressDao.selectCoinAddressByAddressAndSymbolTag(address, CoinTypeEnum.USDT.name(),"TRC20"); |
| | | MemberCoinAddressEntity memberCoinAddress = memberCoinAddressDao.selectCoinAddressByAddressAndSymbolTag(address, symbol,"TRC20"); |
| | | if (memberCoinAddress == null) { |
| | | return; |
| | | } |
| | | Long memberId = memberCoinAddress.getMemberId(); |
| | | // 查询钱包 并更新 |
| | | MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.USDT.name()); |
| | | MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol); |
| | | memberWalletCoinDao.updateBlockBalance(memberWalletCoinEntity.getId(), amount, BigDecimal.ZERO, 0); |
| | | // 添加冲币记录 |
| | | String orderNo = insertCoinCharge(address, memberId, amount, CoinTypeEnum.USDT.name(), "TRC20", BigDecimal.ZERO, hash); |
| | | String orderNo = insertCoinCharge(address, memberId, amount, symbol, "TRC20", BigDecimal.ZERO, hash); |
| | | // LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", amount, CoinTypeEnum.USDT.name(), 1, 1); |
| | | |
| | | ThreadPoolUtils.sendDingTalk(5); |
| | |
| | | } |
| | | Long memberId = memberCoinAddress.getMemberId(); |
| | | // 查询钱包 并更新 |
| | | MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.BZZ.name()); |
| | | MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.XCC.name()); |
| | | if (walletCoinEntity == null) { |
| | | // 创建一个钱包 |
| | | // 创建这个钱包 |
| | |
| | | |
| | | memberWalletCoinDao.updateBlockBalance(walletCoinEntity.getId(), balance, BigDecimal.ZERO, 0); |
| | | |
| | | String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.BZZ.name(), "", BigDecimal.ZERO, null); |
| | | String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.XCC.name(), "", BigDecimal.ZERO, null); |
| | | // 插入财务记录 |
| | | LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.BZZ.name(), 1, 1); |
| | | LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.XCC.name(), 1, 1); |
| | | |
| | | try { |
| | | ThreadPoolUtils.sendDingTalk(5); |
| | | MemberEntity member = memberDao.selectById(memberId); |
| | | if (StrUtil.isNotBlank(member.getPhone())) { |
| | | String amount = balance.toPlainString() + "BZZ"; |
| | | String amount = balance.toPlainString() + "XCC"; |
| | | Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo); |
| | | } else { |
| | | SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo); |