From fd3a47d83dc6373275f8f6431b67b569f08e1428 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 05 Jun 2020 11:26:48 +0800
Subject: [PATCH] finish contract order history list interface
---
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java | 25 ++++++++
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java | 54 ++++++++++++++++++
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java | 6 ++
src/main/resources/mapper/contract/ContractOrderDao.xml | 6 ++
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 13 ++++
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java | 1
src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java | 10 ++-
src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java | 4 +
src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java | 2
9 files changed, 118 insertions(+), 3 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 4593860..75b6fbe 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
@@ -4,6 +4,7 @@
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;
@@ -75,10 +76,13 @@
return contractHoldOrderService.changeBond(changeBondDto);
}
- @ApiOperation(value = "未完成--分页查询历史订单列表")
- @GetMapping(value = "/findHistoryOrderList")
+ @ApiOperation(value = "分页查询历史订单列表")
+ @ApiResponses({
+ @ApiResponse(code = 0, message = "success", response = OrderListVo.class)
+ })
+ @PostMapping(value = "/findHistoryOrderList")
public Result findHistoryOrderList(@RequestBody @Validated OrderListDto orderListDto) {
- return null;
+ return contractHoldOrderService.findOrderList(orderListDto);
}
@ApiOperation(value = "获取合约页面资产信息")
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 90694a5..4a1bd7d 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
@@ -1,10 +1,14 @@
package com.xcong.excoin.modules.contract.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
/**
* @author helius
*/
public interface ContractOrderDao extends BaseMapper<ContractOrderEntity> {
+
+ public IPage<ContractOrderEntity> selectContractOrderInPage(Page<ContractOrderEntity> page, Long memberId);
}
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 1f43211..2367df6 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
@@ -17,6 +17,7 @@
public static final ContractHoldOrderEntityMapper INSTANCE = Mappers.getMapper(ContractHoldOrderEntityMapper.class);
@Mapping(target = "orderType", source = "openingType")
+ @Mapping(target = "openingTime", source = "createTime")
public abstract ContractOrderEntity holdOrderToOrder(ContractHoldOrderEntity holdOrderEntity);
public abstract HoldOrderListVo holdOrderToDto(ContractHoldOrderEntity holdOrderEntity);
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
new file mode 100644
index 0000000..d77d2ab
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java
@@ -0,0 +1,25 @@
+package com.xcong.excoin.modules.contract.mapper;
+
+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.OrderListVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-06-05
+ **/
+@Mapper
+public abstract class ContractOrderEntityMapper {
+ public static final ContractOrderEntityMapper INSTANCE = Mappers.getMapper(ContractOrderEntityMapper.class);
+
+ public abstract OrderListVo orderEntityToOrderListVo(ContractOrderEntity orderEntity);
+
+ public abstract List<OrderListVo> orderEntitiesToOrderListVo(List<ContractOrderEntity> orderEntities);
+
+ public abstract Page<OrderListVo> pageEntityToPageVo(IPage<ContractOrderEntity> orderEntityIPage);
+}
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
index 8245d48..12cc92c 100644
--- 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
@@ -1,11 +1,13 @@
package com.xcong.excoin.modules.contract.parameter.vo;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
+import java.util.Date;
/**
* @author wzy
@@ -39,6 +41,10 @@
@ApiModelProperty("开仓手续费")
private BigDecimal openingFeeAmount;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("开仓时间")
+ private Date openingTime;
+
@ApiModelProperty("保证金")
private BigDecimal bondAmount;
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
new file mode 100644
index 0000000..573d040
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java
@@ -0,0 +1,54 @@
+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 = "OrderListVo", description = "历史委托订单接口返回参数类")
+public class OrderListVo {
+
+ @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空")
+ private int orderType;
+
+ @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 int symbolCnt;
+
+ @ApiModelProperty("已实现盈亏")
+ private BigDecimal rewardRatio;
+
+ @ApiModelProperty("平仓类型 2平多3平空4爆仓平多5爆仓平空6止盈平多7止盈平空8止损平多9止损平空")
+ private int closingType;
+
+ @ApiModelProperty("平仓手续费")
+ private BigDecimal closingFeeAmount;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("平仓时间")
+ private Date closingTime;
+
+ @ApiModelProperty("强平价")
+ private BigDecimal forceClosingPrice;
+
+}
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 0e54fbc..5498034 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
@@ -38,4 +38,6 @@
public Result findHoldOrderDetailById(Long id);
+ public Result findOrderList(OrderListDto orderListDto);
+
}
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 f8b8a19..796710d 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
@@ -3,6 +3,8 @@
import cn.hutool.core.collection.CollUtil;
import com.alibaba.druid.sql.visitor.functions.If;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.excoin.common.LoginUserUtils;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
@@ -16,10 +18,12 @@
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.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.service.ContractHoldOrderService;
import com.xcong.excoin.modules.member.dao.MemberLevelRateDao;
import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
@@ -537,4 +541,13 @@
HoldOrderDetailVo holdOrderDetailVo = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrderDetailVo(holdOrderEntity);
return Result.ok(holdOrderDetailVo);
}
+
+ @Override
+ public Result findOrderList(OrderListDto orderListDto) {
+ MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ Page<ContractOrderEntity> page = new Page<>(orderListDto.getPageNum(), orderListDto.getPageSize());
+ IPage<ContractOrderEntity> list = contractOrderDao.selectContractOrderInPage(page, memberEntity.getId());
+ Page<OrderListVo> result = ContractOrderEntityMapper.INSTANCE.pageEntityToPageVo(list);
+ return Result.ok(result);
+ }
}
diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml
index 9e08e1f..d98a8d3 100644
--- a/src/main/resources/mapper/contract/ContractOrderDao.xml
+++ b/src/main/resources/mapper/contract/ContractOrderDao.xml
@@ -2,4 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xcong.excoin.modules.contract.dao.ContractOrderDao">
+
+ <select id="selectContractOrderInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
+ select * from contract_order where member_id=#{memberId}
+ order by create_time desc
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1