From 0a22a881f09abd830fd0c8c7cb094e3ea23796a5 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 29 Apr 2024 00:12:35 +0800
Subject: [PATCH] 测试环境新版
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++-------
1 files changed, 68 insertions(+), 15 deletions(-)
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 60534a8..6a7ee19 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
@@ -17,6 +17,7 @@
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
@@ -69,8 +70,9 @@
walletInfo.setTzCoin(tzCoin);
BigDecimal hdCoinGeren = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.HUA_DIAN_GEREN.getValue(),null);
- BigDecimal hdCoinTuandui = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.HUA_DIAN_TUANDUI.getValue(),null);
- walletInfo.setHdCoin(hdCoinGeren.add(hdCoinTuandui));
+ BigDecimal hdCoinTuandui = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getValue(),null);
+ BigDecimal hdCoinTuanduiUSDT = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getValue(),null);
+ walletInfo.setHdCoin(hdCoinGeren.add(hdCoinTuandui).add(hdCoinTuanduiUSDT));
BigDecimal zyTotal = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.ZHI_YA.getValue(),null).negate();
walletInfo.setZyTotal(zyTotal);
@@ -78,10 +80,10 @@
BigDecimal zyToday = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.ZHI_YA.getValue(), new Date()).negate();
walletInfo.setZyToday(zyToday);
- BigDecimal ccTotal = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.ZHIYA_CHA_CHU.getValue(),null).negate();
+ BigDecimal ccTotal = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.ZHIYA_CHA_CHU.getValue(),null);
walletInfo.setCcTotal(ccTotal);
- BigDecimal ccToday = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.ZHIYA_CHA_CHU.getValue(), new Date()).negate();
+ BigDecimal ccToday = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDate(member.getId(), FlowTypeEnum.ZHIYA_CHA_CHU.getValue(), new Date());
walletInfo.setCcToday(ccToday);
BigDecimal gfaDays = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_DAYS.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
@@ -165,6 +167,9 @@
if (recordInPageDto.getType() != null && recordInPageDto.getType() != 0) {
dappFundFlowEntity.setStatus(recordInPageDto.getType());
}
+ if (recordInPageDto.getState() != null && recordInPageDto.getState() != 0) {
+ dappFundFlowEntity.setType(recordInPageDto.getState());
+ }
dappFundFlowEntity.setMemberId(member.getId());
IPage<DappFundFlowEntity> records = dappFundFlowDao.selectInPages(page, dappFundFlowEntity);
return records.getRecords();
@@ -234,6 +239,30 @@
@Transactional(rollbackFor = Exception.class)
public Long transfer(TransferDto transferDto) {
DappMemberEntity member = LoginUserUtil.getAppUser();
+// QueryWrapper<DappFundFlowEntity> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("type" ,FlowTypeEnum.ZHI_YA.getValue());
+// objectQueryWrapper.eq("status" ,DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+// objectQueryWrapper.eq("member_id" ,member.getId());
+// List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectList(objectQueryWrapper);
+
+ List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDateAndState(
+ member.getId(),
+ FlowTypeEnum.ZHI_YA.getValue(),
+ DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+ new Date());
+ BigDecimal zhiyaAmount = new BigDecimal(redisUtils.getString(DataDicEnum.MEMBER_ZHIYA_AMOUNT.getValue()));
+
+ Integer zhiyaTime = Integer.parseInt(redisUtils.getString(DataDicEnum.MEMBER_ZHIYA_TIME.getValue()));
+ if(CollUtil.isNotEmpty(dappFundFlowEntities)){
+ if(dappFundFlowEntities.size() >= zhiyaTime){
+ throw new FebsException("今日暂停质押");
+ }
+ BigDecimal teamAchieveMemberSum = dappFundFlowEntities.stream().map(DappFundFlowEntity::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).negate();
+ if(zhiyaAmount.compareTo(teamAchieveMemberSum.add(transferDto.getAmount())) < 0){
+ throw new FebsException("今日最多质押"+zhiyaAmount.subtract(teamAchieveMemberSum).setScale(4,BigDecimal.ROUND_DOWN));
+ }
+ }
+
String hasStart = redisUtils.getString(DataDicEnum.SYSTEM_START_FLAG.getValue());
BigDecimal minAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MIN_AMOUNT.getValue()));
@@ -252,11 +281,11 @@
if (transferDto.getAmount().compareTo(minAmount) < 0) {
throw new FebsException("超过购买限制");
}
- if (BigDecimal.ZERO.compareTo(gfaDays) >= 0) {
- throw new FebsException("今日暂停质押");
- }
- if (transferDto.getAmount().compareTo(gfaDays) > 0) {
- throw new FebsException("今日最多质押"+gfaDays);
+// if (BigDecimal.ZERO.compareTo(gfaDays) >= 0) {
+// throw new FebsException("今日暂停质押");
+// }
+ if (transferDto.getAmount().compareTo(zhiyaAmount) > 0) {
+ throw new FebsException("今日最多质押"+zhiyaAmount);
}
} else {
throw new FebsException("暂停质押");
@@ -297,6 +326,7 @@
//新增一条用户质押记录
DappAchieve dappAchieve = new DappAchieve();
dappAchieve.setMemberId(memberId);
+ dappAchieve.setPrice(transferDto.getPrice());
dappAchieve.setAmount(amount);
BigDecimal achieveReleasePercent = new BigDecimal("0.01").multiply(
new BigDecimal(redisUtils.getString(DataDicEnum.GFA_ACHIEVE_RELEASE.getValue())).setScale(2,BigDecimal.ROUND_DOWN)
@@ -311,7 +341,7 @@
asyncCjService.insertTeamPerk(flow.getId(), dappAchieve.getId());
//发送一个延时队列消息。24小时之后产生第一次的质押产出
- chainProducer.sendZhiYaDelayMsg(dappAchieve.getId(), 24 * 60 * 60 * 1000L);
+// chainProducer.sendZhiYaDelayMsg(dappAchieve.getId(), 24 * 60 * 60 * 1000L);
} else {
dappFundFlowDao.deleteById(transferDto.getId());
}
@@ -327,7 +357,14 @@
@Override
public IPage<DappAchieve> dappAchieveInPage(DappAchieve dappAchieve, QueryRequest request) {
Page<DappAchieve> page = new Page<>(request.getPageNum(), request.getPageSize());
- return dappAchieveMapper.selectInPage(page, dappAchieve);
+ IPage<DappAchieve> dappAchieveIPage = dappAchieveMapper.selectInPage(page, dappAchieve);
+ List<DappAchieve> records = dappAchieveIPage.getRecords();
+ if(CollUtil.isNotEmpty(records)){
+ for(DappAchieve dappAchieve1 : records){
+ dappAchieve1.setUsdtAmount(dappAchieve1.getAmount().multiply(dappAchieve1.getPrice()).setScale(2,BigDecimal.ROUND_DOWN));
+ }
+ }
+ return dappAchieveIPage;
}
@Override
@@ -355,8 +392,11 @@
}
flowType = FlowTypeEnum.DAI_BI_OUT.getValue();
flowDes = FlowTypeEnum.DAI_BI_OUT.getDescrition();
+
+ dappMemberEntity.setBalance(balance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+ dappMemberDao.updateBalanceWithVersion(dappMemberEntity);
}else{
- if(new BigDecimal("100").compareTo(amount) > 0){
+ if(new BigDecimal("1").compareTo(amount) > 0){
throw new FebsException("最小数量为100");
}
if(usdtBalance.compareTo(amount) < 0){
@@ -364,6 +404,9 @@
}
flowType = FlowTypeEnum.USDT_OUT.getValue();
flowDes = FlowTypeEnum.USDT_OUT.getDescrition();
+
+ dappMemberEntity.setUsdtBalance(usdtBalance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+ dappMemberDao.updateUsdtBalanceWithVersion(dappMemberEntity);
}
DappFundFlowEntity fundFlowTuiJian = new DappFundFlowEntity(
@@ -376,10 +419,20 @@
dappMemberEntity.getAddress());
dappFundFlowDao.insert(fundFlowTuiJian);
- dappMemberEntity.setBalance(balance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
- dappMemberEntity.setUsdtBalance(usdtBalance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
- dappMemberDao.updateBalanceAndUsdtBalanceWithVersion(dappMemberEntity);
+// dappMemberEntity.setBalance(balance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+// dappMemberEntity.setUsdtBalance(usdtBalance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+// dappMemberDao.updateBalanceAndUsdtBalanceWithVersion(dappMemberEntity);
return new FebsResponse().success();
}
+
+ @Override
+ public List<DappMemberFund> memberFundList(RecordInPageDto recordInPageDto) {
+ DappMemberEntity member = LoginUserUtil.getAppUser();
+ Page<DappMemberFund> page = new Page<>(recordInPageDto.getPageNum(), recordInPageDto.getPageSize());
+ DappMemberFund dappMemberFund = new DappMemberFund();
+ dappMemberFund.setMemberId(member.getId());
+ IPage<DappMemberFund> records = dappFundFlowDao.memberFundList(page, dappMemberFund);
+ return records.getRecords();
+ }
}
--
Gitblit v1.9.1