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); } } 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); } 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); } src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java
New file @@ -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; } 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; 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); } 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); } } 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>