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