From 340044fe65a03df2ac547f2de63b04229b90f97f Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Fri, 05 Jun 2020 01:56:39 +0800
Subject: [PATCH] modify

---
 /dev/null                                                                                      |   11 ---
 src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java            |   56 ++++++++++++++++++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java |   31 +++++++++-
 src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java      |    3 +
 src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java          |   24 ++++++++
 src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java        |   19 +++--
 src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java          |    9 +-
 src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java                |   27 +++++++++
 8 files changed, 153 insertions(+), 27 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 3a8a0a6..4593860 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
@@ -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);
+    }
+
 }
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 6843d63..1f43211 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
@@ -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);
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java
new file mode 100644
index 0000000..4ba4265
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/ChangeLeverRateDto.java
@@ -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;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java
new file mode 100644
index 0000000..6a35286
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/OrderListDto.java
@@ -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;
+
+}
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
new file mode 100644
index 0000000..8245d48
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java
@@ -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;
+}
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
deleted file mode 100644
index f0ca3df..0000000
--- a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.xcong.excoin.modules.contract.parameter.vo;
-
-import lombok.Data;
-
-/**
- * @author wzy
- * @date 2020-06-01
- **/
-@Data
-public class OrderDetailVo {
-}
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 78cea15..0e54fbc 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
@@ -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);
+
 }
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 35f39b2..f8b8a19 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
@@ -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);
+    }
 }

--
Gitblit v1.9.1