From c268540881fe493bc40e76ba82793a63c0897c91 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 16 May 2024 10:41:12 +0800
Subject: [PATCH] 滑点监控
---
src/main/java/cc/mrbird/febs/dapp/entity/DappHdRecord.java | 1
src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java | 49 +++++++--
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java | 17 ++-
src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java | 63 ++++++++++++
src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java | 107 ++++++++++-----------
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java | 53 +++++++++-
src/main/resources/templates/febs/views/modules/banner/coinPrice.html | 6
src/main/java/cc/mrbird/febs/dapp/chain/ContractEventService.java | 4
8 files changed, 215 insertions(+), 85 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java b/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java
index e179206..5865b2d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/chain/ChainService.java
@@ -1,35 +1,21 @@
package cc.mrbird.febs.dapp.chain;
import cc.mrbird.febs.common.exception.FebsException;
-import cn.hutool.core.lang.func.Func1;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSONObject;
import io.reactivex.Flowable;
-import io.reactivex.Observable;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import lombok.extern.slf4j.Slf4j;
-import org.reactivestreams.Publisher;
-import org.springframework.data.repository.query.ParameterOutOfBoundsException;
import org.web3j.crypto.Credentials;
import org.web3j.protocol.Web3j;
import org.web3j.protocol.core.DefaultBlockParameter;
import org.web3j.protocol.core.DefaultBlockParameterName;
import org.web3j.protocol.core.DefaultBlockParameterNumber;
import org.web3j.protocol.core.methods.request.EthFilter;
-import org.web3j.protocol.core.methods.response.TransactionReceipt;
import org.web3j.protocol.http.HttpService;
import org.web3j.tx.gas.StaticGasProvider;
-import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.rmi.activation.UnknownObjectException;
-import java.time.Duration;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -139,6 +125,41 @@
}
+ public static void huadianEventListener(BigInteger startBlock, BigInteger endBlock, ContractEventService event, String type) {
+ ChainEnum chain = ChainEnum.getValueByName(type);
+ assert chain != null;
+
+ EthUsdtContract contract = contract(chain.getPrivateKey(), chain.getContractAddress(), chain.getUrl());
+ EthFilter filter = getFilter(startBlock, endBlock, chain.getContractAddress());
+
+ Flowable<EthUsdtContract.TransferEventResponse> eventFlowable = contract.transferEventFlowable(filter)
+ .doOnError(throwable ->
+ log.error("合约事件监听发生错误: " + throwable.getMessage(), throwable)) // 更具体的错误日志记录
+ .retryWhen(errors -> {
+ AtomicInteger counter = new AtomicInteger();
+ return errors.takeWhile(e -> counter.getAndIncrement() != 3)
+ .flatMap(e -> {
+ System.out.println("delay retry by " + counter.get() + " second(s)");
+ return Flowable.timer(counter.get(), TimeUnit.SECONDS);
+ });
+ })
+ .subscribeOn(Schedulers.io()); // 指定subscribe操作在IO线程中执行,避免阻塞主线程
+
+ eventFlowable.subscribe(
+ e -> {
+ try {
+ event.huadian(e); // 处理事件
+ } catch (Exception ex) {
+ // 处理事件时可能出现的异常
+ log.error("处理合约事件时出错", ex);
+ }
+ },
+ Throwable::printStackTrace, // 打印错误堆栈,或者可以替换为更具体的错误处理逻辑
+ () -> log.info("合约事件监听已完成") // 在Flowable完成时执行的逻辑,如记录日志等
+ );
+
+ }
+
private static EthUsdtContract contract(String privateKey, String contractAddress, String url) {
Credentials credentials = Credentials.create(privateKey);
diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ContractEventService.java b/src/main/java/cc/mrbird/febs/dapp/chain/ContractEventService.java
index 2b15c2a..5377b62 100644
--- a/src/main/java/cc/mrbird/febs/dapp/chain/ContractEventService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/chain/ContractEventService.java
@@ -4,4 +4,8 @@
void compile(EthUsdtContract.TransferEventResponse e);
void coinReward(EthUsdtContract.CoinRewardEventResponse e);
+
+
+
+ void huadian(EthUsdtContract.TransferEventResponse e);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappHdRecord.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappHdRecord.java
index fb7e7dd..463600d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappHdRecord.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappHdRecord.java
@@ -16,6 +16,7 @@
private BigDecimal usdtAmount;//滑点累计
private BigDecimal coinEvery;//币量新增
private BigDecimal coinAmount;//币量累计
+ private String transactionHash;//币量累计
@TableField(exist = false)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
index 64ffbd0..47fe645 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -1,18 +1,15 @@
package cc.mrbird.febs.dapp.service.impl;
import cc.mrbird.febs.common.contants.AppContants;
+import cc.mrbird.febs.common.enumerates.DataDicEnum;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.dapp.chain.ChainEnum;
import cc.mrbird.febs.dapp.chain.ChainService;
import cc.mrbird.febs.dapp.chain.ContractEventService;
import cc.mrbird.febs.dapp.chain.EthUsdtContract;
import cc.mrbird.febs.dapp.entity.*;
-import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
-import cc.mrbird.febs.dapp.mapper.DappMemberDao;
-import cc.mrbird.febs.dapp.mapper.DappMemberFundMapper;
-import cc.mrbird.febs.dapp.mapper.DappOnlineTransferDao;
+import cc.mrbird.febs.dapp.mapper.*;
import cc.mrbird.febs.dapp.service.DappMemberService;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
@@ -23,7 +20,6 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +31,7 @@
import java.math.RoundingMode;
import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
@Slf4j
@@ -63,6 +60,9 @@
@Resource
private ChainProducer chainProducer;
+
+ @Resource
+ private DappHdRecordMapper dappHdRecordMapper;
public static void main(String[] args) {
System.out.println(Numeric.toBigInt("0x12e4e85"));
@@ -242,4 +242,45 @@
log.info("本地交易:{},amount-{},price-{}", e.adr,amount,price);
}
}
+
+ @Override
+ public void huadian(EthUsdtContract.TransferEventResponse e) {
+ log.info("滑点奖励");
+ if (e.to == null) {
+ return;
+ }
+ String address = e.to;
+ String transactionHash = e.log.getTransactionHash();
+ List<DappHdRecord> transaction_hash = dappHdRecordMapper.selectList(new QueryWrapper<DappHdRecord>().eq("transaction_hash", transactionHash));
+ if(ObjectUtil.isNotEmpty(transaction_hash)){
+ return;
+ }
+ if(!address.toUpperCase(Locale.ROOT).equals("0x1Ea392645f816BF15f1Fc87728eA010585bAAE7D".toUpperCase())){
+ return;
+ }
+ //获取滑点钱包的余额
+ BigDecimal coinPrice = ChainService.getInstance(ChainEnum.BSC_GFA.name()).getPrice("0x1Ea392645f816BF15f1Fc87728eA010585bAAE7D").setScale(8,BigDecimal.ROUND_DOWN);
+
+ //更新此刻的USDT数量
+ String existToken = redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue());
+ if (StrUtil.isNotBlank(existToken)) {
+ redisUtils.del(existToken);
+ }
+ int decimals = ChainService.getInstance(ChainEnum.BSC_GFA.name()).decimals();
+ BigDecimal amount = new BigDecimal(e.tokens.toString()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN).setScale(8,BigDecimal.ROUND_DOWN);
+ //获取这个时刻的滑点入账数量
+ BigDecimal multiply = coinPrice.multiply(amount).multiply(new BigDecimal("0.97")).setScale(8,BigDecimal.ROUND_DOWN);
+ //更新这个时间段的滑点数量
+ redisUtils.set(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue(), multiply, 0);
+
+ //生成一条记录
+ DappHdRecord dappHdRecordAdd = new DappHdRecord();
+ dappHdRecordAdd.setPrice(coinPrice);
+ dappHdRecordAdd.setUsdtEvery(multiply);
+ dappHdRecordAdd.setCoinEvery(amount);
+ dappHdRecordAdd.setCoinAmount(BigDecimal.ZERO);
+ dappHdRecordAdd.setTransactionHash(transactionHash);
+ dappHdRecordMapper.insert(dappHdRecordAdd);
+ dappSystemService.tradeProfitDistribute(1L);
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
index c51913d..d9adc0c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -2,11 +2,11 @@
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.dapp.chain.*;
-import cc.mrbird.febs.dapp.entity.*;
+import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
+import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
-import cc.mrbird.febs.dapp.mapper.DappMemberDao;
import cc.mrbird.febs.dapp.mapper.DappOnlineTransferDao;
import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.dapp.service.DappMemberService;
@@ -14,10 +14,8 @@
import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -167,6 +165,15 @@
log.info("本地无交易USDT:{}", e.log.getTransactionHash());
}
+ @Override
+ public void huadian(EthUsdtContract.TransferEventResponse e) {
+ if (e.to == null) {
+ return;
+ }
+ log.info("本地无交易USDT:{}", e.log.getTransactionHash());
+
+ }
+
public static void main(String[] args) {
System.out.println(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf("0x9DDE1834683D642D4D077498DC7fbdb8CF70E8FE"));
}
diff --git a/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java b/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java
new file mode 100644
index 0000000..47290ec
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java
@@ -0,0 +1,63 @@
+package cc.mrbird.febs.job;
+
+import cc.mrbird.febs.common.contants.AppContants;
+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.ContractEventService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.stereotype.Component;
+
+import java.math.BigInteger;
+
+@Slf4j
+@Component
+@ConditionalOnProperty(prefix = "system", name = "chain-listener", havingValue = "true")
+public class ChainHuadianRunner implements ApplicationRunner {
+
+
+ @Autowired
+ private ContractEventService bscCoinContractEvent;
+
+ @Autowired
+ private RedisUtils redisUtils;
+
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+ long start = System.currentTimeMillis();
+ log.info("区块链滑点开始启动");
+
+ Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM);
+ BigInteger newest = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber();
+// Object incrementObj = BigInteger.valueOf(39780699);
+// BigInteger newest = BigInteger.valueOf(39780739);
+ BigInteger block;
+ if (incrementObj == null) {
+ block = newest;
+ } else {
+ block = (BigInteger) incrementObj;
+ }
+
+ BigInteger section = BigInteger.valueOf(5000);
+ log.info("监听:[{} - {} - {}]", newest,block,newest.subtract(block).compareTo(section) > -1);
+ while (newest.subtract(block).compareTo(section) > -1) {
+ BigInteger end = block.add(section);
+ log.info("监听:[{} - {}]", block, end);
+ ChainService.huadianEventListener(block, end, bscCoinContractEvent, ChainEnum.BSC_GFA.name());
+
+ block = block.add(section);
+ if (block.compareTo(newest) > 0) {
+ block = newest;
+ }
+ }
+
+ ChainService.huadianEventListener(block, null, bscCoinContractEvent, ChainEnum.BSC_GFA.name());
+
+ long end = System.currentTimeMillis();
+ log.info("区块链滑点启动完成, 消耗时间{}", end - start);
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java b/src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java
index 520292e..b44317d 100644
--- a/src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java
+++ b/src/main/java/cc/mrbird/febs/job/GiveMeMoneyJob.java
@@ -1,19 +1,13 @@
package cc.mrbird.febs.job;
-import cc.mrbird.febs.common.enumerates.DataDicEnum;
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.entity.DappAchieve;
-import cc.mrbird.febs.dapp.entity.DappHdRecord;
import cc.mrbird.febs.dapp.mapper.DappAchieveMapper;
import cc.mrbird.febs.dapp.mapper.DappHdRecordMapper;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,7 +15,6 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -74,55 +67,55 @@
/**
* 每日定时零点计算滑点
*/
- @Scheduled(cron = "0 0/5 * * * ? ")
- public void mineJob() {
- /**
- * 定时器循环计算每个时间跨度内增加的滑点数量
- */
- log.info("滑点奖励");
- //获取滑点钱包的余额
- BigDecimal coinCnt = ChainService.getInstance(ChainEnum.BSC_GFA.name()).balanceOf("0x1Ea392645f816BF15f1Fc87728eA010585bAAE7D").setScale(8,BigDecimal.ROUND_DOWN);
- BigDecimal coinPrice = ChainService.getInstance(ChainEnum.BSC_GFA.name()).getPrice("0x1Ea392645f816BF15f1Fc87728eA010585bAAE7D").setScale(8,BigDecimal.ROUND_DOWN);
-
- if(new BigDecimal("10").compareTo(coinCnt) >= 0){
- return;
- }
-
-// BigDecimal coinCnt = ChainService.getInstance(ChainEnum.BSC_GFA.name()).balanceOf("0xF6b06A30196aA5E318232a3b61319eab0FD4A3bF").setScale(8,BigDecimal.ROUND_DOWN);
-// BigDecimal coinPrice = ChainService.getInstance(ChainEnum.BSC_GFA.name()).getPrice("0xF6b06A30196aA5E318232a3b61319eab0FD4A3bF").setScale(8,BigDecimal.ROUND_DOWN);
-
- //获取上一时刻的数据
- BigDecimal coinAmountOld =BigDecimal.ZERO;
- DappHdRecord dappHdRecord = dappHdRecordMapper.selectNewRecord();
- if(ObjectUtil.isNotEmpty(dappHdRecord)){
- coinAmountOld = dappHdRecord.getCoinAmount();
- }
-
- //更新此刻的USDT数量
- String existToken = redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue());
- if (StrUtil.isNotBlank(existToken)) {
- redisUtils.del(existToken);
- }
- //这个时间段的新增余额
- //此刻的余额-上一次账户的余额 = 这个时间段的新增余额
- BigDecimal subtract = coinCnt.subtract(coinCnt).setScale(0,BigDecimal.ROUND_DOWN);
-
- if(BigDecimal.ZERO.compareTo(subtract) >= 0){
- return;
- }
- //获取这个时刻的滑点入账数量
- BigDecimal multiply = coinPrice.multiply(subtract).multiply(new BigDecimal("0.97")).setScale(8,BigDecimal.ROUND_DOWN);
- //更新这个时间段的滑点数量
- redisUtils.set(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue(), multiply, 0);
-
- //生成一条记录
- DappHdRecord dappHdRecordAdd = new DappHdRecord();
- dappHdRecordAdd.setPrice(coinPrice);
- dappHdRecordAdd.setUsdtEvery(multiply);
- dappHdRecordAdd.setCoinEvery(subtract);
- dappHdRecordAdd.setCoinAmount(coinCnt);
- dappHdRecordMapper.insert(dappHdRecordAdd);
- dappSystemService.tradeProfitDistribute(1L);
- }
+// @Scheduled(cron = "0 0/5 * * * ? ")
+// public void mineJob() {
+// /**
+// * 定时器循环计算每个时间跨度内增加的滑点数量
+// */
+// log.info("滑点奖励");
+// //获取滑点钱包的余额
+// BigDecimal coinCnt = ChainService.getInstance(ChainEnum.BSC_GFA.name()).balanceOf("0x1Ea392645f816BF15f1Fc87728eA010585bAAE7D").setScale(8,BigDecimal.ROUND_DOWN);
+// BigDecimal coinPrice = ChainService.getInstance(ChainEnum.BSC_GFA.name()).getPrice("0x1Ea392645f816BF15f1Fc87728eA010585bAAE7D").setScale(8,BigDecimal.ROUND_DOWN);
+//
+// if(new BigDecimal("10").compareTo(coinCnt) >= 0){
+// return;
+// }
+//
+//// BigDecimal coinCnt = ChainService.getInstance(ChainEnum.BSC_GFA.name()).balanceOf("0xF6b06A30196aA5E318232a3b61319eab0FD4A3bF").setScale(8,BigDecimal.ROUND_DOWN);
+//// BigDecimal coinPrice = ChainService.getInstance(ChainEnum.BSC_GFA.name()).getPrice("0xF6b06A30196aA5E318232a3b61319eab0FD4A3bF").setScale(8,BigDecimal.ROUND_DOWN);
+//
+// //获取上一时刻的数据
+// BigDecimal coinAmountOld =BigDecimal.ZERO;
+// DappHdRecord dappHdRecord = dappHdRecordMapper.selectNewRecord();
+// if(ObjectUtil.isNotEmpty(dappHdRecord)){
+// coinAmountOld = dappHdRecord.getCoinAmount();
+// }
+//
+// //更新此刻的USDT数量
+// String existToken = redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue());
+// if (StrUtil.isNotBlank(existToken)) {
+// redisUtils.del(existToken);
+// }
+// //这个时间段的新增余额
+// //此刻的余额-上一次账户的余额 = 这个时间段的新增余额
+// BigDecimal subtract = coinCnt.subtract(coinCnt).setScale(0,BigDecimal.ROUND_DOWN);
+//
+// if(BigDecimal.ZERO.compareTo(subtract) >= 0){
+// return;
+// }
+// //获取这个时刻的滑点入账数量
+// BigDecimal multiply = coinPrice.multiply(subtract).multiply(new BigDecimal("0.97")).setScale(8,BigDecimal.ROUND_DOWN);
+// //更新这个时间段的滑点数量
+// redisUtils.set(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue(), multiply, 0);
+//
+// //生成一条记录
+// DappHdRecord dappHdRecordAdd = new DappHdRecord();
+// dappHdRecordAdd.setPrice(coinPrice);
+// dappHdRecordAdd.setUsdtEvery(multiply);
+// dappHdRecordAdd.setCoinEvery(subtract);
+// dappHdRecordAdd.setCoinAmount(coinCnt);
+// dappHdRecordMapper.insert(dappHdRecordAdd);
+// dappSystemService.tradeProfitDistribute(1L);
+// }
}
diff --git a/src/main/resources/templates/febs/views/modules/banner/coinPrice.html b/src/main/resources/templates/febs/views/modules/banner/coinPrice.html
index 7bd1bc9..53ccbd4 100644
--- a/src/main/resources/templates/febs/views/modules/banner/coinPrice.html
+++ b/src/main/resources/templates/febs/views/modules/banner/coinPrice.html
@@ -132,10 +132,10 @@
url: ctx + 'admin/banner/hdRecord',
cols: [[
{field: 'id', title: '', minWidth: 10,align:'left',totalRowText:"合计"},
- {field: 'coinAmount', title: '滑点累计币量', minWidth: 120,align:'center', totalRow:true},
- {field: 'coinEvery', title: '新增滑点', minWidth: 120,align:'center', totalRow:true},
+ {field: 'transactionHash', title: '交易HASH', minWidth: 300,align:'left'},
+ {field: 'coinEvery', title: '滑点', minWidth: 120,align:'center', totalRow:true},
{field: 'price', title: '价格', minWidth: 120,align:'center', totalRow:true},
- {field: 'usdtEvery', title: '新增USDT', minWidth: 120,align:'center', totalRow:true},
+ {field: 'usdtEvery', title: '滑点USDT', minWidth: 120,align:'center', totalRow:true},
{field: 'createTime', title: '时间', minWidth: 120,align:'center'},
]]
});
--
Gitblit v1.9.1