From 340044fe65a03df2ac547f2de63b04229b90f97f Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Fri, 05 Jun 2020 01:56:39 +0800 Subject: [PATCH] modify --- /dev/null | 11 --- src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java | 56 ++++++++++++++++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 31 +++++++++- src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java | 3 + src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java | 24 ++++++++ src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java | 19 +++-- src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java | 9 +- src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java | 27 +++++++++ 8 files changed, 153 insertions(+), 27 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 3a8a0a6..4593860 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,10 +1,7 @@ package com.xcong.excoin.modules.contract.controller; import com.xcong.excoin.common.response.Result; -import com.xcong.excoin.modules.contract.parameter.dto.ChangeBondDto; -import com.xcong.excoin.modules.contract.parameter.dto.ProfitOrLessDto; -import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; -import com.xcong.excoin.modules.contract.parameter.dto.SymbolDto; +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.service.ContractHoldOrderService; @@ -48,10 +45,10 @@ return contractHoldOrderService.findHoldOrderList(symbol); } - @ApiOperation(value = "未完成--根据Id查询订单详情") + @ApiOperation(value = "根据Id查询持仓订单详情") @GetMapping(value = "/findHoldOrderDetail") public Result findHoldOrderDetail(@ApiParam(name = "id", value = "持仓ID", required = true, example = "1") @RequestParam(value = "id") Long id) { - return null; + return contractHoldOrderService.findHoldOrderDetailById(id); } @ApiOperation(value = "根据Id平仓") @@ -74,13 +71,13 @@ @ApiOperation(value = "调整保证金") @PostMapping(value = "/changeBond") - public Result changeBond(ChangeBondDto changeBondDto) { + public Result changeBond(@RequestBody @Validated ChangeBondDto changeBondDto) { return contractHoldOrderService.changeBond(changeBondDto); } @ApiOperation(value = "未完成--分页查询历史订单列表") @GetMapping(value = "/findHistoryOrderList") - public Result findHistoryOrderList() { + public Result findHistoryOrderList(@RequestBody @Validated OrderListDto orderListDto) { return null; } @@ -93,4 +90,10 @@ return contractHoldOrderService.findContractMoneyInfo(symbol); } + @ApiOperation(value = "调整杠杆") + @GetMapping(value = "/changeLeverRate") + public Result changeLeverRate(@RequestBody @Validated ChangeLeverRateDto changeLeverRateDto) { + return contractHoldOrderService.changeLeverRate(changeLeverRateDto); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java index 6843d63..1f43211 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java +++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java @@ -2,6 +2,7 @@ import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; +import com.xcong.excoin.modules.contract.parameter.vo.HoldOrderDetailVo; import com.xcong.excoin.modules.contract.parameter.vo.HoldOrderListVo; import org.mapstruct.Mapper; import org.mapstruct.Mapping; @@ -19,4 +20,6 @@ public abstract ContractOrderEntity holdOrderToOrder(ContractHoldOrderEntity holdOrderEntity); public abstract HoldOrderListVo holdOrderToDto(ContractHoldOrderEntity holdOrderEntity); + + public abstract HoldOrderDetailVo holdOrderToOrderDetailVo(ContractHoldOrderEntity holdOrderEntity); } diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java new file mode 100644 index 0000000..4ba4265 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java @@ -0,0 +1,24 @@ +package com.xcong.excoin.modules.contract.parameter.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author wzy + * @Date 2020/6/5 + **/ +@Data +@ApiModel(value = "ChangeLeverRateDto", description = "调整杠杆接口接收参数类") +public class ChangeLeverRateDto { + + @NotNull + @ApiModelProperty(value = "杠杆", example = "100") + private int leverRate; + + @NotNull + @ApiModelProperty(value = "币种", example = "BTC/USDT") + private String symbol; +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java new file mode 100644 index 0000000..6a35286 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java @@ -0,0 +1,27 @@ +package com.xcong.excoin.modules.contract.parameter.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +/** + * @Author wzy + * @Date 2020/6/5 + **/ +@Data +@ApiModel(value = "OrderListDto", description = "历史委托订单列表接口参数接受类") +public class OrderListDto { + + @NotNull + @Min(1) + @ApiModelProperty(value = "第几页", example = "1") + private int pageNum; + + @NotNull + @ApiModelProperty(value = "每页数量", example = "10") + private int pageSize; + +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java new file mode 100644 index 0000000..8245d48 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java @@ -0,0 +1,56 @@ +package com.xcong.excoin.modules.contract.parameter.vo; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author wzy + * @date 2020-06-01 + **/ +@Data +@ApiModel(value = "HoldOrderDetailVo", description = "获取持仓订单详情接口返回类") +public class HoldOrderDetailVo { + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("交易类型 1-市价2-限价") + private int tradeType; + + @ApiModelProperty("币种") + private String symbol; + + @ApiModelProperty("张数") + private int symbolCnt; + + @ApiModelProperty("规格") + private BigDecimal symbolSku; + + @ApiModelProperty("开仓价") + private BigDecimal openingPrice; + + @ApiModelProperty("开仓类型 1-开多 2-开空") + private int openingType; + + @ApiModelProperty("开仓手续费") + private BigDecimal openingFeeAmount; + + @ApiModelProperty("保证金") + private BigDecimal bondAmount; + + @ApiModelProperty("持仓费") + private BigDecimal holdAmount; + + @ApiModelProperty("预估强平价") + private BigDecimal forceClosingPrice; + + @ApiModelProperty("止损价") + private BigDecimal stopLossPrice; + + @ApiModelProperty("止盈价") + private BigDecimal stopProfitPrice; +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java deleted file mode 100644 index f0ca3df..0000000 --- a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.xcong.excoin.modules.contract.parameter.vo; - -import lombok.Data; - -/** - * @author wzy - * @date 2020-06-01 - **/ -@Data -public class OrderDetailVo { -} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java index 78cea15..0e54fbc 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java @@ -3,10 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; -import com.xcong.excoin.modules.contract.parameter.dto.ChangeBondDto; -import com.xcong.excoin.modules.contract.parameter.dto.ProfitOrLessDto; -import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; -import com.xcong.excoin.modules.contract.parameter.dto.SymbolDto; +import com.xcong.excoin.modules.contract.parameter.dto.*; import com.xcong.excoin.rabbit.pricequeue.OrderModel; import org.apache.ibatis.annotations.Param; @@ -37,4 +34,8 @@ public Result findContractMoneyInfo(String symbol); + public Result changeLeverRate(ChangeLeverRateDto changeLeverRateDto); + + public Result findHoldOrderDetailById(Long id); + } diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java index 35f39b2..f8b8a19 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java @@ -16,11 +16,9 @@ import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; import com.xcong.excoin.modules.contract.mapper.ContractHoldOrderEntityMapper; -import com.xcong.excoin.modules.contract.parameter.dto.ChangeBondDto; -import com.xcong.excoin.modules.contract.parameter.dto.ProfitOrLessDto; -import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; -import com.xcong.excoin.modules.contract.parameter.dto.SymbolDto; +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.HoldOrderDetailVo; import com.xcong.excoin.modules.contract.parameter.vo.HoldOrderListVo; import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; import com.xcong.excoin.modules.member.dao.MemberLevelRateDao; @@ -514,4 +512,29 @@ contractMoneyInfoVo.setLeverRate(rateEntity.getLevelRateUp()); return Result.ok(contractMoneyInfoVo); } + + @Override + public Result changeLeverRate(ChangeLeverRateDto changeLeverRateDto) { + MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); + MemberLevelRateEntity levelRateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), changeLeverRateDto.getSymbol()); + levelRateEntity.setLevelRateUp(changeLeverRateDto.getLeverRate()); + levelRateEntity.setLevelRateDown(changeLeverRateDto.getLeverRate()); + int i = memberLevelRateDao.updateById(levelRateEntity); + if (i > 0) { + return Result.ok("调整成功"); + } + return Result.fail("调整失败"); + } + + @Override + public Result findHoldOrderDetailById(Long id) { + MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); + ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), id); + if (holdOrderEntity == null) { + return Result.fail("订单不存在"); + } + + HoldOrderDetailVo holdOrderDetailVo = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrderDetailVo(holdOrderEntity); + return Result.ok(holdOrderDetailVo); + } } -- Gitblit v1.9.1