From e383851a3a7076b5ae2a96dfbea8b14e85863a56 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 08 Sep 2023 15:55:28 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 114 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 81 insertions(+), 33 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 86ef377..0b46568 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
@@ -1,44 +1,28 @@
package cc.mrbird.febs.dapp.service.impl;
-import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.exception.FebsException;
-import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.dapp.chain.ChainEnum;
-import cc.mrbird.febs.dapp.chain.ChainService;
-import cc.mrbird.febs.dapp.chain.ContractChainService;
import cc.mrbird.febs.dapp.dto.*;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.enumerate.*;
import cc.mrbird.febs.dapp.mapper.*;
import cc.mrbird.febs.dapp.service.DappWalletService;
-import cc.mrbird.febs.dapp.utils.BoxUtil;
import cc.mrbird.febs.dapp.vo.*;
-import cc.mrbird.febs.rabbit.producer.ChainProducer;
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateField;
-import cn.hutool.core.date.DateUnit;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import freemarker.template.utility.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.math.RoundingMode;
import java.util.*;
/**
@@ -57,17 +41,10 @@
private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
private final RedisUtils redisUtils;
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
- private final DappNftActivationDao dappNftActivationDao;
private final MemberCoinWithdrawDao memberCoinWithdrawDao;
- private final ChainProducer chainProducer;
- private final DappSystemDao dappSystemDao;
- private final DappSystemProfitDao dappSystemProfitDao;
-
- private final DappNodeOrderMapper dappNodeOrderMapper;
- private final DappMemberNodeMapper dappMemberNodeMapper;
private final DappChargeUsdtMapper dappChargeUsdtMapper;
- private final DappUsdtPerkEntityMapper dappUsdtPerkEntityMapper;
+ private final DappAKlineMapper dappAKlineMapper;
@Override
public List<DappFundFlowEntity> recordInPage(RecordInPageDto recordInPageDto) {
@@ -118,6 +95,10 @@
* A币卖币规则,卖出100%销毁,30%回流底池溢价
*/
DappMemberEntity member = LoginUserUtil.getAppUser();
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+ if(2 == dappMemberEntity.getChangeAble()){
+ throw new FebsException("账号已冻结");
+ }
DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
PoolEnum.SYSTEM.getType(),
@@ -141,25 +122,49 @@
DataDictionaryEnum.WITHDRAW_FEE.getCode()
);
BigDecimal withdrawFee = new BigDecimal(withdrawFeeDic.getValue());
+ //最小提现金额
+ DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+ DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()
+ );
+ BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+ if (minWithdraw.compareTo(withdrawDto.getAmount()) > 0) {
+ throw new FebsException("最小提现金额为"+minWithdraw);
+ }
+ //今日最大提现金额
+ DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+ DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()
+ );
+ BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+ BigDecimal withdrawToday = dappFundFlowDao.selectSumAmountByMemberIdAndType(member.getId(), FundFlowEnum.WITHDRAW_USDT.getCode());
+ withdrawToday = withdrawToday.add(withdrawDto.getAmount());
+ if (maxWithdraw.compareTo(withdrawToday) < 0) {
+ throw new FebsException("今日提现最多可申请"+maxWithdraw);
+ }
//手续费
BigDecimal feeAmount = amount.multiply(withdrawFee);
//减少余额
this.updateWalletCoinWithLock(amount, member.getId(), 2);
+
+ BigDecimal withdrawAmount = amount.divide(new BigDecimal(7),2,BigDecimal.ROUND_DOWN);
+ BigDecimal withdrawAmountFee = feeAmount.divide(new BigDecimal(7),2,BigDecimal.ROUND_DOWN);
+
//增加流水
DappFundFlowEntity dappFundFlowEntity = new DappFundFlowEntity(
AccountFlowEnum.AMOUNT.getCode(),
member.getId(),
- amount.negate(),
+ withdrawAmount.negate(),
FundFlowEnum.WITHDRAW_USDT.getCode(),
DappFundFlowEntity.WITHDRAW_STATUS_ING,
- feeAmount);
+ withdrawAmountFee);
dappFundFlowDao.insert(dappFundFlowEntity);
//增加提现的记录
MemberCoinWithdrawEntity memberCoinWithdraw = new MemberCoinWithdrawEntity();
memberCoinWithdraw.setMemberId(member.getId());
memberCoinWithdraw.setAddress(member.getAddress());
- memberCoinWithdraw.setAmount(amount.subtract(feeAmount));
- memberCoinWithdraw.setFeeAmount(feeAmount);
+ memberCoinWithdraw.setAmount(withdrawAmount.subtract(withdrawAmountFee));
+ memberCoinWithdraw.setFeeAmount(withdrawAmountFee);
memberCoinWithdraw.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
memberCoinWithdraw.setSymbol("USDT");
memberCoinWithdraw.setFlowId(dappFundFlowEntity.getId());
@@ -444,6 +449,10 @@
if ("upgrade".equals(upgrade)) {
throw new FebsException("功能升级中");
}
+ BigDecimal amountIn = transferAusdDto.getAmount();
+ if(BigDecimal.ZERO.compareTo(amountIn) >= 0){
+ throw new FebsException("请输入正确的金额");
+ }
/**
* 充值
@@ -467,7 +476,7 @@
//生成一条进行中的入金资金流水记录
DappFundFlowEntity fundFlow = new DappFundFlowEntity(
dappMemberEntity.getId(),
- transferAusdDto.getAmount(),
+ transferAusdDto.getAmount().multiply(new BigDecimal(7)),
type,
1,
transferAusdDto.getFee(),
@@ -492,7 +501,7 @@
/**
* 增加用户的余额
*/
- dappWalletCoinDao.addTotalAndaddAvailableByMemberId(member.getId(),amount);
+ dappWalletCoinDao.addTotalAndaddAvailableByMemberId(member.getId(),amount.multiply(new BigDecimal(7)));
DappChargeUsdtEntity dappChargeUsdtEntity = new DappChargeUsdtEntity();
dappChargeUsdtEntity.setMemberId(member.getId());
@@ -500,7 +509,7 @@
dappChargeUsdtEntity.setMemberHash(transferAusdDto.getTxHash());
dappChargeUsdtEntity.setStatus(2);
dappChargeUsdtEntity.setTotalCnt(amount);
- dappChargeUsdtEntity.setRealCnt(amount);
+ dappChargeUsdtEntity.setRealCnt(amount.multiply(new BigDecimal(7)));
dappChargeUsdtMapper.insert(dappChargeUsdtEntity);
} else {
if (flow.getStatus() == 1) {
@@ -719,7 +728,7 @@
*/
BigDecimal withdrawFee = dappFundFlowEntity.getFee();
if(BigDecimal.ZERO.compareTo(withdrawFee) < 0){
- BigDecimal addPoor = withdrawFee;
+ BigDecimal addPoor = withdrawFee.multiply(new BigDecimal(7));
DataDictionaryCustom packageScorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
DataDictionaryEnum.PACKAGE_SCORE_PRICE.getType(),
@@ -743,6 +752,23 @@
BigDecimal divide = avaPackagePoor.divide(packageTotalScore, 8, BigDecimal.ROUND_DOWN);
packageScorePriceDic.setValue(divide.toString());
dataDictionaryCustomMapper.updateById(packageScorePriceDic);
+
+
+ DappFundFlowEntity packageFlow = new DappFundFlowEntity(
+ AccountFlowEnum.SYSTEM_PACKAGE.getCode(),
+ 1L,
+ addPoor,
+ FundFlowEnum.SYSTEM_WITHDRAW_PACKAGE.getCode(),
+ 2,
+ BigDecimal.ZERO,
+ null,
+ memberCoinWithdrawEntity.getId());
+ dappFundFlowDao.insert(packageFlow);
+
+ DappAKlineEntity dappAKlineEntity = new DappAKlineEntity();
+ dappAKlineEntity.setOpenPrice(divide);
+ dappAKlineEntity.setType(1);
+ dappAKlineMapper.insert(dappAKlineEntity);
}
return new FebsResponse().success();
}
@@ -775,7 +801,8 @@
memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity);
//增加余额
- this.updateWalletCoinWithLock(dappFundFlowEntity.getAmount().negate(), dappMemberEntity.getId(), 1);
+ BigDecimal negate = dappFundFlowEntity.getAmount().negate().multiply(new BigDecimal(7));
+ this.updateWalletCoinWithLock(negate, dappMemberEntity.getId(), 1);
return new FebsResponse().success();
}
@@ -796,4 +823,25 @@
DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = dappAccountMoneyChangeDao.selectNewOneByMemberId(memberId);
return new FebsResponse().success().data(dappAccountMoneyChangeEntity);
}
+
+ @Override
+ public CashOutSettingVo cashOutSetting() {
+ CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
+ //最小提现金额
+ DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+ DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()
+ );
+ BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+
+ cashOutSettingVo.setMinWithdraw(minWithdraw);
+ //今日最大提现金额
+ DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+ DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()
+ );
+ BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+ cashOutSettingVo.setMaxWithdraw(maxWithdraw);
+ return cashOutSettingVo;
+ }
}
--
Gitblit v1.9.1