From ea06e68fdccef91e180449286e912277800e3d51 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Mon, 04 Jan 2021 23:12:26 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java
index e21dc6b..47010f0 100644
--- a/src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java
@@ -6,7 +6,10 @@
import javax.annotation.Resource;
import com.xcong.excoin.modules.blackchain.service.*;
+import com.xcong.excoin.modules.coin.dao.TrcAddressDao;
+import com.xcong.excoin.modules.coin.entity.TrcAddressEntity;
import com.xcong.excoin.rabbit.producer.UsdtUpdateProducer;
+import com.xcong.excoin.utils.TRC20ApiUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -30,6 +33,8 @@
MemberDao memberDao;
@Resource
MemberCoinAddressDao memberMapper;
+ @Resource
+ private TrcAddressDao trcAddressDao;
@Resource
private UsdtUpdateProducer usdtUpdateProducer;
@@ -50,6 +55,33 @@
if ("USDT".equals(symbol)) {
memberCoinAddress = memberMapper.selectBlockAddressWithTag(Long.parseLong(mId), symbol, lable);
+
+ TrcAddressEntity srcAddressEntity = trcAddressDao.selectSrcAddressByMemberId(member.getId());
+ if (srcAddressEntity != null) {
+ map.put("trc20_address", srcAddressEntity.getAddress());
+ map.put("trc20_label", "TRC20");
+ } else {
+ // 分布式redis锁
+ for (;;) {
+ boolean flag = redisUtil.setNotExist("LOCK_TRC20", 1, 5);
+ log.info("是否存在:{}", flag);
+ if (!flag) {
+ continue;
+ }
+
+ TrcAddressEntity address = trcAddressDao.selectOneSrcAddressUnUse();
+ address.setMemberId(member.getId());
+ address.setIsUse(1);
+ address.setSystemFlag(1);
+
+ TRC20ApiUtils.createWallet(member.getId(), member.getInviteId(), "USDT", address.getAddress());
+ trcAddressDao.updateById(address);
+
+ map.put("trc20_address", address.getAddress());
+ map.put("trc20_label", "TRC20");
+ break;
+ }
+ }
} else {
memberCoinAddress = memberMapper.selectBlockAddress(Long.parseLong(mId), symbol);
}
@@ -186,7 +218,7 @@
usdtUpdateProducer.sendAddressMsg(address);
}
break;
- case "ROC":
+ case "RFNC":
address = RocService.createWallet();
map.put("address", address);
break;
--
Gitblit v1.9.1