From 0131654bead2f8a4a9f4824f56dd13708f828298 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 27 Mar 2024 15:58:05 +0800
Subject: [PATCH] 滑点

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   12 +++---
 src/test/java/cc/mrbird/febs/MemberTest.java                              |   64 +++++++++++--------------------
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |    4 +
 src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java                   |    2 
 src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java                        |    2 
 5 files changed, 34 insertions(+), 50 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 7ffb5d3..738b7b9 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -271,9 +271,9 @@
             if(CollUtil.isEmpty(downMembersList)){
                 continue;
             }
-
+            Set<Long> collect = downMembersList.stream().map(DappMemberEntity::getId).collect(Collectors.toSet());
             QueryWrapper<DappAchieve> queryWrapper = new QueryWrapper<>();
-            queryWrapper.in("member_id",downMembersList);
+            queryWrapper.in("member_id",collect);
             queryWrapper.eq("state",DappAchieve.STATUS_ING);
             List<DappAchieve> dappAchieveSumList = dappAchieveMapper.selectList(queryWrapper);
             //个人团队总业绩
@@ -285,8 +285,8 @@
             memberPerkMap.put(memberId,teamAchieveMemberSum);
         }
 
-        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal);
-        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(memberPerkTotal);
+        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
+        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
         Set<Long> set = memberPerkMap.keySet(); // 得到所有key的集合
         for (Long memberId : set) {
             //当前生效中的团队业绩
@@ -332,8 +332,8 @@
         BigDecimal multiplyDivideEveryCoin = divideEveryCoin.multiply(selfPercentMultiply);
         //当前生效中的质押总数
         BigDecimal amountMemberTotal = dappAchieves.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(amountMemberTotal);
-        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(amountMemberTotal);
+        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(amountMemberTotal,4,BigDecimal.ROUND_DOWN);
+        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(amountMemberTotal,4,BigDecimal.ROUND_DOWN);
 
         Map<Long, List<DappAchieve>> collect = dappAchieves.stream().collect(Collectors.groupingBy(DappAchieve::getMemberId));
         Set<Long> set = collect.keySet(); // 得到所有key的集合
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 5efb02c..60534a8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -236,10 +236,12 @@
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
         String hasStart = redisUtils.getString(DataDicEnum.SYSTEM_START_FLAG.getValue());
-        BigDecimal minAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MIN_AMOUNT.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal minAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MIN_AMOUNT.getValue()));
         BigDecimal maxAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MAX_AMOUNT.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
         BigDecimal gfaDays = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_DAYS.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
 
+        minAmount = minAmount.divide(transferDto.getPrice(),2,BigDecimal.ROUND_DOWN);
+        maxAmount = maxAmount.divide(transferDto.getPrice(),2,BigDecimal.ROUND_DOWN);;
         if (transferDto.getId() == null) {
             if (DappFundFlowEntity.TYPE_BUY == transferDto.getType()) {
                 //系统开始标识
diff --git a/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java b/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
index 3b84242..3f6b8e2 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
@@ -19,6 +19,6 @@
     public static final String QUEUE_GFA_ZY_TIME_TTL = "queue_gfa_zy_time_ttl";
 
     public static final String ONLINE_TRANSFER = "queue_online_transfer";
-    public static final String DISTRIB_PROFIT = "queue_distrib_profit";
+    public static final String DISTRIB_PROFIT = "queue_gfa_distrib_profit";
     public static final String USER_BUY_REWARD = "queue_user_buy_reward";
 }
diff --git a/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java b/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
index abfe1bc..fa803be 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
@@ -27,7 +27,7 @@
             QueueConstants.QUEUE_GFA_ZY_TIME_TTL),
 
     ONLINE_TRANSFER("exchange_online_transfer", "route_key_online_transfer", QueueConstants.ONLINE_TRANSFER),
-    DISTRIB_PROFIT("exchange_distrib_profit", "route_key_distrib_profit", QueueConstants.DISTRIB_PROFIT),
+    DISTRIB_PROFIT("exchange_gfa_distrib_profit", "route_key_gfa_distrib_profit", QueueConstants.DISTRIB_PROFIT),
     USER_BUY_REWARD("exchange_user_buy_reward", "route_key_user_buy_reward", QueueConstants.USER_BUY_REWARD);
 
     private String exchange;
diff --git a/src/test/java/cc/mrbird/febs/MemberTest.java b/src/test/java/cc/mrbird/febs/MemberTest.java
index 3319332..048c3a2 100644
--- a/src/test/java/cc/mrbird/febs/MemberTest.java
+++ b/src/test/java/cc/mrbird/febs/MemberTest.java
@@ -1,16 +1,22 @@
 package cc.mrbird.febs;
 
 import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.enumerates.DataDicEnum;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
 import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
 import cc.mrbird.febs.dapp.mapper.DappMemberDao;
 import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.dapp.service.DappSystemService;
+import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.util.StrUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.scheduling.annotation.Scheduled;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -21,51 +27,27 @@
 public class MemberTest {
 
     @Autowired
-    private DappMemberDao dappMemberDao;
+    private ChainProducer chainProducer;
+    @Autowired
+    private RedisUtils redisUtils;
 
     @Autowired
-    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private DappSystemService dappSystemService;
 
     @Test
-    public void refererIdsTest() {
-        DappMemberEntity member = dappMemberDao.selectById(24);
-
-        boolean flag = false;
-        String parentId = "35087336";
-        String ids = "";
-        String feeProfitIds = "";
-
-        int i = 1;
-        List<DataDictionaryCustom> feeProfitDic = dataDictionaryCustomMapper.selectDicByType(AppContants.DIC_TYPE_DISTRIBUTE_PROP);
-        while (!flag && StringUtils.isNotBlank(parentId)) {
-            if (StrUtil.isBlank(ids)) {
-                ids += parentId;
-            } else {
-                ids += ("," + parentId);
-            }
-
-            if (i <= 4) {
-                if (StrUtil.isBlank(feeProfitIds)) {
-                    feeProfitIds += parentId;
-                } else {
-                    feeProfitIds += ("," + parentId);
-                }
-            }
-
-            i++;
-            DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId);
-            if (parentMember == null) {
-                break;
-            }
-            parentId = parentMember.getRefererId();
-            if(StringUtils.isBlank(parentId) || "0".equals(parentId)){
-                break;
-            }
-            if (parentMember.getRefererId().equals(parentMember.getInviteId())) {
-                flag = true;
-            }
+    public void mineJob() {
+        BigDecimal usdtAmount = new BigDecimal(
+                redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue())
+        ).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal coinAmount = new BigDecimal(
+                redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_COIN_AMOUNT.getValue())
+        ).setScale(2,BigDecimal.ROUND_DOWN);
+        if(BigDecimal.ZERO.compareTo(usdtAmount) > 0){
+            return;
         }
-        member.setRefererIds(ids);
-        member.setFeeProfitIds(feeProfitIds);
+        if(BigDecimal.ZERO.compareTo(coinAmount) > 0){
+            return;
+        }
+//        dappSystemService.tradeProfitDistribute(1L);
     }
 }

--
Gitblit v1.9.1