xiaoyong931011
2022-12-16 ecedfccfa0a5161df4b3e2409e63850e25eb3c07
20221216 常量初始化
2 files modified
1 files added
55 ■■■■■ changed files
src/main/java/cc/mrbird/febs/FebsShiroApplication.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/contants/SystemConstants.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/FebsShiroApplication.java
@@ -1,12 +1,22 @@
package cc.mrbird.febs;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.contants.SystemConstants;
import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
import cn.hutool.core.util.StrUtil;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.annotation.PostConstruct;
import java.lang.reflect.Field;
/**
 * @author MrBird
@@ -18,10 +28,33 @@
@MapperScan("cc.mrbird.febs.*.mapper")
public class FebsShiroApplication {
    @Autowired
    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Autowired
    private SystemConstants systemConstants;
    public static void main(String[] args) {
        new SpringApplicationBuilder(FebsShiroApplication.class)
                .web(WebApplicationType.SERVLET)
                .run(args);
    }
    @PostConstruct
    public void systemConstantsInit() {
        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.FEE_ADDRESS_KEY.getType(), DataDictionaryEnum.FEE_ADDRESS_KEY.getCode());
        String key = dataDictionaryCustom.getCode();
        key = StrUtil.toCamelCase(key);
        String value = dataDictionaryCustom.getValue();
        try {
            Field field = systemConstants.getClass().getDeclaredField(key);
            field.set(systemConstants, value);
            AppContants.FEE_ADDRESS_KEY.put("feeAddressKey",systemConstants.getFeeAddressKey());
            dataDictionaryCustom.setValue("isReady");
            dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
src/main/java/cc/mrbird/febs/common/contants/SystemConstants.java
New file
@@ -0,0 +1,14 @@
package cc.mrbird.febs.common.contants;
import lombok.Data;
import org.springframework.stereotype.Component;
//常量封装类需要使用@Component注入到SpringBoot容器池中
//使用@Data代替setter和getter的实现
@Data
@Component
public class SystemConstants {
    public String feeAddressKey;
}
src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.dapp.contract;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.contants.SystemConstants;
import cc.mrbird.febs.common.service.RedisService;
import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
@@ -40,6 +41,9 @@
    @Autowired
    private ChainProducer chainProducer;
    @Autowired
    private SystemConstants systemConstants;
    private static Web3j web3;
@@ -92,10 +96,8 @@
    // 操作账号 手续费钱包地址的私钥(合约里会把手续费转到你这个私钥地址上) 用于操作合约内方法 TODO
//    private static String privateKey = "0x5672e3b09eae475fc2ad725757874b453b9c7ed76bb3df76340a96c819de0845";//测试
    private static String privateKey = "0xf96f42192569bf8fe340ee56be94c206a12020bc4b46a7b2ec87cde438ac9ac1";
//    private static String privateKey = AppContants.FEE_ADDRESS_KEY.get("feeAddressKey").toString() ;
    private static String privateKey = AppContants.FEE_ADDRESS_KEY.get("feeAddressKey").toString() ;
    private EthFilter getFilter(BigInteger startBlock) {
        if (startBlock != null) {