From f7d8732bb7968ffd67ef5b445e963ac167dcd236 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 10 May 2024 12:56:20 +0800
Subject: [PATCH] 合约监听

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
index d495f99..5f0051c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
@@ -374,6 +374,29 @@
         }
     }
 
+    @Override
+    public void calculateAchieve(DappAchieve achieve) {
+        Long id = achieve.getId();
+        DappAchieve dappAchieve = dappAchieveMapper.selectById(id);
+        if(ObjectUtil.isEmpty(dappAchieve)){
+            return;
+        }
+        /**
+         * 计算金本位和币本位
+         *  金本位:数量*价格*70*产矿百分比
+         *  币本位:数量*30*产矿百分比
+         */
+        BigDecimal achieveOut = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_ACHIEVE_OUT.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
+
+        BigDecimal amount = dappAchieve.getAmount();
+        BigDecimal price = dappAchieve.getPrice();
+        BigDecimal goldAmount = amount.multiply(price).multiply(new BigDecimal("0.7")).multiply(achieveOut).setScale(8, BigDecimal.ROUND_DOWN);
+        BigDecimal coinAmount = amount.multiply(new BigDecimal("0.3")).multiply(achieveOut).setScale(8, BigDecimal.ROUND_DOWN);
+        dappAchieve.setGoldAmount(goldAmount);
+        dappAchieve.setCoinAmount(coinAmount);
+        dappAchieveMapper.updateById(dappAchieve);
+    }
+
     public static void main(String[] args) {
         String transfer = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer("0xCEBfd36e03BD80c7015Cbad17eFfBc33d2923FF3", new BigDecimal("0.1"));
 //        BigInteger bigInteger = org.web3j.utils.Convert.toWei("35", org.web3j.utils.Convert.Unit.GWEI).toBigInteger();

--
Gitblit v1.9.1