From 9da52c963fcbee66a3b299bb687c1efbbafe93a7 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 05 Jun 2020 11:59:04 +0800 Subject: [PATCH] finish all contract interface --- src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 96 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java index 518bbcf..0be9cc1 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java +++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java @@ -1,17 +1,109 @@ package com.xcong.excoin.modules.contract.controller; -import io.swagger.annotations.Api; +import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.contract.parameter.dto.*; +import com.xcong.excoin.modules.contract.parameter.vo.ContractMoneyInfoVo; +import com.xcong.excoin.modules.contract.parameter.vo.HoldOrderListVo; +import com.xcong.excoin.modules.contract.parameter.vo.OrderListVo; +import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; +import com.xcong.excoin.modules.contract.service.ContractOrderService; +import com.xcong.excoin.rabbit.producer.OrderProducer; +import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; /** * @author wzy * @date 2020-05-27 **/ @Slf4j -@Api(value = "ContractOrderController", tags = "合约订单历史接口类") +@Api(value = "ContractOrderController", tags = "合约订单接口类") @RestController @RequestMapping(value = "/api/contractOrder") public class ContractOrderController { + + @Resource + private ContractHoldOrderService contractHoldOrderService; + + @Resource + private ContractOrderService contractOrderService; + + @ApiOperation(value = "市价提交合约订单") + @PostMapping(value = "/submitOrder") + public Result submitOrder(@RequestBody SubmitOrderDto submitOrderDto) { + return contractHoldOrderService.submitOrder(submitOrderDto); + } + + @ApiOperation(value = "查询当前持仓订单列表 -- 轮询") + @ApiResponses({ + @ApiResponse(code = 0, message = "success", response = HoldOrderListVo.class) + }) + @GetMapping(value = "/findHoldOrderList") + public Result findHoldOrderList(@ApiParam(name = "symbol", value = "币种", example = "BTC/USDT") @RequestParam(value = "symbol", required = false) String symbol) { + return contractHoldOrderService.findHoldOrderList(symbol); + } + + @ApiOperation(value = "根据Id查询持仓订单详情") + @GetMapping(value = "/findHoldOrderDetail") + public Result findHoldOrderDetail(@ApiParam(name = "id", value = "持仓ID", required = true, example = "1") @RequestParam(value = "id") Long id) { + return contractHoldOrderService.findHoldOrderDetailById(id); + } + + @ApiOperation(value = "根据Id平仓") + @GetMapping(value = "/closingOrder") + public Result closingOrder(@ApiParam(name = "id", value = "持仓ID", required = true, example = "1") @RequestParam(value = "id") Long id) { + return contractHoldOrderService.cancelHoldOrder(id); + } + + @ApiOperation(value = "一键平仓") + @PostMapping(value = "/oneKeyClosing") + public Result oneKeyClosing(@RequestBody SymbolDto symbolDto) { + return contractHoldOrderService.cancelHoldOrderBatch(symbolDto); + } + + @ApiOperation(value = "设置止盈止损") + @PostMapping(value = "/setTargetProfitOrLoss") + public Result setTargetProfitOrLoss(@RequestBody @Validated ProfitOrLessDto profitOrLessDto) { + return contractHoldOrderService.setTargetProfitOrLess(profitOrLessDto); + } + + @ApiOperation(value = "调整保证金") + @PostMapping(value = "/changeBond") + public Result changeBond(@RequestBody @Validated ChangeBondDto changeBondDto) { + return contractHoldOrderService.changeBond(changeBondDto); + } + + @ApiOperation(value = "分页查询历史订单列表") + @ApiResponses({ + @ApiResponse(code = 0, message = "success", response = OrderListVo.class) + }) + @PostMapping(value = "/findHistoryOrderList") + public Result findHistoryOrderList(@RequestBody @Validated OrderListDto orderListDto) { + return contractHoldOrderService.findOrderList(orderListDto); + } + + @ApiOperation(value = "获取合约页面资产信息") + @ApiResponses({ + @ApiResponse(code = 0, message = "success", response = ContractMoneyInfoVo.class) + }) + @GetMapping(value = "/findContractMoneyInfo") + public Result findContractMoneyInfo(@ApiParam(name = "symbol", value = "币种", required = true, example = "BTC/USDT") @RequestParam(value = "symbol") String symbol) { + return contractHoldOrderService.findContractMoneyInfo(symbol); + } + + @ApiOperation(value = "调整杠杆") + @PostMapping(value = "/changeLeverRate") + public Result changeLeverRate(@RequestBody @Validated ChangeLeverRateDto changeLeverRateDto) { + return contractHoldOrderService.changeLeverRate(changeLeverRateDto); + } + + @ApiOperation(value = "查询历史委托订单详情") + @GetMapping(value = "/findOrderDetailById") + public Result findOrderDetailById(@ApiParam(name = "id", value = "订单id", required = true, example = "1") @RequestParam(value = "id") Long id) { + return contractHoldOrderService.findOrderDetailById(id); + } + } -- Gitblit v1.9.1