Helius
2022-05-30 c7f51459273f554003898bfd35cd2bf412023116
add calPrice
9 files modified
1 files added
112 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java 31 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java 4 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
@@ -36,6 +36,24 @@
            "0xefe98e00cd227b6322e892c82fcbd8eadf119c3188b7e574bc624f65405d61bf",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dbad7a60112a6371271e8eb79ee68",
            ""),
    /**
     * 源池币
     */
    BSC_TFC_SOURCE("BSC", "0x977a9ddfb965a9a3416fa72ca7f91c4949c18f25",
            "0xefe98e00cd227b6322e892c82fcbd8eadf119c3188b7e574bc624f65405d61bf",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dbad7a60112a6371271e8eb79ee68",
            ""),
    /**
     * 源池U
     */
    BSC_USDT_SOURCE("BSC", "0x977a9ddfb965a9a3416fa72ca7f91c4949c18f25",
            "0xefe98e00cd227b6322e892c82fcbd8eadf119c3188b7e574bc624f65405d61bf",
            "https://bsc-dataseed1.ninicoin.io",
            "0x55d398326f99059fF775485246999027B3197955",
            "");
    private String chain;
src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
@@ -3,12 +3,15 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.dapp.dto.ApproveDto;
import cc.mrbird.febs.dapp.dto.ConnectDto;
import cc.mrbird.febs.dapp.dto.SystemDto;
import cc.mrbird.febs.dapp.service.DappMemberService;
import cc.mrbird.febs.dapp.service.DappSimulateDataService;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.dapp.vo.SimulateDataVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
@@ -55,6 +58,16 @@
        return new FebsResponse().success().data(dappSystemService.findTotalInComeAndList());
    }
    @ApiOperation(value = "系统参数", notes = "系统参数")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = SystemDto.class)
    })
    @GetMapping(value = "/system")
    public FebsResponse system() {
        return new FebsResponse().success().data(dappSystemService.system());
    }
//    @ApiOperation(value = "全局设置", notes = "全局设置")
//    @GetMapping(value = "/globalSetting")
//    public FebsResponse globalSetting() {
src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -64,4 +64,10 @@
    public FebsResponse recordInPage(@RequestBody RecordInPageDto recordInPageDto) {
        return new FebsResponse().success().data(dappWalletService.recordInPage(recordInPageDto));
    }
    @ApiOperation(value = "计算最新价", notes = "计算最新价")
    @PostMapping(value = "/calPrice")
    public FebsResponse calPrice() {
        return new FebsResponse().success().data(dappWalletService.calPrice());
    }
}
src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
New file
@@ -0,0 +1,31 @@
package cc.mrbird.febs.dapp.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author wzy
 * @date 2022-05-30
 **/
@Data
@ApiModel(value = "SystemDto", description = "系统参数接口返回参数类")
public class SystemDto {
    @ApiModelProperty(value = "今天可卖总数")
    private BigDecimal saleTotal;
    @ApiModelProperty(value = "今日可卖剩余")
    private BigDecimal saleRemain;
    @ApiModelProperty(value = "今天可买总数")
    private BigDecimal buyTotal;
    @ApiModelProperty(value = "今天可买剩余")
    private BigDecimal buyRemain;
    @ApiModelProperty(value = "滑点(%)")
    private BigDecimal feeRatio;
}
src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -1,5 +1,6 @@
package cc.mrbird.febs.dapp.service;
import cc.mrbird.febs.dapp.dto.SystemDto;
import cc.mrbird.febs.dapp.entity.DappMineDataEntity;
import java.util.Map;
@@ -9,4 +10,6 @@
    Map<String, Object> findTotalInComeAndList();
    Map<String, Object> globalSetting();
    SystemDto system();
}
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -11,7 +11,9 @@
import cc.mrbird.febs.dapp.vo.WalletInfoVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
public interface DappWalletService {
@@ -34,4 +36,6 @@
    void transfer(TransferDto transferDto);
    Map<String, BigDecimal> calPrice();
}
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -73,7 +73,9 @@
                fundFlow.setTargetAmount(transferAmount);
                dappFundFlowDao.updateById(fundFlow);
                //TODO 自动转账
                // TODO 划点分配
                // TODO 自动转账
//                String hash = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer(e.from, transferAmount);
//                fundFlow.setToHash(hash);
//                dappFundFlowDao.updateById(fundFlow);
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -47,11 +47,9 @@
            BigDecimal amount = BigDecimal.valueOf(tokens.intValue()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
            DappFundFlowEntity fundFlow = dappFundFlowDao.selectByFromHash(e.log.getTransactionHash(), 1);
            // TODO price
            BigDecimal newPrice = BigDecimal.valueOf(1);
            BigDecimal newPrice = fundFlow.getNewestPrice();
            BigDecimal transferAmount = amount.divide(newPrice, tfcDecimals, RoundingMode.HALF_DOWN);
            fundFlow.setNewestPrice(newPrice);
            // 更改状态为已同步
            fundFlow.setStatus(2);
            fundFlow.setTargetAmount(transferAmount);
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.dto.SystemDto;
import cc.mrbird.febs.dapp.entity.DappMineDataEntity;
import cc.mrbird.febs.dapp.entity.DappReturnRatioEntity;
import cc.mrbird.febs.dapp.mapper.DappReturnRatioDao;
@@ -58,4 +59,15 @@
        result.put("ratio", ratios);
        return result;
    }
    @Override
    public SystemDto system() {
        SystemDto system = new SystemDto();
        system.setBuyTotal(BigDecimal.valueOf(10000));
        system.setBuyRemain(BigDecimal.valueOf(100));
        system.setSaleTotal(BigDecimal.valueOf(10000));
        system.setSaleRemain(BigDecimal.valueOf(1000));
        system.setFeeRatio(BigDecimal.TEN);
        return system;
    }
}
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -6,6 +6,8 @@
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.common.utils.LoginUserUtil;
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.dto.RecordInPageDto;
import cc.mrbird.febs.dapp.dto.TransferDto;
import cc.mrbird.febs.dapp.dto.WalletOperateDto;
@@ -22,7 +24,9 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @author 
@@ -195,7 +199,18 @@
    public void transfer(TransferDto transferDto) {
        DappMemberEntity member = LoginUserUtil.getAppUser();
        ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(member.getAddress());
        ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name()).balanceOf(member.getAddress());
        DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
        dappFundFlowDao.insert(fundFlow);
    }
    @Override
    public Map<String, BigDecimal> calPrice() {
        HashMap<String, BigDecimal> map = new HashMap<>();
        map.put("x", BigDecimal.ONE);
        map.put("y", BigDecimal.valueOf(0.8D));
        return map;
    }
}