fix
Helius
2021-11-04 08533cfc3bcd964ba89b12abe55010619d6cfdbb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.xcong.excoin.modules.symbols.controller;
 
import com.alibaba.fastjson.JSON;
import com.huobi.client.model.Candlestick;
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.modules.symbols.parameter.dto.KlineDetailDto;
import com.xcong.excoin.modules.symbols.parameter.vo.HomeSymbolsVo;
import com.xcong.excoin.modules.symbols.parameter.vo.KlineDataVo;
import com.xcong.excoin.modules.symbols.service.SymbolsService;
import com.xcong.excoin.utils.RedisUtils;
import com.xcong.excoin.utils.TypeJudgeUtils;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import javax.validation.Valid;
 
/**
 * @author wzy
 * @date 2020-05-28
 **/
@Api(value = "K线以及币种相关轮询接口类", tags = "K线以及币种相关轮询接口类")
@Slf4j
@RestController
@RequestMapping(value = "/api/symbols")
public class SymbolsController {
 
    @Resource
    private SymbolsService symbolsService;
 
    @Resource
    private RedisUtils redisUtils;
 
    @ApiOperation(value = "轮询获取app首页币种交易信息", notes = "轮询获取app首页币种交易信息")
    @ApiResponses({
            @ApiResponse(code = 0, message = "success", response = HomeSymbolsVo.class)
    })
    @GetMapping(value = "/homeSymbols")
    public Result homeSymbols(@ApiParam(name = "type", value = "类型1-币币2-合约3-自选", required = true, example = "1") @RequestParam(value = "type") Integer type) {
        return symbolsService.homeSymbols(type);
    }
 
    @ApiOperation(value = "根据币种查询币种当前各种数据", notes = "根据币种查询币种当前各种数据")
    @ApiResponses({
            @ApiResponse(code = 0, message = "success", response = HomeSymbolsVo.class)
    })
    @GetMapping(value = "/findSymbolData")
    public Result findSymbolData(@ApiParam(name = "symbol", value = "币种", required = true, example = "BTC/USDT") @RequestParam(value = "symbol") String symbol) {
        return symbolsService.findSymbolData(symbol);
    }
 
    @ApiOperation(value = "查询历史K线数据", notes = "查询历史K线数据")
    @ApiResponses({
            @ApiResponse(code = 0, message = "success", response = KlineDataVo.class)
    })
    @PostMapping(value = "/klineDetail")
    public Result klineDetail(@RequestBody @Valid KlineDetailDto klineDetailDto) {
        if (!TypeJudgeUtils.klinePeriod(klineDetailDto.getPeriod())) {
            return Result.fail("非法参数");
        }
        return symbolsService.findKlineDetails(klineDetailDto);
    }
 
    @ApiOperation(value = "查询当日最高最低价")
    @GetMapping(value = "/getDayHighAndLow")
    public Result getDayHighAndLow(@ApiParam(name = "symbol", value = "币种", required = true, example = "BTC/USDT") @RequestParam(value = "symbol") String symbol) {
        Candlestick object = (Candlestick) redisUtils.get(symbol);
        return Result.ok(object);
    }
 
}