coinex02 // level2 接入okx数据

文章介绍了如何使用Java进行深度数据查询,包括创建实体类DepthsVo和DepthItemVo来存储委托买单和卖单信息,以及使用@Controller处理HTTP请求,从模拟的OKX数据中获取并返回深度盘口数据。
摘要由CSDN通过智能技术生成

 0. 课程视频

22-深度数据的查询_哔哩哔哩_bilibili

1. 实体类DepthsVo 选出属性 解耦

import org.example.domain.DepthItemVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;

@Data
@ApiModel(value = "深度盘口数据")
public class DepthsVo {
    /**
     * 委托买单
     */
    @ApiModelProperty(value = "委托买单")
    private List<DepthItemVo> bids = Collections.emptyList() ;

    /**
     * 委托卖单
     */
    @ApiModelProperty(value = "委托卖单")
    private List<DepthItemVo> asks = Collections.emptyList() ;

    /**
     * 当前成交价(GCN)
     */
    @ApiModelProperty(value = "当前成交价GCN")
    private BigDecimal price = BigDecimal.ZERO;

    /**
     * 当前成交价对应CNY价格
     */
    @ApiModelProperty(value = "当前成交价CNY")
    private BigDecimal cnyPrice =  BigDecimal.ZERO;
}

2. 前端确定 请求url

 http://127.0.0.1/exchange/markets/depth/BTCGCN/DEFAULT

3. DepthItemVo 

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

@ApiModel("明细")
@NoArgsConstructor
@AllArgsConstructor
@Data
public class DepthItemVo implements Comparable<DepthItemVo> {

    /**
     * 价格
     */
    @ApiModelProperty(value = "价格")
    private BigDecimal price = BigDecimal.ZERO;;

    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    private BigDecimal volume = BigDecimal.ZERO;


    @Override
    public int compareTo(DepthItemVo o) {
        return this.price.compareTo(o.getPrice());
    }
}

4. controller ->MarketController

public R<DepthsVo> findDeptVosSymbol(@PathVariable("symbol") String symbol, String dept) { // @PathVariable("symbol") 路径里的值
        // 交易市场
        Market market = marketService.getMarkerBySymbol(symbol);

        DepthsVo depthsVo = new DepthsVo();
        depthsVo.setCnyPrice(market.getOpenPrice()); // CNY的价格
        depthsVo.setPrice(market.getOpenPrice()); // GCN的价格
        
// 接入okx 数据的地方
        // 假数据 
        depthsVo.setAsks(
         Arrays.asList(
            new DepthItemVo(BigDecimal.valueOf(7.00000),BigDecimal.valueOf(100)
            new DepthItemVo(BigDecimal.valueOf(6.00000),BigDecimal.valueOf(100)
        ));
        depthsVo.setBids(
         Arrays.asList(
            new DepthItemVo(BigDecimal.valueOf(5.00000),BigDecimal.valueOf(100)
            new DepthItemVo(BigDecimal.valueOf(4.00000),BigDecimal.valueOf(100)
        ));
        return R.ok(depthsVo);

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值