xiaoyong931011
2020-08-05 06643cf41d88a6b409fa666b4bfa95d3b8561cfd
20200805  代码提交
4 files added
4 files modified
419 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/documentary/controller/TraderController.java 39 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/dto/TradeOrderInfoDto.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/DocumentaryService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java 165 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/MyFollowOrderVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeHistoryOrderInfoVo.java 62 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeOrderInfoVo.java 62 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java 59 ●●●●● patch | view | raw | blame | history
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="成为交易员---立即入驻")
src/main/java/com/xcong/excoin/modules/documentary/dto/TradeOrderInfoDto.java
New file
@@ -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;
}
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);
}
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);
@@ -681,6 +686,164 @@
        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);
    }
    
    
    
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;
    
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeHistoryOrderInfoVo.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeOrderInfoVo.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java
New file
@@ -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;
}