From a723f687ea40161699b85a91e610ac79da1c2392 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 03 Aug 2023 15:35:22 +0800
Subject: [PATCH] 数据修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 107 +++++++++++++++++++++++++++++++----
src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java | 12 ++--
src/main/java/cc/mrbird/febs/common/contants/AppContants.java | 4
src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java | 2
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 7 ++
src/main/resources/application-job.yml | 4
src/main/java/cc/mrbird/febs/job/BnbTransferJob.java | 20 +++---
src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java | 2
src/main/resources/application-test.yml | 4
src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java | 8 +-
src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractInit.java | 2
11 files changed, 130 insertions(+), 42 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
index fdcda71..00225c0 100644
--- a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -195,13 +195,13 @@
/**
* A入金,90%进入A底池--A底池钱包
*/
- public static final String ADDRESS_A_POOL_PEOJECT = "0xC0bc98555C3d03A374c27cd247b12667a3eDf766";
+ public static final String ADDRESS_A_POOL_PEOJECT = "0x3614b30913f284e8868d7f6814bbcb62e3f84127";
/**
* A入金,10%进入B底池--B底池钱包
*/
- public static final String ADDRESS_B_POOL_PEOJECT = "0x9Bfb58c6649B85AB417b9FF482c38158353c7c97";
+ public static final String ADDRESS_B_POOL_PEOJECT = "0x968c7789e955a244b7d8e7529669da1b170af51f";
public static final BigDecimal NODE_PERK_PERCENT = new BigDecimal(0.2);
diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java b/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
index 79a6238..3509164 100644
--- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
@@ -29,8 +29,8 @@
// "https://bsc-dataseed1.ninicoin.io",
// "0x55d398326f99059fF775485246999027B3197955",
// ""),
- BSC_USDT_W_POOL("BSC", "0x74fC0e035f315F7BD8b7686e22581AB1afC45e97",
- "0xc9fd78a879b17007f353595354e3128df702fe5e3518762c0c517cd7e00d13a0",
+ BSC_USDT_W_POOL("BSC", "0xCe74955CF5289E803EE518902076eF42BB09b7a8",
+ AppContants.FEE_ADDRESS_KEY.get("feeAddressKey").toString() ,
"https://bsc-dataseed1.ninicoin.io",
"0x55d398326f99059fF775485246999027B3197955",
""),
@@ -38,8 +38,8 @@
/**
* A币入金的后进入A池,进入B池
*/
- BSC_USDT_A_POOL("BSC", "0x891884eed30219DE39CCAE8b796F5fAE231A2Ea0",
- "446b506156020a5f1160903fd298ad4621dadcb357b31aa166ce420e4ec82f88",
+ BSC_USDT_A_POOL("BSC", "0xCe74955CF5289E803EE518902076eF42BB09b7a8",
+ AppContants.FEE_ADDRESS_KEY.get("feeAddressKey").toString() ,
"https://bsc-dataseed1.ninicoin.io",
"0x55d398326f99059fF775485246999027B3197955",
""),
diff --git a/src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java b/src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java
index 13b97a4..648fa79 100644
--- a/src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java
+++ b/src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java
@@ -20,6 +20,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
import org.web3j.crypto.Credentials;
import org.web3j.protocol.Web3j;
@@ -37,6 +38,7 @@
@Component
+@ConditionalOnProperty(prefix = "system", name = "chain-listener", havingValue = "true")
public class ContractMain {
@Autowired
diff --git a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractInit.java b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractInit.java
index 96f8fc9..16d573d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractInit.java
+++ b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractInit.java
@@ -11,7 +11,7 @@
@Component
-@ConditionalOnProperty(prefix = "system", name = "quartz-job", havingValue = "true")
+@ConditionalOnProperty(prefix = "system", name = "chain-listener", havingValue = "true")
public class AndaoContractInit {
@Autowired
diff --git a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
index 5aa9eb9..00629f9 100644
--- a/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
+++ b/src/main/java/cc/mrbird/febs/dapp/contract/andao/AndaoContractMain.java
@@ -29,7 +29,7 @@
@Component
-@ConditionalOnProperty(prefix = "system", name = "quartz-job", havingValue = "true")
+@ConditionalOnProperty(prefix = "system", name = "chain-listener", havingValue = "true")
public class AndaoContractMain {
@Autowired
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
index 0a1c382..fb031fe 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
@@ -56,12 +56,12 @@
return new FebsResponse().success();
}
- @ApiOperation(value = "根据flowID,重新消费", notes = "根据flowID,重新消费")
- @GetMapping(value = "/sendFlow/{flowId}")
- public FebsResponse sendFlow(@PathVariable("flowId") String flowId) {
- chainProducer.sendContractAnDao(Long.parseLong(flowId));
- return new FebsResponse().success();
- }
+// @ApiOperation(value = "根据flowID,重新消费", notes = "根据flowID,重新消费")
+// @GetMapping(value = "/sendFlow/{flowId}")
+// public FebsResponse sendFlow(@PathVariable("flowId") String flowId) {
+// chainProducer.sendContractAnDao(Long.parseLong(flowId));
+// return new FebsResponse().success();
+// }
// @ApiOperation(value = "头部数据", notes = "头部数据")
// @GetMapping(value = "/totalIncome")
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 8c5623b..5ddc9ed 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
@@ -25,6 +25,7 @@
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.Week;
+import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
@@ -1679,8 +1680,9 @@
* 发起USDT转账
*/
log.info("amount:{},address:{}",amount,address);
-
- String hash = ChainService.getInstance(ChainEnum.BSC_USDT_W_POOL_CONTRACT.name()).transferUSDT(address, amount);
+ ThreadUtil.sleep(5000);
+// String hash = ChainService.getInstance(ChainEnum.BSC_USDT_W_POOL_CONTRACT.name()).transferUSDT(address, amount);
+ String hash = ChainService.getInstance(ChainEnum.BSC_USDT_W_POOL.name()).transferUSDT(address, amount);
if(StrUtil.isEmpty(hash)){
// hash = ChainService.getInstance(ChainEnum.BSC_USDT_W_POOL.name()).transfer(address, amount);
return;
@@ -1697,17 +1699,17 @@
/**
* 紧急提现方法
*/
- public static void main(String[] args) {
- BigDecimal amount = new BigDecimal("0.01");
- String address = "0xB3cF9669F398f444DfCAebbAd2A49bF32ba41fE3";
-
- String hash = ChainService.getInstance(ChainEnum.BSC_USDT_W_POOL_CONTRACT.name()).transferUSDT(address, amount);
-
- System.out.println(hash);
-
-
-// int i = ChainService.getInstance(ChainEnum.BSC_TFC.name()).allowanceCnt("0x80098f854950f9327C4F4E747d285Fd2d41fbf3e");
- }
+// public static void main(String[] args) {
+// BigDecimal amount = new BigDecimal("0.01");
+// String address = "0xB3cF9669F398f444DfCAebbAd2A49bF32ba41fE3";
+//
+// String hash = ChainService.getInstance(ChainEnum.BSC_USDT_W_POOL_CONTRACT.name()).transferUSDT(address, amount);
+//
+// System.out.println(hash);
+//
+//
+//// int i = ChainService.getInstance(ChainEnum.BSC_TFC.name()).allowanceCnt("0x80098f854950f9327C4F4E747d285Fd2d41fbf3e");
+// }
@Override
public void aCoinFire() {
@@ -1752,7 +1754,7 @@
PoolEnum.COIN_A_CNT.getType(),
PoolEnum.COIN_A_CNT.getCode());
BigDecimal coinACnt = new BigDecimal(coinACntDic.getValue());
- coinACnt = coinACnt.subtract(totalCnt.multiply(new BigDecimal(0.8)));
+ coinACnt = coinACnt.subtract(totalCnt.multiply(new BigDecimal(0.65)));
coinACntDic.setValue(coinACnt.toString());
dataDictionaryCustomMapper.updateById(coinACntDic);
@@ -2145,6 +2147,9 @@
if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == flow.getStatus()){
return;
}
+ if(FundFlowEnum.BUY_A_COIN.getCode() != flow.getType()){
+ return;
+ }
DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
if(ObjectUtil.isEmpty(dappMemberEntity)){
return;
@@ -2180,6 +2185,58 @@
flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
dappFundFlowDao.updateById(flow);
+
+ BigDecimal amount = flow.getAmount();
+ /**
+ * 90%进入A币底池 10%进入B币LP薄饼底池
+ */
+ DataDictionaryCustom usdtAPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PoolEnum.USDT_A_PERCENT.getType(),
+ PoolEnum.USDT_A_PERCENT.getCode()
+ );
+ BigDecimal usdtAPercent = new BigDecimal(StrUtil.isEmpty(usdtAPercentDic.getValue()) ? "0.7" : usdtAPercentDic.getValue());
+ BigDecimal usdtAAmount = amount.multiply(usdtAPercent).setScale(4, BigDecimal.ROUND_DOWN);
+
+ //生成一条进行中的70%进入A币底池的资金流水记录
+ DappFundFlowEntity fundFlowToA = new DappFundFlowEntity(
+ 1L,
+ usdtAAmount,
+ FundFlowEnum.USDT_IN_A_POOL.getCode(),
+ 1,
+ BigDecimal.ZERO,
+ null,
+ dappChargeUsdtEntity.getId());
+ dappFundFlowDao.insert(fundFlowToA);
+
+ BigDecimal usdtWAmount = amount.multiply(new BigDecimal(0.2)).setScale(4, BigDecimal.ROUND_DOWN);
+// //生成一条进行中的20%进入A币底池的资金流水记录
+// DappFundFlowEntity fundFlowToW = new DappFundFlowEntity(
+// 1L,
+// usdtWAmount,
+// FundFlowEnum.USDT_IN_W_POOL.getCode(),
+// 1,
+// BigDecimal.ZERO,
+// null,
+// dappChargeUsdtEntity.getId());
+// dappFundFlowDao.insert(fundFlowToW);
+
+ DataDictionaryCustom usdtBPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ PoolEnum.USDT_B_PERCENT.getType(),
+ PoolEnum.USDT_B_PERCENT.getCode()
+ );
+ BigDecimal usdtBPercent = new BigDecimal(StrUtil.isEmpty(usdtBPercentDic.getValue()) ? "0.1" : usdtBPercentDic.getValue());
+ BigDecimal usdtBAmount = amount.multiply(usdtBPercent).setScale(4, BigDecimal.ROUND_DOWN);
+ //生成一条进行中的10%进入B币底池的资金流水记录
+ DappFundFlowEntity fundFlowToB = new DappFundFlowEntity(
+ 1L,
+ usdtBAmount,
+ FundFlowEnum.USDT_IN_B_POOL.getCode(),
+ 1,
+ BigDecimal.ZERO,
+ null,
+ dappChargeUsdtEntity.getId());
+ dappFundFlowDao.insert(fundFlowToB);
+
/**
* 发送消息处理返利逻辑
*/
@@ -2188,6 +2245,24 @@
* 发送消息处理代理升级
*/
chainProducer.sendAntMemberLevelMsg(memberId);
+ //90%进入A币底池
+ chainProducer.sendAntACoinInAPoolMsg(fundFlowToA.getId());
+ ThreadUtil.sleep(5000);
+ //10%进入B币LP薄饼底池
+ chainProducer.sendAntACoinInBPoolMsg(fundFlowToB.getId());
+ }
+
+ public static void main(String[] args) {
+
+ System.out.print(1);
+ System.out.print(2);
+// ThreadUtil.execute(() -> {
+// //90%进入A币底池
+// System.out.print(1);
+// ThreadUtil.sleep(5000);
+// //10%进入B币LP薄饼底池
+// System.out.print(2);
+// });
}
@Override
@@ -2202,6 +2277,10 @@
if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE != dappFundFlowEntity.getStatus()){
return;
}
+
+ if(FundFlowEnum.BUY_A_COIN.getCode() != dappFundFlowEntity.getType()){
+ return;
+ }
Long memberId = dappFundFlowEntity.getMemberId();
DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
if(ObjectUtil.isEmpty(dappMemberEntity)){
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 267094a..ec99d73 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
@@ -364,6 +364,11 @@
* A币卖币规则,卖出100%销毁,30%回流底池溢价
*/
DappMemberEntity member = LoginUserUtil.getAppUser();
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+ Integer activeStatus = dappMemberEntity.getActiveStatus();
+ if(1 != activeStatus){
+ throw new FebsException("Not yet open");
+ }
DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
PoolEnum.SYSTEM.getType(),
@@ -826,6 +831,8 @@
*/
flow.setFromHash(transferADto.getTxHash());
dappFundFlowDao.updateById(flow);
+ chainProducer.sendContractAnDao(flow.getId());
+
// /**
// * 生成会员入金买A币的记录
// */
diff --git a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
index a914878..62f35e7 100644
--- a/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
+++ b/src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
@@ -35,16 +35,16 @@
@Autowired
private DappSystemService dappSystemService;
- @Scheduled(cron = "0/30 * * * * ? ")
- public void BnbTransferAgain() {
- DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectByStateAndVersionAndFromHashLimitOne(2,2);
- if(ObjectUtil.isNotEmpty(dappFundFlowEntity)){
- Integer isReturn = dappFundFlowEntity.getIsReturn();
- if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == isReturn){
- chainProducer.sendBnbTransferTestMsg(dappFundFlowEntity.getId());
- }
- }
- }
+// @Scheduled(cron = "0/30 * * * * ? ")
+// public void BnbTransferAgain() {
+// DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectByStateAndVersionAndFromHashLimitOne(2,2);
+// if(ObjectUtil.isNotEmpty(dappFundFlowEntity)){
+// Integer isReturn = dappFundFlowEntity.getIsReturn();
+// if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == isReturn){
+// chainProducer.sendBnbTransferTestMsg(dappFundFlowEntity.getId());
+// }
+// }
+// }
@Scheduled(cron = "0/30 * * * * ? ")
public void ABTransferAgain() {
diff --git a/src/main/resources/application-job.yml b/src/main/resources/application-job.yml
index 3b4e726..d23a4ba 100644
--- a/src/main/resources/application-job.yml
+++ b/src/main/resources/application-job.yml
@@ -15,10 +15,10 @@
datasource:
# 数据源-1,名称为 base
base:
- username: db_twocoin_test
+ username: db_twocoin_prd
password: 1!qaz2@WSX
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/db_twocoin_test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+ url: jdbc:mysql://127.0.0.1:3306/db_twocoin_prd?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
redis:
# Redis数据库索引(默认为 0)
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index bdb487d..eae56b7 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -15,10 +15,10 @@
datasource:
# 数据源-1,名称为 base
base:
- username: db_twocoin_test
+ username: db_twocoin_prd
password: 1!qaz2@WSX
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/db_twocoin_test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
+ url: jdbc:mysql://127.0.0.1:3306/db_twocoin_prd?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
redis:
# Redis数据库索引(默认为 0)
--
Gitblit v1.9.1