Commit 22697846 authored by liming's avatar liming

系列赛淘汰赛主页数据

parent 13389fd4
......@@ -2,6 +2,7 @@ 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.service.SeriesService;
......@@ -76,13 +77,19 @@ public class SeriesController {
return success();
}
@ApiOperation("8.获取淘汰赛首页据")
@PostMapping("knockout/match/{roundId}/{sportUserId}")
@ApiOperation("8.获取淘汰赛首页据")
@GetMapping("knockout/match/{roundId}/{sportUserId}")
public ResponseEntity<Result<SeriesKnockoutMatchHomeVO>> getSeriesKnockoutMatchHomeData(
@PathVariable("roundId") Long roundId,
@PathVariable("sportUserId") Long sportUserId) {
return success(seriesService.getSeriesKnockoutMatchHomeData(roundId, sportUserId));
}
@ApiOperation("9.查询淘汰赛玩家列表")
@PostMapping("knockout/match/user")
public ResponseEntity<Result<List<SeriesKnockoutMatchUserVO>>> getSeriesKnockoutMatchUserList(@RequestBody SeriesKnockoutMatchUserDTO dto) {
return success(seriesService.getSeriesKnockoutMatchUserList(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 SeriesKnockoutMatchUserDTO {
@ApiModelProperty("页号")
private Integer pageNo;
@ApiModelProperty("分页大小")
private Integer pageSize;
@ApiModelProperty("比赛id")
private Long matchId;
}
......@@ -49,4 +49,8 @@ public interface SeriesBusinessMapper {
List<SeriesKnockoutMatchListVO> getOtherSeriesKnockoutMatchList(@Param("roundId") Long roundId,
@Param("sportUserId") Long sportUserId);
IPage<SeriesKnockoutMatchUserVO> getSeriesKnockoutMatchUserList(IPage<SeriesKnockoutMatchUserVO> page,
@Param("roundId") Long roundId,
@Param("matchId") Long matchId);
}
......@@ -13,6 +13,7 @@ import com.antai.sport.http.server.server.api.business.base.mapper.BaseBusinessM
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.mapper.SeriesBusinessMapper;
......@@ -274,7 +275,22 @@ public class SeriesService {
result.setMyMatch(seriesBusinessMapper.getUserSeriesKnockoutMatch(roundId, sportUserId));
result.setMatchList(seriesBusinessMapper.getOtherSeriesKnockoutMatchList(roundId, sportUserId));
return result;
}
/**
* 加载比赛列表
*
* @param param
* @return
*/
public List<SeriesKnockoutMatchUserVO> getSeriesKnockoutMatchUserList(SeriesKnockoutMatchUserDTO param) {
SeriesMatch match = seriesMatchMapper.selectById(param.getMatchId());
SeriesRound round = seriesRoundMapper.selectById(match.getRoundId());
Page<SeriesKnockoutMatchUserVO> pageParam = new Page<>(param.getPageNo(), param.getPageSize());
pageParam.addOrder(new OrderItem("t1.start_order", true));
IPage<SeriesKnockoutMatchUserVO> result = seriesBusinessMapper.getSeriesKnockoutMatchUserList(pageParam,
round.getPreRoundId(), param.getMatchId());
return result.getRecords();
}
}
package com.antai.sport.http.server.server.api.business.series.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ApiModel("淘汰赛选手")
@Data
public class SeriesKnockoutMatchUserVO {
@ApiModelProperty("选手id")
private Long sportUserId;
@ApiModelProperty("头像")
private String avatar;
@ApiModelProperty("昵称")
private String nickname;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("体重")
private BigDecimal weight;
@ApiModelProperty("身高")
private BigDecimal height;
@ApiModelProperty("上轮次平均功率")
private Integer avgFtp;
@ApiModelProperty("上轮次1分最佳FTP")
private Integer cp1;
@ApiModelProperty("上轮次20分最佳FTP")
private Integer cp20;
}
......@@ -131,4 +131,20 @@
order by t1.start_time
</select>
<select id="getSeriesKnockoutMatchUserList"
resultType="com.antai.sport.http.server.server.api.business.series.vo.SeriesKnockoutMatchUserVO">
select t1.sport_user_id,if(t2.sex=1,'男','女') as sex,t2.avatar,t2.nickname,t2.weight,t2.height,
t3.avg_ftp,t3.one_minutes_ftp as cp1,t3.twenty_minutes_ftp as cp2
from series_match_finalists t1
left join sport_user t2 on t1.sport_user_id = t2.id
left join (
select j1.sport_user_id,j2.avg_ftp,j2.one_minutes_ftp,j2.twenty_minutes_ftp
from series_round_rank j1
left join series_match_player_record j2 on j1.record_id = j2.id
where j1.round_id = #{roundId}
) t3 on t1.sport_user_id = t3.sport_user_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