| | |
| | | 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 io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import io.swagger.annotations.ApiOperation; |
| | | 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.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Valid; |
| | | |
| | | /** |
| | | * @author wzy |
| | | * @date 2020-05-28 |
| | | **/ |
| | | @Api(value = "币种相关轮询接口类", tags = "币种相关轮询接口类") |
| | | @Api(value = "K线以及币种相关轮询接口类", tags = "K线以及币种相关轮询接口类") |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping(value = "/api/symbols") |
| | |
| | | @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(Integer type) { |
| | | 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); |
| | | } |
| | | |
| | | } |