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; ...@@ -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.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.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.SeriesQualifyingMatchRankDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRecordInitDTO; import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRecordInitDTO;
import com.antai.sport.http.server.server.api.business.series.service.SeriesService; import com.antai.sport.http.server.server.api.business.series.service.SeriesService;
...@@ -76,13 +77,19 @@ public class SeriesController { ...@@ -76,13 +77,19 @@ public class SeriesController {
return success(); return success();
} }
@ApiOperation("8.获取淘汰赛首页据") @ApiOperation("8.获取淘汰赛首页据")
@PostMapping("knockout/match/{roundId}/{sportUserId}") @GetMapping("knockout/match/{roundId}/{sportUserId}")
public ResponseEntity<Result<SeriesKnockoutMatchHomeVO>> getSeriesKnockoutMatchHomeData( public ResponseEntity<Result<SeriesKnockoutMatchHomeVO>> getSeriesKnockoutMatchHomeData(
@PathVariable("roundId") Long roundId, @PathVariable("roundId") Long roundId,
@PathVariable("sportUserId") Long sportUserId) { @PathVariable("sportUserId") Long sportUserId) {
return success(seriesService.getSeriesKnockoutMatchHomeData(roundId, 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 { ...@@ -49,4 +49,8 @@ public interface SeriesBusinessMapper {
List<SeriesKnockoutMatchListVO> getOtherSeriesKnockoutMatchList(@Param("roundId") Long roundId, List<SeriesKnockoutMatchListVO> getOtherSeriesKnockoutMatchList(@Param("roundId") Long roundId,
@Param("sportUserId") Long sportUserId); @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 ...@@ -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.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.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.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.SeriesQualifyingMatchRankDTO;
import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRecordInitDTO; import com.antai.sport.http.server.server.api.business.series.dto.SeriesQualifyingMatchRecordInitDTO;
import com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper; import com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper;
...@@ -274,7 +275,22 @@ public class SeriesService { ...@@ -274,7 +275,22 @@ public class SeriesService {
result.setMyMatch(seriesBusinessMapper.getUserSeriesKnockoutMatch(roundId, sportUserId)); result.setMyMatch(seriesBusinessMapper.getUserSeriesKnockoutMatch(roundId, sportUserId));
result.setMatchList(seriesBusinessMapper.getOtherSeriesKnockoutMatchList(roundId, sportUserId)); result.setMatchList(seriesBusinessMapper.getOtherSeriesKnockoutMatchList(roundId, sportUserId));
return result; 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; package com.antai.sport.http.server.server.api.business.series.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@ApiModel("淘汰赛选手") @ApiModel("淘汰赛选手")
@Data @Data
public class SeriesKnockoutMatchUserVO { 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 @@ ...@@ -131,4 +131,20 @@
order by t1.start_time order by t1.start_time
</select> </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> </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