From 35d0c67bb3391d69a8333e5fad664a88a8ccfd0e Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 24 Nov 2021 18:00:40 +0800 Subject: [PATCH] 20211124 fish --- src/main/java/com/xcong/excoin/modules/blackchain/service/Impl/BlockSeriveImpl.java | 62 ++++++++++++++++++++++++------ 1 files changed, 49 insertions(+), 13 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 94ee137..ca6b7b3 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,22 +1,21 @@ 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; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.response.Result; -import com.xcong.excoin.modules.blackchain.service.BlockSerive; -import com.xcong.excoin.modules.blackchain.service.BtcService; -import com.xcong.excoin.modules.blackchain.service.EthService; -import com.xcong.excoin.modules.blackchain.service.LtcService; -import com.xcong.excoin.modules.blackchain.service.UsdtService; -import com.xcong.excoin.modules.blackchain.service.XrpService; import com.xcong.excoin.modules.member.dao.MemberCoinAddressDao; import com.xcong.excoin.modules.member.dao.MemberDao; import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity; @@ -35,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>(); @@ -105,9 +110,7 @@ map.put("lable", uuid); break; case "XRP": - JSONObject jSONObject = XrpService.createWallet(); - address = (String) jSONObject.get("xAddress"); - key = (String) jSONObject.get("secret"); + address = "biyicteos123"; map.put("address", address); map.put("lable", uuid); break; @@ -164,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(); @@ -185,6 +188,39 @@ coinAddress.setLabel(uuid); memberMapper.insert(coinAddress); } + // 发送新增的地址到监听集合 + 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(); + } 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: @@ -197,7 +233,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