From 06643cf41d88a6b409fa666b4bfa95d3b8561cfd Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 05 Aug 2020 14:29:06 +0800
Subject: [PATCH] 20200805 代码提交
---
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeOrderInfoVo.java | 62 ++++++++
src/main/java/com/xcong/excoin/modules/documentary/dto/TradeOrderInfoDto.java | 22 +++
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeHistoryOrderInfoVo.java | 62 ++++++++
src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java | 39 ++++
src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java | 3
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java | 59 ++++++++
src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java | 7 +
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 165 +++++++++++++++++++++++
8 files changed, 413 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java b/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java
index 9c8c2c0..ba1a8f4 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java
@@ -10,17 +10,16 @@
import org.springframework.web.bind.annotation.RestController;
import com.xcong.excoin.common.response.Result;
-import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto;
+import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto;
import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto;
import com.xcong.excoin.modules.documentary.service.DocumentaryService;
-import com.xcong.excoin.modules.documentary.vo.DocumentaryOrderSetInfoVo;
-import com.xcong.excoin.modules.documentary.vo.MyFollowOrderVo;
+import com.xcong.excoin.modules.documentary.vo.TradeHistoryOrderInfoVo;
+import com.xcong.excoin.modules.documentary.vo.TradeOrderInfoVo;
+import com.xcong.excoin.modules.documentary.vo.TradeProfitInfoVo;
import com.xcong.excoin.modules.documentary.vo.TradeSetInfoVo;
import com.xcong.excoin.modules.documentary.vo.TraderStatusVo;
import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
@@ -46,6 +45,36 @@
}
/**
+ * 交易员设置--头部
+ */
+ @ApiOperation(value="交易员设置--头部", notes="交易员设置--头部")
+ @ApiResponses({@ApiResponse( code = 200, message = "success", response = TradeProfitInfoVo.class)})
+ @GetMapping(value = "/getTradeProfitInfo")
+ public Result getTradeProfitInfo() {
+ return documentaryService.getTradeProfitInfo();
+ }
+
+ /**
+ * 交易员设置--当前带单
+ */
+ @ApiOperation(value="交易员设置--当前带单", notes="交易员设置--当前带单")
+ @ApiResponses({@ApiResponse( code = 200, message = "success", response = TradeOrderInfoVo.class)})
+ @GetMapping(value = "/getTradeOrderInfo")
+ public Result getTradeOrderInfo(@RequestBody @Valid TradeOrderInfoDto tradeOrderInfoDto) {
+ return documentaryService.getTradeOrderInfo(tradeOrderInfoDto);
+ }
+
+ /**
+ * 交易员设置--历史带单
+ */
+ @ApiOperation(value="交易员设置--历史带单", notes="交易员设置--历史带单")
+ @ApiResponses({@ApiResponse( code = 200, message = "success", response = TradeHistoryOrderInfoVo.class)})
+ @GetMapping(value = "/getTradeHistoryOrderInfo")
+ public Result getTradeHistoryOrderInfo(@RequestBody @Valid TradeOrderInfoDto tradeOrderInfoDto) {
+ return documentaryService.getTradeHistoryOrderInfo(tradeOrderInfoDto);
+ }
+
+ /**
* 成为交易员---立即入驻
*/
@ApiOperation(value="成为交易员---立即入驻", notes="成为交易员---立即入驻")
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dto/TradeOrderInfoDto.java b/src/main/java/com/xcong/excoin/modules/documentary/dto/TradeOrderInfoDto.java
new file mode 100644
index 0000000..b95c20f
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/documentary/dto/TradeOrderInfoDto.java
@@ -0,0 +1,22 @@
+package com.xcong.excoin.modules.documentary.dto;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+@Data
+@ApiModel(value = "TradeOrderInfoDto", description = "参数接受类")
+public class TradeOrderInfoDto {
+
+ @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/documentary/service/DocumentaryService.java b/src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java
index 57ebc62..659ba24 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java
@@ -11,6 +11,7 @@
import com.xcong.excoin.modules.documentary.dto.HistoryOrderRecordsDto;
import com.xcong.excoin.modules.documentary.dto.MyFollowOrderDto;
import com.xcong.excoin.modules.documentary.dto.MyFollowTraderInfoDto;
+import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto;
import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto;
import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto;
import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity;
@@ -53,4 +54,10 @@
public Result updateTradeSetInfo(@Valid UpdateTradeSetInfoDto updateTradeSetInfoDto);
+ public Result getTradeProfitInfo();
+
+ public Result getTradeOrderInfo(@Valid TradeOrderInfoDto tradeOrderInfoDto);
+
+ public Result getTradeHistoryOrderInfo(@Valid TradeOrderInfoDto tradeOrderInfoDto);
+
}
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
index 53784bf..f2199a3 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -10,7 +10,6 @@
import javax.annotation.Resource;
import javax.validation.Valid;
-import org.apache.http.impl.NoConnectionReuseStrategy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -36,6 +35,7 @@
import com.xcong.excoin.modules.documentary.dto.HistoryOrderRecordsDto;
import com.xcong.excoin.modules.documentary.dto.MyFollowOrderDto;
import com.xcong.excoin.modules.documentary.dto.MyFollowTraderInfoDto;
+import com.xcong.excoin.modules.documentary.dto.TradeOrderInfoDto;
import com.xcong.excoin.modules.documentary.dto.UpdateDocumentaryOrderSetDto;
import com.xcong.excoin.modules.documentary.dto.UpdateTradeSetInfoDto;
import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity;
@@ -53,6 +53,9 @@
import com.xcong.excoin.modules.documentary.vo.MemberIsTradeVo;
import com.xcong.excoin.modules.documentary.vo.MyFollowOrderVo;
import com.xcong.excoin.modules.documentary.vo.MyFollowTraderInfoVo;
+import com.xcong.excoin.modules.documentary.vo.TradeHistoryOrderInfoVo;
+import com.xcong.excoin.modules.documentary.vo.TradeOrderInfoVo;
+import com.xcong.excoin.modules.documentary.vo.TradeProfitInfoVo;
import com.xcong.excoin.modules.documentary.vo.TradeSetInfoVo;
import com.xcong.excoin.modules.documentary.vo.TraderStatusVo;
import com.xcong.excoin.modules.member.dao.MemberDao;
@@ -258,6 +261,7 @@
MyFollowOrderVo myFollowOrderVo = new MyFollowOrderVo();
//获取交易员信息
Long orderId = contractOrderEntity.getId();
+ myFollowOrderVo.setOrderId(orderId);
FollowFollowerOrderRelationEntity FollowFollowerOrderRelation = followFollowerOrderRelationDao.selectHistoryOneByorderId(orderId);
Long tradeId = FollowFollowerOrderRelation.getTradeId();
FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(tradeId);
@@ -311,6 +315,7 @@
MyFollowOrderVo myFollowOrderVo = new MyFollowOrderVo();
//获取交易员信息
Long orderId = contractHoldOrderEntity.getId();
+ myFollowOrderVo.setOrderId(orderId);
FollowFollowerOrderRelationEntity FollowFollowerOrderRelation = followFollowerOrderRelationDao.selectNowOneByorderId(orderId);
Long tradeId = FollowFollowerOrderRelation.getTradeId();
FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectById(tradeId);
@@ -680,6 +685,164 @@
followTraderInfoDao.updateById(followTraderInfoEntity);
return Result.ok(MessageSourceUtils.getString("member_service_0024"));
}
+
+ @Override
+ public Result getTradeProfitInfo() {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ TradeProfitInfoVo tradeProfitInfoVo = new TradeProfitInfoVo();
+ //获取【交易员信息表】数据
+ FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId);
+ if(ObjectUtil.isNotEmpty(followTraderInfoEntity)) {
+ String avatar = followTraderInfoEntity.getAvatar();
+ tradeProfitInfoVo.setAvatar(avatar);
+ String nickname = followTraderInfoEntity.getNickname();
+ tradeProfitInfoVo.setNickname(nickname);
+ String declaration = followTraderInfoEntity.getDeclaration();
+ tradeProfitInfoVo.setDeclaration(declaration);
+ }
+ //获取【交易员收益信息】数据
+ FollowTraderProfitInfoVo followTraderProfitInfoVo = followTraderProfitInfoDao.selectOneByMemberId(memberId);
+ if(ObjectUtil.isNotEmpty(followTraderProfitInfoVo)) {
+ BigDecimal totalProfitRatio = followTraderProfitInfoVo.getTotalProfitRatio();
+ tradeProfitInfoVo.setTotalProfitRatio(totalProfitRatio);
+ BigDecimal totalProfit = followTraderProfitInfoVo.getTotalProfit();
+ tradeProfitInfoVo.setTotalProfit(totalProfit);
+ BigDecimal followerTotalProfit = followTraderProfitInfoVo.getFollowerTotalProfit();
+ tradeProfitInfoVo.setFollowerTotalProfit(followerTotalProfit);
+ BigDecimal winRate = followTraderProfitInfoVo.getWinRate();
+ tradeProfitInfoVo.setWinRate(winRate);
+ BigDecimal totalFollowerCnt = followTraderProfitInfoVo.getTotalFollowerCnt();
+ tradeProfitInfoVo.setTotalFollowerCnt(totalFollowerCnt);
+ BigDecimal totalOrderCnt = followTraderProfitInfoVo.getTotalOrderCnt();
+ tradeProfitInfoVo.setTotalOrderCnt(totalOrderCnt);
+ }
+ return Result.ok(tradeProfitInfoVo);
+ }
+
+ @Override
+ public Result getTradeOrderInfo(@Valid TradeOrderInfoDto tradeOrderInfoDto) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity member = memberDao.selectById(memberId);
+
+ List<TradeOrderInfoVo> myFollowOrderVos = new ArrayList<>();
+ //当前跟单
+ Page<ContractHoldOrderEntity> page = new Page<>(tradeOrderInfoDto.getPageNum(), tradeOrderInfoDto.getPageSize());
+ IPage<ContractHoldOrderEntity> contractHoldOrderEntitys = followFollowerProfitDao.getMyFollowOrderNowRecords(page, memberId);
+
+ List<ContractHoldOrderEntity> records = contractHoldOrderEntitys.getRecords();
+ if(CollUtil.isNotEmpty(records)) {
+ for(ContractHoldOrderEntity contractHoldOrderEntity : records) {
+ TradeOrderInfoVo myFollowOrderVo = new TradeOrderInfoVo();
+ //获取交易员信息
+ Long orderId = contractHoldOrderEntity.getId();
+ myFollowOrderVo.setOrderId(orderId);
+ FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId);
+ String nickname = followTraderInfoEntity.getNickname();
+ myFollowOrderVo.setNickname(nickname);
+
+ String symbol = contractHoldOrderEntity.getSymbol();
+ myFollowOrderVo.setSymbol(symbol);
+ int orderType = contractHoldOrderEntity.getOpeningType();
+ myFollowOrderVo.setOrderType(orderType);
+ int leverRatio = contractHoldOrderEntity.getLeverRatio();
+ myFollowOrderVo.setLeverRatio(leverRatio);
+ int symbolCnt = contractHoldOrderEntity.getSymbolCnt();
+ myFollowOrderVo.setSymbolCnt(symbolCnt);
+ BigDecimal bondAmount = contractHoldOrderEntity.getBondAmount().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setBondAmount(bondAmount);
+ BigDecimal openingPrice = contractHoldOrderEntity.getOpeningPrice().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setOpeningPrice(openingPrice);
+ String orderNo = contractHoldOrderEntity.getOrderNo();
+ myFollowOrderVo.setOrderNo(orderNo);
+ Date openingTime = contractHoldOrderEntity.getCreateTime();
+ myFollowOrderVo.setOpeningTime(openingTime);
+
+ // 获取最新价
+ BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
+ myFollowOrderVo.setNewPrice(newPrice);
+
+ BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(contractHoldOrderEntity.getSymbol());
+ // 盈亏
+ BigDecimal rewardRatio = BigDecimal.ZERO;
+ // 开多
+ if (contractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
+ // (最新价-开仓价)*规格*张数
+ rewardRatio = newPrice.subtract(contractHoldOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
+ // 开空
+ } else {
+ // (开仓价-最新价)*规格*张数
+ rewardRatio = contractHoldOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
+ }
+
+ if (member.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
+ PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
+ if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
+ rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
+ }
+ }
+ myFollowOrderVo.setRewardAmount(rewardRatio.setScale(2, BigDecimal.ROUND_DOWN));
+
+ // 回报率
+ BigDecimal returnRate = rewardRatio.divide(contractHoldOrderEntity.getBondAmount().subtract(contractHoldOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setRewardRatio(returnRate.setScale(2, BigDecimal.ROUND_DOWN));
+
+ myFollowOrderVos.add(myFollowOrderVo);
+ }
+ }
+
+ return Result.ok(myFollowOrderVos);
+ }
+
+ @Override
+ public Result getTradeHistoryOrderInfo(@Valid TradeOrderInfoDto tradeOrderInfoDto) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ List<TradeHistoryOrderInfoVo> myFollowOrderVos = new ArrayList<>();
+ //历史跟单
+ Page<ContractOrderEntity> page = new Page<>(tradeOrderInfoDto.getPageNum(), tradeOrderInfoDto.getPageSize());
+ IPage<ContractOrderEntity> contractOrderEntitys = followFollowerProfitDao.getMyFollowOrderHistoryRecords(page, memberId);
+
+ List<ContractOrderEntity> records = contractOrderEntitys.getRecords();
+ if(CollUtil.isNotEmpty(records)) {
+ for(ContractOrderEntity contractOrderEntity : records) {
+ TradeHistoryOrderInfoVo myFollowOrderVo = new TradeHistoryOrderInfoVo();
+ //获取交易员信息
+ FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId);
+ String nickname = followTraderInfoEntity.getNickname();
+ myFollowOrderVo.setNickname(nickname);
+ Long orderId = contractOrderEntity.getId();
+ myFollowOrderVo.setOrderId(orderId);
+ String symbol = contractOrderEntity.getSymbol();
+ myFollowOrderVo.setSymbol(symbol);
+ int orderType = contractOrderEntity.getOrderType();
+ myFollowOrderVo.setOrderType(orderType);
+ int leverRatio = contractOrderEntity.getLeverRatio();
+ myFollowOrderVo.setLeverRatio(leverRatio);
+ BigDecimal rewardAmount = contractOrderEntity.getRewardAmount().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setRewardAmount(rewardAmount);
+ BigDecimal rewardRatio = contractOrderEntity.getRewardRatio().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setRewardRatio(rewardRatio);
+ int symbolCnt = contractOrderEntity.getSymbolCnt();
+ myFollowOrderVo.setSymbolCnt(symbolCnt);
+ BigDecimal bondAmount = contractOrderEntity.getBondAmount().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setBondAmount(bondAmount);
+ BigDecimal openingPrice = contractOrderEntity.getOpeningPrice().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setOpeningPrice(openingPrice);
+ BigDecimal closingPrice = contractOrderEntity.getClosingPrice().setScale(2, BigDecimal.ROUND_DOWN);
+ myFollowOrderVo.setClosingPrice(closingPrice);
+ Date openingTime = contractOrderEntity.getOpeningTime();
+ myFollowOrderVo.setOpeningTime(openingTime);
+ Date closingTime = contractOrderEntity.getClosingTime();
+ myFollowOrderVo.setClosingTime(closingTime);
+ String orderNo = contractOrderEntity.getOrderNo();
+ myFollowOrderVo.setOrderNo(orderNo);
+ myFollowOrderVos.add(myFollowOrderVo);
+ }
+ }
+ return Result.ok(myFollowOrderVos);
+ }
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java
index 7a36b08..a1f0ca5 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java
@@ -54,6 +54,9 @@
@ApiModelProperty("订单编号")
private String orderNo;
+ @ApiModelProperty("订单ID")
+ private long orderId;
+
@ApiModelProperty("交易员")
private String nickname;
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeHistoryOrderInfoVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeHistoryOrderInfoVo.java
new file mode 100644
index 0000000..6744edb
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeHistoryOrderInfoVo.java
@@ -0,0 +1,62 @@
+package com.xcong.excoin.modules.documentary.vo;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+@Data
+@ApiModel(value = "TradeHistoryOrderInfoVo", description = "历史带单")
+public class TradeHistoryOrderInfoVo {
+
+ @ApiModelProperty("币种")
+ private String symbol;
+
+ @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空")
+ private int orderType;
+
+ @ApiModelProperty("杠杆")
+ private int leverRatio;
+
+ @ApiModelProperty("开仓价")
+ private BigDecimal openingPrice;
+
+ @ApiModelProperty("平仓价")
+ private BigDecimal closingPrice;
+
+ @ApiModelProperty("盈亏金额")
+ private BigDecimal rewardAmount;
+
+ @ApiModelProperty("盈亏比例")
+ private BigDecimal rewardRatio;
+
+ @ApiModelProperty("张数")
+ private int symbolCnt;
+
+ @ApiModelProperty("保证金")
+ private BigDecimal bondAmount;
+
+ @ApiModelProperty("当前价")
+ private BigDecimal newPrice;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("开仓时间")
+ private Date openingTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("平仓时间")
+ private Date closingTime;
+
+ @ApiModelProperty("订单编号")
+ private String orderNo;
+
+ @ApiModelProperty("订单Id")
+ private long orderId;
+
+ @ApiModelProperty("交易员")
+ private String nickname;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeOrderInfoVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeOrderInfoVo.java
new file mode 100644
index 0000000..5c5ce0a
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeOrderInfoVo.java
@@ -0,0 +1,62 @@
+package com.xcong.excoin.modules.documentary.vo;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+@Data
+@ApiModel(value = "TradeOrderInfoVo", description = "返回类")
+public class TradeOrderInfoVo {
+
+ @ApiModelProperty("币种")
+ private String symbol;
+
+ @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空")
+ private int orderType;
+
+ @ApiModelProperty("杠杆")
+ private int leverRatio;
+
+ @ApiModelProperty("开仓价")
+ private BigDecimal openingPrice;
+
+ @ApiModelProperty("平仓价")
+ private BigDecimal closingPrice;
+
+ @ApiModelProperty("盈亏金额")
+ private BigDecimal rewardAmount;
+
+ @ApiModelProperty("盈亏比例")
+ private BigDecimal rewardRatio;
+
+ @ApiModelProperty("张数")
+ private int symbolCnt;
+
+ @ApiModelProperty("保证金")
+ private BigDecimal bondAmount;
+
+ @ApiModelProperty("当前价")
+ private BigDecimal newPrice;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("开仓时间")
+ private Date openingTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("平仓时间")
+ private Date closingTime;
+
+ @ApiModelProperty("订单编号")
+ private String orderNo;
+
+ @ApiModelProperty("订单Id")
+ private long orderId;
+
+ @ApiModelProperty("交易员")
+ private String nickname;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java
new file mode 100644
index 0000000..8c44348
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java
@@ -0,0 +1,59 @@
+package com.xcong.excoin.modules.documentary.vo;
+
+import java.math.BigDecimal;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "TradeProfitInfoVo", description = "返回类")
+public class TradeProfitInfoVo {
+ /**
+ * 累计收益率
+ */
+ @ApiModelProperty("累计收益率")
+ private BigDecimal totalProfitRatio;
+ /**
+ * 带单总收益
+ */
+ @ApiModelProperty("带单总收益")
+ private BigDecimal totalProfit;
+ /**
+ * 跟随者总收益
+ */
+ @ApiModelProperty("跟随者总收益")
+ private BigDecimal followerTotalProfit;
+ /**
+ * 胜率
+ */
+ @ApiModelProperty("胜率")
+ private BigDecimal winRate;
+ /**
+ * 累计跟随人数
+ */
+ @ApiModelProperty("累计跟随人数")
+ private BigDecimal totalFollowerCnt;
+ /**
+ * 交易笔数
+ */
+ @ApiModelProperty("交易笔数")
+ private BigDecimal totalOrderCnt;
+
+ /**
+ * 头像
+ */
+ @ApiModelProperty("头像")
+ private String avatar;
+ /**
+ * 名称
+ */
+ @ApiModelProperty("名称")
+ private String nickname;
+ /**
+ * 宣言
+ */
+ @ApiModelProperty("宣言")
+ private String declaration;
+
+}
--
Gitblit v1.9.1