Commit c335445c authored by liming's avatar liming

加载比赛入围人员

parent 3c42678b
...@@ -152,4 +152,9 @@ public class SeriesController { ...@@ -152,4 +152,9 @@ public class SeriesController {
return success(seriesService.getKnockoutMatchRecord(dto)); return success(seriesService.getKnockoutMatchRecord(dto));
} }
@PostMapping("match/finalists")
public ResponseEntity<Result<SeriesMatchFinalistsPageVO>> getSeriesMatchFinalists(@RequestBody SeriesMatchFinalistsPageDTO dto) {
return success(seriesService.getSeriesMatchFinalists(dto));
}
} }
package com.antai.sport.http.server.management.api.business.series.dto;
import lombok.Data;
@Data
public class SeriesMatchFinalistsPageDTO {
private Integer pageNo;
private Integer pageSize;
private Long matchId;
}
package com.antai.sport.http.server.management.api.business.series.mapper; package com.antai.sport.http.server.management.api.business.series.mapper;
import com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO; import com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO; import com.antai.sport.http.server.management.api.business.series.vo.*;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesMatchListVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesQualifyingMatchRankVO;
import com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundListVO;
import com.antai.sport.http.server.repository.series.entity.SeriesRound; import com.antai.sport.http.server.repository.series.entity.SeriesRound;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -27,4 +24,9 @@ public interface SeriesBusinessMapper { ...@@ -27,4 +24,9 @@ public interface SeriesBusinessMapper {
IPage<SeriesQualifyingMatchRankVO> getKnockoutMatchRecord(IPage<SeriesQualifyingMatchRankVO> page, IPage<SeriesQualifyingMatchRankVO> getKnockoutMatchRecord(IPage<SeriesQualifyingMatchRankVO> page,
@Param("matchId") Long matchId); @Param("matchId") Long matchId);
IPage<SeriesMatchFinalistsVO> getSeriesMatchFinalists(IPage<SeriesMatchFinalistsVO> page,
@Param("seriesId") Long seriesId,
@Param("matchId") Long matchId,
@Param("preRoundId") Long preRoundId);
} }
...@@ -351,4 +351,18 @@ public class SeriesService { ...@@ -351,4 +351,18 @@ public class SeriesService {
return result; return result;
} }
public SeriesMatchFinalistsPageVO getSeriesMatchFinalists(SeriesMatchFinalistsPageDTO dto) {
SeriesMatchFinalistsPageVO result = new SeriesMatchFinalistsPageVO();
result.setPageNo(dto.getPageNo());
SeriesMatch match = seriesMatchMapper.selectById(dto.getMatchId());
SeriesRound round = seriesRoundMapper.selectById(match.getRoundId());
Page<SeriesMatchFinalistsVO> pageParam = new Page<>(dto.getPageNo(), dto.getPageSize());
pageParam.addOrder(new OrderItem("t1.id", false));
IPage<SeriesMatchFinalistsVO> finalistsPage = seriesBusinessMapper
.getSeriesMatchFinalists(pageParam, match.getSeriesId(), dto.getMatchId(), round.getPreRoundId());
result.setData(finalistsPage.getRecords());
result.setTotalCount(finalistsPage.getTotal());
return result;
}
} }
package com.antai.sport.http.server.management.api.business.series.vo;
import lombok.Data;
import java.util.List;
@Data
public class SeriesMatchFinalistsPageVO {
List<SeriesMatchFinalistsVO> data;
private Integer pageNo;
private Long totalCount;
}
package com.antai.sport.http.server.management.api.business.series.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class SeriesMatchFinalistsVO {
private Long finalistsId;
private Long sportUserId;
private String realName;
private String sex;
private BigDecimal height;
private BigDecimal weight;
private String area;
private Integer ftp;
private Integer avgFtp;
private Integer cp1;
private Integer cp5;
private Integer cp20;
private Integer duration;
}
...@@ -66,4 +66,18 @@ ...@@ -66,4 +66,18 @@
left join series_apply t5 on t2.series_id = t5.series_id and t2.player_id = t5.sport_user_id left join series_apply t5 on t2.series_id = t5.series_id and t2.player_id = t5.sport_user_id
where t2.match_id = #{matchId} where t2.match_id = #{matchId}
</select> </select>
<select id="getSeriesMatchFinalists"
resultType="com.antai.sport.http.server.management.api.business.series.vo.SeriesMatchFinalistsVO">
select t1.id as finalists_id,t1.sport_user_id,t2.name as real_name,
if(t2.sex = 1,'男','女') sex,t2.height,t2.weight,t3.name as area,
t2.ftp,t5.avg_ftp,t5.one_minutes_ftp as cp1,t5.five_minutes_ftp as cp5,
t5.twenty_minutes_ftp as cp20,t4.duration
from series_match_finalists t1
left join series_apply t2 on t2.series_id = #{seriesId} and t1.sport_user_id = t2.sport_user_id
left join series_area t3 on t2.area_id = t3.id
left join series_round_rank t4 on t4.round_id = #{preRoundId} and t4.sport_user_id = t1.sport_user_id
left join series_match_player_record t5 on t5.id = t4.record_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