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/mapper/ContractOrderEntityMapper.java | 3 + src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java | 3 + src/main/resources/mapper/contract/ContractOrderDao.xml | 4 + src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 17 ++++- src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java | 81 +++++++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java | 8 ++ src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java | 3 + src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java | 2 8 files changed, 116 insertions(+), 5 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 75b6fbe..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 @@ -95,9 +95,15 @@ } @ApiOperation(value = "调整杠杆") - @GetMapping(value = "/changeLeverRate") + @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); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java index 4a1bd7d..f3ac561 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java +++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; +import org.apache.ibatis.annotations.Param; /** * @author helius @@ -11,4 +12,6 @@ public interface ContractOrderDao extends BaseMapper<ContractOrderEntity> { public IPage<ContractOrderEntity> selectContractOrderInPage(Page<ContractOrderEntity> page, Long memberId); + + public ContractOrderEntity selectOrderDetailByIdAndMemberId(@Param("id") Long id, @Param("memberId") Long memberId); } diff --git a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java index d77d2ab..b2e3ee2 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java +++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; +import com.xcong.excoin.modules.contract.parameter.vo.OrderDetailVo; import com.xcong.excoin.modules.contract.parameter.vo.OrderListVo; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -22,4 +23,6 @@ public abstract List<OrderListVo> orderEntitiesToOrderListVo(List<ContractOrderEntity> orderEntities); public abstract Page<OrderListVo> pageEntityToPageVo(IPage<ContractOrderEntity> orderEntityIPage); + + public abstract OrderDetailVo entityToDetailVo(ContractOrderEntity orderEntity); } 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 new file mode 100644 index 0000000..53db2fe --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java @@ -0,0 +1,81 @@ +package com.xcong.excoin.modules.contract.parameter.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author wzy + * @date 2020-06-05 + **/ +@Data +@ApiModel(value = "OrderDetailVo", description = "历史委托订单详情接口返回参数类") +public class OrderDetailVo { + + @ApiModelProperty("交易类型 1-市价2-限价") + private int tradeType; + + @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空") + private int orderType; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("委托开仓价") + private BigDecimal entrustOpeningPrice; + + @ApiModelProperty("委托时间") + private Date entrustTime; + + @ApiModelProperty("币种") + private String symbol; + + @ApiModelProperty("张数") + private int symbolCnt; + + @ApiModelProperty("平仓价") + private BigDecimal closingPrice; + + @ApiModelProperty("平仓手续费") + private BigDecimal closingFeeAmount; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("平仓时间") + private Date closingTime; + + @ApiModelProperty("平仓类型 2平多3平空4爆仓平多5爆仓平空6止盈平多7止盈平空8止损平多9止损平空") + private int closingType; + + @ApiModelProperty("止损价") + private BigDecimal stopLosePrice; + + @ApiModelProperty("止盈价") + private BigDecimal stopProfitPrice; + + @ApiModelProperty("盈亏金额") + private BigDecimal rewardAmount; + + @ApiModelProperty("盈亏比例") + private BigDecimal rewardRatio; + + @ApiModelProperty("开仓价") + private BigDecimal openingPrice; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("开仓时间") + private Date openingTime; + + @ApiModelProperty("开仓手续费") + private BigDecimal openingFeeAmount; + + @ApiModelProperty("保证金") + private BigDecimal bondAmount; + + @ApiModelProperty("持仓费") + private BigDecimal holdAmount; + +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java index 573d040..6ae45fe 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java @@ -16,6 +16,9 @@ @ApiModel(value = "OrderListVo", description = "历史委托订单接口返回参数类") public class OrderListVo { + @ApiModelProperty("订单ID") + private Long id; + @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空") private int orderType; 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 5498034..9294a72 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 @@ -40,4 +40,6 @@ public Result findOrderList(OrderListDto orderListDto); + public Result findOrderDetailById(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 796710d..613d6f0 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 @@ -20,10 +20,7 @@ import com.xcong.excoin.modules.contract.mapper.ContractHoldOrderEntityMapper; import com.xcong.excoin.modules.contract.mapper.ContractOrderEntityMapper; 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.parameter.vo.OrderListVo; +import com.xcong.excoin.modules.contract.parameter.vo.*; import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; import com.xcong.excoin.modules.member.dao.MemberLevelRateDao; import com.xcong.excoin.modules.member.dao.MemberWalletContractDao; @@ -550,4 +547,16 @@ Page<OrderListVo> result = ContractOrderEntityMapper.INSTANCE.pageEntityToPageVo(list); return Result.ok(result); } + + @Override + public Result findOrderDetailById(Long id) { + MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); + ContractOrderEntity contractOrderEntity = contractOrderDao.selectOrderDetailByIdAndMemberId(id, memberEntity.getId()); + if (contractOrderEntity == null) { + return Result.fail("订单不存在"); + } + + OrderDetailVo orderDetailVo = ContractOrderEntityMapper.INSTANCE.entityToDetailVo(contractOrderEntity); + return Result.ok(orderDetailVo); + } } diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml index d98a8d3..4ad5cbc 100644 --- a/src/main/resources/mapper/contract/ContractOrderDao.xml +++ b/src/main/resources/mapper/contract/ContractOrderDao.xml @@ -8,4 +8,8 @@ order by create_time desc </select> + <select id="selectOrderDetailByIdAndMemberId" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity"> + select * from contract_order where id=#{id} and member_id=#{memberId} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1