Commit 53c546e1 authored by liming's avatar liming

报名修改报名数量

parent 80df33c5
......@@ -106,5 +106,11 @@ public class SeriesController {
return success(seriesService.getSeriesMatchForGameServer());
}
@ApiOperation("12.获取系列赛完结结果")
@PostMapping("result/{seriesId}")
public ResponseEntity<Result<List<SeriesMatchResultVO>>> getSeriesMatchResult(@PathVariable("seriesId") Long seriesId){
return success(seriesService.getSeriesMatchResult(seriesId));
}
}
......@@ -60,4 +60,6 @@ public interface SeriesBusinessMapper {
List<SeriesForGameServerVO> getSeriesForGameServer();
List<SeriesMatchForGameServerVO> getSeriesMatchForGameServer(@Param("now") LocalDateTime now);
List<SeriesMatchResultTopVO> getSeriesMatchResult(@Param("seriesId") Long seriesId);
}
......@@ -24,7 +24,10 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class SeriesService {
......@@ -362,4 +365,41 @@ public class SeriesService {
return seriesBusinessMapper.getSeriesMatchForGameServer(LocalDateTime.now());
}
public List<SeriesMatchResultVO> getSeriesMatchResult(Long seriesId) {
List<SeriesMatchResultVO> result = new ArrayList<>();
QueryWrapper<SeriesRound> roundQuery = new QueryWrapper<>();
roundQuery.lambda().eq(SeriesRound::getSeriesId, seriesId)
.eq(SeriesRound::getStatus, 20)
.eq(SeriesRound::getDeleted, DeleteStatus.UNDELETED)
.eq(SeriesRound::getFinalRound, true);
SeriesRound round = seriesRoundMapper.selectOne(roundQuery);
if (round == null) {
return result;
}
QueryWrapper<SeriesMatch> matchQuery = new QueryWrapper<>();
matchQuery.lambda().eq(SeriesMatch::getDeleted, DeleteStatus.UNDELETED)
.eq(SeriesMatch::getStatus, 20)
.eq(SeriesMatch::getRoundId, round.getId());
List<SeriesMatch> matchList = seriesMatchMapper.selectList(matchQuery);
if (matchList.isEmpty()) {
return result;
}
Map<Long, SeriesMatchResultVO> resultMap = new HashMap<>();
for (SeriesMatch match : matchList) {
SeriesMatchResultVO resultVO = new SeriesMatchResultVO(match);
result.add(resultVO);
resultMap.put(resultVO.getId(), resultVO);
}
List<SeriesMatchResultTopVO> topList = seriesBusinessMapper.getSeriesMatchResult(seriesId);
for (SeriesMatchResultTopVO item : topList) {
if (resultMap.containsKey(item.getMatchId())) {
resultMap.get(item.getMatchId()).getMatchResultTopList().add(item);
}
}
return result;
}
}
package com.antai.sport.http.server.server.api.business.series.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("系列赛最终结果")
@Data
public class SeriesMatchResultTopVO {
@ApiModelProperty("比赛id")
private Long matchId;
@ApiModelProperty("玩家id")
private Long playerId;
@ApiModelProperty("头像")
private String avatar;
@ApiModelProperty("昵称")
private String nickname;
}
package com.antai.sport.http.server.server.api.business.series.vo;
import com.antai.sport.http.server.repository.series.entity.SeriesMatch;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@ApiModel("系列赛完结比赛对象")
@Data
@NoArgsConstructor
public class SeriesMatchResultVO {
public SeriesMatchResultVO (SeriesMatch match){
this.id = match.getId();
this.name = match.getName();
this.matchResultTopList = new ArrayList<>();
}
@ApiModelProperty("比赛id")
private Long id;
@ApiModelProperty("比赛名称")
private String name;
@ApiModelProperty("系列赛完结Top选手")
private List<SeriesMatchResultTopVO> matchResultTopList;
}
......@@ -175,6 +175,22 @@
and t1.status = 20
order by t1.show_order,t1.start_time
</select>
<select id="getSeriesMatchResult" resultType="com.antai.sport.http.server.server.api.business.series.vo.SeriesMatchResultTopVO">
select t1.match_id,t1.player_id,t2.avatar,t2.nickname
from series_match_player_record t1
left join sport_user t2 on t1.player_id = t2.id
where result_confirm_status = 40
and t1.match_id in (
select id
from series_match w1
where w1.round_id in (
select w2.id
from series_round w2
where w2.series_id = #{seriesId} and w2.final_round = 1)
)
order by t1.match_id,t1.match_rank
</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