KKSU
2024-07-12 43e9c46308e72856c710bb726fc831ab8db9e769
逻辑
3 files modified
1 files added
57 ■■■■■ changed files
src/main/java/cc/mrbird/febs/FebsShiroApplication.java 36 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/contants/AppContants.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/SystemConstants.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java 3 ●●●●● 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.dapp.dto.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,36 @@
@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/AppContants.java
@@ -1,9 +1,13 @@
package cc.mrbird.febs.common.contants;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
public class AppContants {
    public static final Map FEE_ADDRESS_KEY = new HashMap<String,String>();
    public static final String DAO_JI_JING_HUI_PERCENT = "0.03";
    public static final String DAO_JI_SHU_PERCENT = "0.02";
    public static final String DAO_TEAM_PERK_PERCENT = "0.05";
src/main/java/cc/mrbird/febs/dapp/dto/SystemConstants.java
New file
@@ -0,0 +1,14 @@
package cc.mrbird.febs.dapp.dto;
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/enumerate/DataDictionaryEnum.java
@@ -4,6 +4,9 @@
@Getter
public enum DataDictionaryEnum {
    // 分发地址的私钥
    FEE_ADDRESS_KEY("FEE_ADDRESS_KEY","FEE_ADDRESS_KEY"),
    BUCHANG_SYMBOL("BUCHANG_SYMBOL","BUCHANG_SYMBOL"),
    START_SYMBOL("START_SYMBOL","START_SYMBOL"),
    USDT_BALANCE_TIME("USDT_BALANCE_TIME","USDT_BALANCE_TIME"),