xiaoyong931011
2021-03-11 24df434da5a0bdfd93c8230cce07a8b7231d66ae
20210305  交易员列表查询,已入驻时间
7 files modified
110 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/documentary/dto/FollowTraderProfitInfoDto.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderInfoEntity.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/entity/FollowTraderProfitInfoEntity.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/FollowTraderProfitInfoVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/documentary/vo/TradeProfitInfoVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/documentary/FollowTraderProfitInfoDao.xml 25 ●●●●● patch | view | raw | blame | history
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">