Commit 2f97e932 authored by liming's avatar liming

系列赛淘汰赛排名数据

parent 32255a1d
package com.antai.sport.http.server.server.api.business.series.controller;
import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesApplyDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesKnockoutMatchUserDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRankDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRecordInitDTO;
import com.antai.sport.http.server.server.api.business.series.dto.*;
import com.antai.sport.http.server.server.api.business.series.service.SeriesService;
import com.antai.sport.http.server.server.api.business.series.vo.*;
import com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO;
......@@ -91,5 +88,11 @@ public class SeriesController {
return success(seriesService.getSeriesKnockoutMatchUserList(dto));
}
@ApiOperation("10.查询淘汰赛排行列表")
@PostMapping("knockout/match/rank")
public ResponseEntity<Result<List<SeriesKnockoutMatchRankVO>>> getSeriesKnockoutMatchRankList(@RequestBody SeriesKnockoutMatchRankDTO dto) {
return success(seriesService.getSeriesKnockoutMatchRankList(dto));
}
}
package com.antai.sport.http.server.server.api.business.series.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("淘汰赛排名查询对象")
@Data
public class SeriesKnockoutMatchRankDTO {
@ApiModelProperty("页号")
private Integer pageNo;
@ApiModelProperty("分页大小")
private Integer pageSize;
@ApiModelProperty("比赛id")
private Long matchId;
}
......@@ -53,4 +53,7 @@ public interface SeriesBusinessMapper {
IPage<SeriesKnockoutMatchUserVO> getSeriesKnockoutMatchUserList(IPage<SeriesKnockoutMatchUserVO> page,
@Param("roundId") Long roundId,
@Param("matchId") Long matchId);
IPage<SeriesKnockoutMatchRankVO> getSeriesKnockoutMatchRankList(IPage<SeriesKnockoutMatchRankVO> page,
@Param("matchId") Long matchId);
}
......@@ -12,10 +12,7 @@ import com.antai.sport.http.server.repository.sport.mapper.SportUserMapper;
import com.antai.sport.http.server.server.api.business.base.mapper.BaseBusinessMapper;
import com.antai.sport.http.server.server.api.business.praise.service.PraiseService;
import com.antai.sport.http.server.server.api.business.series.converter.SeriesConverter;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesApplyDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesKnockoutMatchUserDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRankDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRecordInitDTO;
import com.antai.sport.http.server.server.api.business.series.dto.*;
import com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper;
import com.antai.sport.http.server.server.api.business.series.vo.*;
import com.antai.sport.http.server.server.api.business.traininglog.service.SportUserTrainingLogService;
......@@ -288,7 +285,7 @@ public class SeriesService {
}
/**
* 加载比赛列表
* 加载淘汰赛参赛选手列表
*
* @param param
* @return
......@@ -303,4 +300,17 @@ public class SeriesService {
return result.getRecords();
}
/**
* 加载淘汰赛排名数据
* @param dto
* @return
*/
public List<SeriesKnockoutMatchRankVO> getSeriesKnockoutMatchRankList(SeriesKnockoutMatchRankDTO dto) {
Page<SeriesKnockoutMatchRankVO> pageParam = new Page<>(dto.getPageNo(), dto.getPageSize());
pageParam.addOrder(new OrderItem("t1.match_rank", true));
IPage<SeriesKnockoutMatchRankVO> result = seriesBusinessMapper.getSeriesKnockoutMatchRankList(pageParam,
dto.getMatchId());
return result.getRecords();
}
}
package com.antai.sport.http.server.server.api.business.series.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ApiModel("淘汰赛选手排名")
@Data
public class SeriesKnockoutMatchRankVO {
@ApiModelProperty("用户Id")
private Long playerId;
@ApiModelProperty("昵称")
private String nickname;
@ApiModelProperty("头像")
private String avatar;
@ApiModelProperty("比赛名次")
private Integer gameRank;
@ApiModelProperty("用时(秒)")
private Integer duration;
@ApiModelProperty("骑行总长度")
private BigDecimal distance;
@ApiModelProperty("爬坡高度")
private BigDecimal climbDistance;
@ApiModelProperty("平均功率")
private BigDecimal avgFtp;
@ApiModelProperty("平均速度")
private BigDecimal avgSpeed;
@ApiModelProperty("完成时间 yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
public LocalDateTime finishTime;
@ApiModelProperty("体重")
private BigDecimal weight;
@ApiModelProperty("玩家当时ftp")
private Integer ftp;
@ApiModelProperty("玩家当时身高")
private BigDecimal height;
@ApiModelProperty("玩家当时设置最大心率")
private Integer heartRate;
@ApiModelProperty("玩家平均心率")
private Integer avgHeartRate;
@ApiModelProperty("1分钟平均最佳FTP")
private BigDecimal oneMinutesFtp;
@ApiModelProperty("5分钟平均最佳FTP")
private BigDecimal fiveMinutesFtp;
@ApiModelProperty("20分钟平均最佳FTP")
private BigDecimal twentyMinutesFtp;
@ApiModelProperty("1分钟平均最佳功体比")
private BigDecimal oneMinutesWkg;
@ApiModelProperty("5分钟平均最佳功体比")
private BigDecimal fiveMinutesWkg;
@ApiModelProperty("20分钟平均最佳功体比")
private BigDecimal twentyMinutesWkg;
@ApiModelProperty("得分")
private BigDecimal score;
@ApiModelProperty("比赛状态10:未完成比赛 20:完成比赛")
private Integer status;
@ApiModelProperty("成绩确认状态 10 待确认 20 无效 30已确认未晋级 40晋级")
private Integer resultConfirmStatus;
}
......@@ -145,6 +145,21 @@
) t3 on t1.sport_user_id = t3.sport_user_id
where t1.match_id = #{matchId}
</select>
<select id="getSeriesKnockoutMatchRankList" resultType="com.antai.sport.http.server.server.api.business.series.vo.SeriesKnockoutMatchRankVO">
select t1.*,
t1.match_rank as game_rank,
t2.avatar,
t2.nickname,
t3.ftp,
t3.heart_rate,
t3.avg_heart_rate,
t3.height
from series_match_player_record t1
left join sport_user t2 on t1.player_id = t2.id
left join sport_user_training_log t3 on t3.game_mode = 20 and t1.id = t3.record_id
where t1.match_id = #{matchId}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment