From 1b44a9a25a51324dba8e8640cb405440f2cf7d48 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 13 May 2021 11:21:32 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java | 52 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java index daa9063..a195a60 100644 --- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java @@ -51,31 +51,41 @@ if (CollUtil.isNotEmpty(orders)) { for (YdOrderEntity order : orders) { - MemberEntity memberEntity = memberDao.selectById(order.getMemberId()); - List<String> inviteIds = StrUtil.split(memberEntity.getRefererIds(), ','); - List<MemberEntity> agents = memberDao.selectYdParentAgent(inviteIds); - - if (CollUtil.isNotEmpty(agents)) { - Map<Long, BigDecimal> returnRatio = buildReturnRatioObj(agents, 1); - - for (Map.Entry<Long, BigDecimal> entry : returnRatio.entrySet()) { - String conent = "USDT返利"; - BigDecimal amount = order.getAmount().multiply(entry.getValue()); - LogRecordUtils.insertMemberAccountMoneyChangeWithId(entry.getKey(), conent, amount, "USDT", 1, 6, order.getId()); - MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(entry.getKey(), "USDT"); - - memberWalletCoinDao.updateBlockBalance(walletCoin.getId(), amount, BigDecimal.ZERO, 0); - } - - YdOrderEntity updateOrder = new YdOrderEntity(); - updateOrder.setReturnState(2); - updateOrder.setId(order.getId()); - ydOrderDao.updateById(updateOrder); - } + usdtProfitDistributor(order); } } } + @Override + public void usdtProfitDistributorByOrderId(Long id) { + YdOrderEntity ydOrderEntity = ydOrderDao.selectById(id); + usdtProfitDistributor(ydOrderEntity); + } + + private void usdtProfitDistributor(YdOrderEntity order) { + MemberEntity memberEntity = memberDao.selectById(order.getMemberId()); + List<String> inviteIds = StrUtil.split(memberEntity.getRefererIds(), ','); + List<MemberEntity> agents = memberDao.selectYdParentAgent(inviteIds); + + if (CollUtil.isNotEmpty(agents)) { + Map<Long, BigDecimal> returnRatio = buildReturnRatioObj(agents, 1); + + for (Map.Entry<Long, BigDecimal> entry : returnRatio.entrySet()) { + String conent = "USDT返利"; + BigDecimal amount = order.getAmount().multiply(entry.getValue()); + LogRecordUtils.insertMemberAccountMoneyChangeWithId(entry.getKey(), conent, amount, "USDT", 1, 6, order.getId()); + MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(entry.getKey(), "USDT"); + + memberWalletCoinDao.updateBlockBalance(walletCoin.getId(), amount, BigDecimal.ZERO, 0); + } + + YdOrderEntity updateOrder = new YdOrderEntity(); + updateOrder.setReturnState(2); + updateOrder.setId(order.getId()); + ydOrderDao.updateById(updateOrder); + } + } + private Map<Long, BigDecimal> buildReturnRatioObj(List<MemberEntity> agents, int type) { Map<Long, BigDecimal> returnRatio = new HashMap<Long, BigDecimal>(); Long lastId = null; -- Gitblit v1.9.1