From 8d053c03d0738efabc33183c1db20e05ced5cfb0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 25 Nov 2021 16:01:23 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 43 insertions(+), 6 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 33c2c20..e30f480 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
@@ -1,12 +1,16 @@
package com.xcong.excoin.modules.blackchain.service.Impl;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
+import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.modules.blackchain.service.*;
+import com.xcong.excoin.rabbit.producer.UsdtUpdateProducer;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
@@ -30,15 +34,21 @@
@Resource
MemberCoinAddressDao memberMapper;
+ @Resource
+ private UsdtUpdateProducer usdtUpdateProducer;
+
@Override
- public Result findBlockAddress(String symbol) {
+ public Result findBlockAddress(String symbol, String lable) {
//获取用户ID
String mId = LoginUserUtils.getAppLoginUser().getId().toString();
MemberEntity member = memberDao.selectById(mId);
if (member == null) {
return Result.fail(MessageSourceUtils.getString("member_service_0003"));
}
- String lable = "ERC20";
+ if(StringUtils.isBlank(lable)){
+ //lable = "ERC20";
+ lable = "TRC20";
+ }
Result result = new Result();
try {
Map<String, String> map = new HashMap<String, String>();
@@ -157,7 +167,7 @@
memberMapper.insert(coinAddress);
}
- } else {
+ } else if ("ERC20".equals(lable)) {
MemberCoinAddressEntity ethAddress2 = memberMapper.selectBlockAddress(Long.parseLong(mId), "ETH");
if (ethAddress2 != null) {
address = ethAddress2.getAddress();
@@ -178,14 +188,41 @@
coinAddress.setLabel(uuid);
memberMapper.insert(coinAddress);
}
- if(!UsdtErc20UpdateService.ALL_ADDRESS_LIST.contains(address)){
- UsdtErc20UpdateService.ALL_ADDRESS_LIST.add(address);
+ // 发送新增的地址到监听集合
+ usdtUpdateProducer.sendAddressMsg(address+","+"ERC20");
+ } else if ("TRC20".equals(lable)) {
+ MemberCoinAddressEntity coinAddress = memberMapper.selectBlockAddress(Long.parseLong(mId), CoinTypeEnum.XCT.name());
+ if (coinAddress != null) {
+ address = coinAddress.getAddress();
+ key = coinAddress.getPrivateKey();
+ } else {
+ Map<String, String> usdtMap = Trc20Service.createAddress();
+ address = usdtMap.get("address");
+ key = usdtMap.get("privateKey");
+ map.put("address", address);
+ // 发送新增的地址到监听集合
+ usdtUpdateProducer.sendAddressMsg(address+","+"TRC20");
}
}
break;
case "ROC":
address = RocService.createWallet();
map.put("address", address);
+ break;
+ case "XCT" :
+ MemberCoinAddressEntity trc20Usdt = memberMapper.selectBlockAddressWithTag(Long.parseLong(mId), CoinTypeEnum.USDT.name(), "TRC20");
+ if (trc20Usdt != null) {
+ address = trc20Usdt.getAddress();
+ key = trc20Usdt.getPrivateKey();
+ map.put("address", address);
+ } else {
+ Map<String, String> usdtMap = Trc20Service.createAddress();
+ address = usdtMap.get("address");
+ key = usdtMap.get("privateKey");
+ map.put("address", address);
+ // 发送新增的地址到监听集合
+ usdtUpdateProducer.sendAddressMsg(address+","+"TRC20");
+ }
break;
default:
break;
@@ -197,7 +234,7 @@
coinAddress.setPrivateKey(key);
coinAddress.setSymbol(symbol);
coinAddress.setLabel(uuid);
- if (symbol.equals("USDT")) {
+ if (symbol.equals("USDT") || "XCT".equals(symbol)) {
coinAddress.setTag(lable);
}
--
Gitblit v1.9.1