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