wzy
2020-06-05 340044fe65a03df2ac547f2de63b04229b90f97f
modify
3 files added
1 files deleted
4 files modified
180 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java 56 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java 31 ●●●● patch | view | raw | blame | history
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);
    }
}