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