Helius
2020-06-05 fd3a47d83dc6373275f8f6431b67b569f08e1428
finish contract order history list interface
2 files added
7 files modified
121 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java 10 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java 54 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/contract/ContractOrderDao.xml 6 ●●●●● patch | view | raw | blame | history
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 = "获取合约页面资产信息")
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);
}
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);
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractOrderEntityMapper.java
New file
@@ -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);
}
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;
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java
New file
@@ -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;
}
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);
}
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);
    }
}
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>