From f5e6133809c553cfd9fb28ee61019927c547c374 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 08 Dec 2021 15:58:33 +0800 Subject: [PATCH] 20211208 fish --- src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java | 29 ++++++++++++++++++++++------- 1 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java index 0f00c1c..600145a 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java @@ -415,11 +415,26 @@ 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)) { // 若已同步过 @@ -427,16 +442,16 @@ } // 添加钱包余额 // 用户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); @@ -470,7 +485,7 @@ } Long memberId = memberCoinAddress.getMemberId(); // 查询钱包 并更新 - MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.BEA.name()); + MemberWalletCoinEntity walletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.XCC.name()); if (walletCoinEntity == null) { // 创建一个钱包 // 创建这个钱包 @@ -486,15 +501,15 @@ memberWalletCoinDao.updateBlockBalance(walletCoinEntity.getId(), balance, BigDecimal.ZERO, 0); - String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.BEA.name(), "", BigDecimal.ZERO, null); + String orderNo = insertCoinCharge(address, memberId, balance, CoinTypeEnum.XCC.name(), "", BigDecimal.ZERO, null); // 插入财务记录 - LogRecordUtils.insertMemberAccountMoneyChange(memberId, "转入", balance, CoinTypeEnum.BEA.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() + "BEA"; + 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); -- Gitblit v1.9.1