9 files modified
1 files added
| | |
| | | "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; |
| | |
| | | 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.*; |
| | |
| | | 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() { |
| | |
| | | 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()); |
| | | } |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | package cc.mrbird.febs.dapp.service; |
| | | |
| | | import cc.mrbird.febs.dapp.dto.SystemDto; |
| | | import cc.mrbird.febs.dapp.entity.DappMineDataEntity; |
| | | |
| | | import java.util.Map; |
| | |
| | | Map<String, Object> findTotalInComeAndList(); |
| | | |
| | | Map<String, Object> globalSetting(); |
| | | |
| | | SystemDto system(); |
| | | } |
| | |
| | | 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 { |
| | | |
| | |
| | | |
| | | |
| | | void transfer(TransferDto transferDto); |
| | | |
| | | Map<String, BigDecimal> calPrice(); |
| | | } |
| | |
| | | fundFlow.setTargetAmount(transferAmount); |
| | | dappFundFlowDao.updateById(fundFlow); |
| | | |
| | | // TODO 划点分配 |
| | | |
| | | //TODO 自动转账 |
| | | // String hash = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer(e.from, transferAmount); |
| | | // fundFlow.setToHash(hash); |
| | |
| | | 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); |
| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author |
| | |
| | | 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; |
| | | } |
| | | } |