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); } } 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); } src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java
New file @@ -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; } src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java
New file @@ -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; } src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java
New file @@ -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; } src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java
File was deleted 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); } 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); } }