src/main/java/com/xcong/excoin/modules/documentary/dto/FollowTraderProfitInfoDto.java
@@ -22,4 +22,23 @@ @ApiModelProperty(value = "1:首页", example = "1") private int type; @ApiModelProperty(value = "昵称", example = "哈哈") private String nickname; /** * 累计收益率排序(1正序 2倒序) */ @ApiModelProperty(value = "累计收益率排序(0不参与 1正序 2倒序)", example = "1") private int totalProfitRatioSc; /** * 胜率排序(1正序 2倒序) */ @ApiModelProperty(value = "胜率排序(0不参与 1正序 2倒序)", example = "1") private int winRateSc; /** * 累计跟随人数排序(1正序 2倒序) */ @ApiModelProperty(value = "累计跟随人数排序(0不参与 1正序 2倒序)", example = "1") private int totalFollowerCntSc; } src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java
@@ -1,8 +1,10 @@ package com.xcong.excoin.modules.documentary.entity; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.xcong.excoin.common.system.base.BaseEntity; import lombok.Data; @@ -23,6 +25,10 @@ public static final String DECLARATION_DEFAULT = "正忙着赚钱,什么也没写"; public static final Integer FOLLOWNUM_DEFAULT = 500; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date entryTime; /** * 会员ID */ src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitInfoEntity.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.excoin.common.system.base.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -56,6 +57,23 @@ @TableField(exist = false) private int type; @TableField(exist = false) private String nickname; /** * 累计收益率排序(1正序 2倒序) */ @TableField(exist = false) private int totalProfitRatioSc; /** * 胜率排序(1正序 2倒序) */ @TableField(exist = false) private int winRateSc; /** * 累计跟随人数排序(1正序 2倒序) */ @TableField(exist = false) private int totalFollowerCntSc; } src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -2,6 +2,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -160,7 +161,17 @@ FollowTraderProfitInfoEntity followTraderProfitInfoEntity = new FollowTraderProfitInfoEntity(); if(FollowTraderInfoEntity.IS_SETFRIST_Y.equals(type)) { followTraderProfitInfoEntity.setType(type); }else { String nicknameDto = recordsPageDto.getNickname(); followTraderProfitInfoEntity.setNickname(nicknameDto); int totalProfitRatioSc = recordsPageDto.getTotalProfitRatioSc(); followTraderProfitInfoEntity.setTotalProfitRatioSc(totalProfitRatioSc); int totalFollowerCntSc = recordsPageDto.getTotalFollowerCntSc(); followTraderProfitInfoEntity.setTotalFollowerCntSc(totalFollowerCntSc); int winRateSc = recordsPageDto.getWinRateSc(); followTraderProfitInfoEntity.setWinRateSc(winRateSc); } IPage<FollowTraderProfitInfoVo> followTraderProfitInfoList = followTraderProfitInfoDao.selectFollowTraderProfitInfoEntity(page, followTraderProfitInfoEntity); List<FollowTraderProfitInfoVo> followTraderProfitInfoVoList = followTraderProfitInfoList.getRecords(); @@ -768,6 +779,9 @@ String declaration = followTraderInfoEntity.getDeclaration(); Integer isAll = followTraderInfoEntity.getIsAll(); Integer followNum = followTraderInfoEntity.getFollowNum(); Date entryTime = followTraderInfoEntity.getEntryTime(); int datePoor = getDatePoor(entryTime, new Date()); followTraderProfitInfoVo.setEntryDays(datePoor); //获取当前跟单人数 Map<String, Object> columnMap = new HashMap<>(); columnMap.put("trade_id", traderId); @@ -793,6 +807,19 @@ followTraderProfitInfoVo.setDeclaration(declaration); followTraderProfitInfoVo.setIsAll(isAll); return Result.ok(followTraderProfitInfoVo); } //获取两个时间之间的日期 private int getDatePoor(Date endDate, Date nowDate) { Calendar cal = Calendar.getInstance(); cal.setTime(endDate); long time1 = cal.getTimeInMillis(); cal.setTime(nowDate); long time2 = cal.getTimeInMillis(); long between_days=(time2-time1)/(1000*3600*24); int parseInt = Integer.parseInt(String.valueOf(between_days)); parseInt = parseInt + 1; return parseInt ; } @Override @@ -967,6 +994,9 @@ TradeProfitInfoVo tradeProfitInfoVo = new TradeProfitInfoVo(); //获取【交易员信息表】数据 FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId); Date entryTime = followTraderInfoEntity.getEntryTime(); int datePoor = getDatePoor(entryTime, new Date()); tradeProfitInfoVo.setEntryDays(datePoor); if(ObjectUtil.isNotEmpty(followTraderInfoEntity)) { Integer followNum = followTraderInfoEntity.getFollowNum(); //获取当前跟单人数 src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoVo.java
@@ -106,5 +106,11 @@ */ @ApiModelProperty("当前跟单人数") private Integer followNumNow; /** * 入驻天数(从审核通过开始计算) */ @ApiModelProperty("入驻天数") private Integer entryDays; } src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java
@@ -66,5 +66,11 @@ */ @ApiModelProperty("当前跟单人数") private Integer followNumNow; /** * 入驻天数(从审核通过开始计算) */ @ApiModelProperty("入驻天数") private Integer entryDays; } src/main/resources/mapper/documentary/FollowTraderProfitInfoDao.xml
@@ -11,9 +11,30 @@ <if test="record.type != null and record.type != '' "> and t.is_set_frist = #{record.type} </if> <if test="record.nickname != null and record.nickname != '' "> and t.nickname like concat('%',#{record.nickname},'%') </if> </where> order by f.id desc order by <if test="record.totalProfitRatioSc != null and record.totalProfitRatioSc != '' and record.totalProfitRatioSc == 1" > f.total_profit_ratio, </if> <if test="record.totalProfitRatioSc != null and record.totalProfitRatioSc != '' and record.totalProfitRatioSc == 2" > f.total_profit_ratio desc, </if> <if test="record.winRateSc != null and record.winRateSc != '' and record.winRateSc == 1" > f.win_rate, </if> <if test="record.winRateSc != null and record.winRateSc != '' and record.winRateSc == 2" > f.win_rate desc, </if> <if test="record.totalFollowerCntSc != null and record.totalFollowerCntSc != '' and record.totalFollowerCntSc == 1" > f.total_follower_cnt, </if> <if test="record.totalFollowerCntSc != null and record.totalFollowerCntSc != '' and record.totalFollowerCntSc == 2" > f.total_follower_cnt desc, </if> f.id desc </select> <select id="selectOneByMemberId" resultType="com.xcong.excoin.modules.documentary.vo.FollowTraderProfitInfoVo">