From 231c4a3b97fff265545e88931d230b97290a9832 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 03 Nov 2020 16:19:14 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 101 ++++++++++++++++++++++++++------------------------ 1 files changed, 52 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index e5bda2a..73aff17 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -11,24 +11,8 @@ import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.Sms106Send; import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto; -import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity; -import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; -import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity; -import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity; -import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity; -import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity; -import com.xcong.excoin.modules.member.entity.MemberEntity; -import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity; -import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; -import com.xcong.excoin.modules.member.mapper.AgentFriendRelationMapper; -import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper; -import com.xcong.excoin.modules.member.mapper.MemberAuthenticationMapper; -import com.xcong.excoin.modules.member.mapper.MemberCoinAddressMapper; -import com.xcong.excoin.modules.member.mapper.MemberCoinChargeMapper; -import com.xcong.excoin.modules.member.mapper.MemberCoinWithdrawMapper; -import com.xcong.excoin.modules.member.mapper.MemberMapper; -import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper; -import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; +import com.xcong.excoin.modules.member.entity.*; +import com.xcong.excoin.modules.member.mapper.*; import com.xcong.excoin.modules.member.service.EthService; import com.xcong.excoin.modules.member.service.IMemberService; import com.xcong.excoin.modules.member.service.RocService; @@ -85,6 +69,8 @@ private final MemberAuthenticationMapper memberAuthenticationMapper; private final AgentFriendRelationMapper agentFriendRelationMapper; + + private final TdFinancialReordDao tdFinancialReordDao; @Override public IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity, @@ -471,9 +457,9 @@ } // 转币 需要扣除手续费 amount = amount.subtract(selectById.getFeeAmount()); - if("ROC".equals(symbol) && !"Y".equals(selectById.getIsInside())){ + if("RFNC".equals(symbol) && !"Y".equals(selectById.getIsInside())){ // 如果是ROC 则自动转 - String transfer = RocService.transfer(amount, address, "ROC"); + String transfer = RocService.transfer(amount, address, "RFNC"); if(!"success".equals(transfer)){ FebsResponse febsResponse = new FebsResponse(); return febsResponse.fail().message(transfer); @@ -490,36 +476,53 @@ memberWalletCoinMapper.updateById(walletCoin); if ("Y".equals(selectById.getIsInside())) { - Map<String, Object> columnMap = new HashMap<>(); - columnMap.put("symbol", symbol); - columnMap.put("address", address); - // 如果是内部转账 则需要将币加到内部地址 - List<MemberCoinAddressEntity> selectByMap = memberCoinAddressMapper.selectByMap(columnMap); - if(selectByMap == null || selectByMap.isEmpty()) { - return new FebsResponse().fail().message("地址有误,请拒绝!"); + // 查询算力系统中是否存在该地址 + TdCoinWallet tdCoinWallet = memberWalletCoinMapper.selectTdCoinWalletByAddress(address, "USDT"); + if (tdCoinWallet != null) { + // 更新算力系统中用户钱包余额 + memberWalletCoinMapper.updateTdCoinWalletAvaliable(amount, address); + + TdFinancialReord tdFinancialReord = new TdFinancialReord(); + tdFinancialReord.setAmount(amount); + tdFinancialReord.setCreateTime(new Date()); + tdFinancialReord.setMemId(tdCoinWallet.getMemId()); + tdFinancialReord.setSymbol("USDT"); + tdFinancialReord.setTitle("USDT交易所转账"); + tdFinancialReord.setContent("USDT交易所转账"); + // 插入算力系统中财务记录 + tdFinancialReordDao.insert(tdFinancialReord); + } else { + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("symbol", symbol); + columnMap.put("address", address); + // 如果是内部转账 则需要将币加到内部地址 + List<MemberCoinAddressEntity> selectByMap = memberCoinAddressMapper.selectByMap(columnMap); + if (selectByMap == null || selectByMap.isEmpty()) { + return new FebsResponse().fail().message("地址有误,请拒绝!"); + } + Long aimMemberId = selectByMap.get(0).getMemberId(); + MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol); + + BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(amount); + BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(amount); + aimWalletCoin.setTotalBalance(addTotal); + aimWalletCoin.setAvailableBalance(addAvailable); + + memberWalletCoinMapper.updateById(aimWalletCoin); + + MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); + memberAccountMoneyChangeEntity.setContent("收款"); + memberAccountMoneyChangeEntity.setMemberId(aimMemberId); + memberAccountMoneyChangeEntity.setAmount(amount); + memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); + memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol()); + memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); + memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); + memberAccountMoneyChangeEntity.setCreateTime(new Date()); + memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); + memberAccountMoneyChangeEntity.setUpdateTime(new Date()); + memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); } - Long aimMemberId = selectByMap.get(0).getMemberId(); - MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol); - - BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(amount); - BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(amount); - aimWalletCoin.setTotalBalance(addTotal); - aimWalletCoin.setAvailableBalance(addAvailable); - - memberWalletCoinMapper.updateById(aimWalletCoin); - - MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); - memberAccountMoneyChangeEntity.setContent("收款"); - memberAccountMoneyChangeEntity.setMemberId(aimMemberId); - memberAccountMoneyChangeEntity.setAmount(amount); - memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); - memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol()); - memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); - memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); - memberAccountMoneyChangeEntity.setCreateTime(new Date()); - memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); - memberAccountMoneyChangeEntity.setUpdateTime(new Date()); - memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); } Map<String, Object> columnMaps = new HashMap<>(); -- Gitblit v1.9.1