package com.jxy.marketall.service;

import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@Service
@FeignClient(name = "MarketDataService")
public interface NodeJsMarketFeign {

    @GetMapping("/NDAQ")
    public JSONObject NDAQ(@RequestParam Map<String, String> map);

    @GetMapping("/coinmetrics")
    public JSONObject coinmetrics(@RequestParam Map<String, String> map);

    @GetMapping("/price")
    public JSONObject price(@RequestParam Map<String, String> map);

    @GetMapping("/transrate")
    public JSONObject transrate(@RequestParam Map<String, String> map);

    @GetMapping("/transactions")
    public JSONObject transactions(@RequestParam Map<String, String> map);

    @GetMapping("/transsizemean")
    public JSONObject transsizemean(@RequestParam Map<String, String> map);

    @GetMapping("/transsizetotal")
    public JSONObject transsizetotal(@RequestParam Map<String, String> map);

    @GetMapping("/ETF")
    public JSONObject ETF(@RequestParam Map<String, String> map);

    @GetMapping("/total_address")
    public JSONObject totalAddress(@RequestParam Map<String, String> map);

    @GetMapping("/new_address")
    public JSONObject newAddress(@RequestParam Map<String, String> map);

    @GetMapping("/active_address")
    public JSONObject activeAddress(@RequestParam Map<String, String> map);

    @GetMapping("/sending_address")
    public JSONObject sendingAddress(@RequestParam Map<String, String> map);

    @GetMapping("/receiving_address")
    public JSONObject receivingAddress(@RequestParam Map<String, String> map);

    @GetMapping("/OHLCprice")
    public JSONObject OHLCprice(@RequestParam Map<String, String> map);

    @GetMapping("/market")
    public JSONObject market(@RequestParam Map<String, String> map);

    @GetMapping("/distribution")
    public JSONObject distribution(@RequestParam Map<String, String> map);

    @GetMapping("/derivatives")
    public Object derivatives(@RequestParam Map<String, String> map);

    @GetMapping("/coinmarket")
    public JSONObject coinmarket(@RequestParam Map<String, String> map);

    @GetMapping("/coinmarket/all")
    public JSONObject coinmarketAll();

}
