From 7481c6a5b1e9e4d948192c170c31facb22aed9d1 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sat, 27 Aug 2022 15:15:04 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 18 ++++++++++++++++++
src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java | 2 ++
src/main/java/cc/mrbird/febs/common/contants/AppContants.java | 2 ++
src/main/java/cc/mrbird/febs/job/SystemTradeJob.java | 6 ++++++
src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java | 1 +
src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java | 3 ++-
src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java | 10 ++++++++++
src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java | 17 +++++++++++++++++
8 files changed, 58 insertions(+), 1 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 f99f537..7223dc3 100644
--- a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -180,4 +180,6 @@
public static final String REDIS_KEY_SYMBOL_DAILY_PRICE = "SYMBOL_DAILY_PRICE";
public static final BigDecimal NFT_ACTIVE_PRICE = new BigDecimal("10");
+
+ public static final String REDIS_KEY_TFC_NEW_PRICE = "TFC_NEW_PRICE";
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
index cec8d5b..fbd0c2c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -57,4 +57,6 @@
boolean hasProfit(String address);
void sdmWithdrawFee(String data);
+
+ void tfcNewPrice();
}
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 5a48740..ad2e486 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
@@ -737,4 +737,22 @@
public void sdmWithdrawFee(String data) {
}
+
+ @Override
+ public void tfcNewPrice() {
+ BigDecimal newPrice;
+ if (!systemHasStart()) {
+ newPrice = new BigDecimal("0.05");
+ } else {
+ ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
+ // u剩余数量
+ BigDecimal sourceU = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
+ // 源池代币剩余数量
+ BigDecimal sourceCoin = tfcInstance.balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
+
+ newPrice = sourceU.divide(sourceCoin, tfcInstance.decimals(), RoundingMode.HALF_UP);
+ }
+
+ chainProducer.sendTfcNewPrice(newPrice.toPlainString());
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java b/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
index 7d34c06..4f1cad9 100644
--- a/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
+++ b/src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
@@ -68,4 +68,10 @@
log.info("挖矿");
systemService.mining();
}
+
+ @Scheduled(cron = "0/10 * * * * ?")
+ public void tfcNewPriceJob() {
+ systemService.tfcNewPrice();
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java b/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
index 0dbeabc..a23f51f 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
@@ -11,4 +11,5 @@
public static final String USER_BUY_REWARD = "queue_tfc_user_buy_reward";
public static final String NFT_BOX = "queue_tfc_nft_box";
public static final String WITHDRAW_FEE = "queue_withdraw_fee";
+ public static final String TFC_NEW_PRICE = "queue_tfc_new_price";
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java b/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
index 234a80a..ebcba15 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
@@ -10,7 +10,8 @@
DISTRIB_PROFIT("exchange_distrib_profit", "route_key_distrib_profit", "queue_tfc_distrib_profit"),
USER_BUY_REWARD("exchange_user_buy_reward", "route_key_user_buy_reward", "queue_tfc_user_buy_reward"),
NFT_BOX("exchange_nft_box", "route_key_nft_box", "queue_tfc_nft_box"),
- WITHDRAW_FEE("exchange_withdraw_fee", "route_key_withdraw_fee", "queue_withdraw_fee");
+ WITHDRAW_FEE("exchange_withdraw_fee", "route_key_withdraw_fee", "queue_withdraw_fee"),
+ TFC_NEW_PRICE("exchange_tfc_new_price", "route_key_tfc_new_price", "queue_tfc_new_price");
private String exchange;
diff --git a/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java b/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java
index c3c282d..9ed6760 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java
@@ -110,4 +110,21 @@
return BindingBuilder.bind(withdrawFeeQueue()).to(withdrawFeeExchange()).with(QueueEnum.WITHDRAW_FEE.getRoute());
}
// === 提现手续费 end ===
+
+ // === tfc最新价 start ===
+ @Bean
+ public DirectExchange tfcNewPriceExchange() {
+ return new DirectExchange(QueueEnum.TFC_NEW_PRICE.getExchange());
+ }
+
+ @Bean
+ public Queue tfcNewPriceQueue() {
+ return new Queue(QueueEnum.TFC_NEW_PRICE.getQueue());
+ }
+
+ @Bean
+ public Binding tfcNewPriceBind() {
+ return BindingBuilder.bind(tfcNewPriceQueue()).to(tfcNewPriceExchange()).with(QueueEnum.TFC_NEW_PRICE.getRoute());
+ }
+ // === tfc最新价 end ===
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java b/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java
index e2da47e..4b6b813 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producer/ChainProducer.java
@@ -56,4 +56,14 @@
CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
rabbitTemplate.convertAndSend(QueueEnum.NFT_BOX.getExchange(), QueueEnum.NFT_BOX.getRoute(), id, correlationData);
}
+
+ /**
+ * 消费者在矩阵项目
+ * @param data
+ */
+ public void sendTfcNewPrice(String data) {
+ log.info("发送tfc最新价:{}", data);
+ CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+ rabbitTemplate.convertAndSend(QueueEnum.TFC_NEW_PRICE.getExchange(), QueueEnum.TFC_NEW_PRICE.getRoute(), data, correlationData);
+ }
}
--
Gitblit v1.9.1