From c7f51459273f554003898bfd35cd2bf412023116 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 30 May 2022 15:06:07 +0800 Subject: [PATCH] add calPrice --- src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java | 4 ++ src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 12 ++++++ src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java | 6 +-- src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java | 13 ++++++ src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java | 3 + src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java | 6 +++ src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java | 4 + src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 15 +++++++ src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java | 31 +++++++++++++++ src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java | 18 +++++++++ 10 files changed, 107 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java b/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java index e4a8431..c3895d7 100644 --- a/src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java +++ b/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; diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java index 1c4613d..2588ec4 100644 --- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java +++ b/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() { diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java index 69aa854..a74ed22 100644 --- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java +++ b/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()); + } } diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java new file mode 100644 index 0000000..be00c76 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java @@ -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; +} diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java index 207370e..09f6119 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java +++ b/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(); } diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java index 1645efa..d016ad1 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java +++ b/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(); } 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 79fdc1d..9090ee8 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 @@ -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); 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 2cdc9c8..0d3d668 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 @@ -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); diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java index 3334b1e..6143f49 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java +++ b/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; + } } diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java index 9483f16..7a17fcb 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java +++ b/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; + } } -- Gitblit v1.9.1