Commit 04a18616 by Lem

球队详情

parent b079804d
package com.live.common.domain.dto.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TeamAllInfoResponse {
private TeamInfoResponse teamInfo;
private List<TeamPlayerInfoResponse> teamPlayers;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class TeamPlayerInfoResponse {
private Integer id;
private String name;
private String nameEn;
private String country;
private String birthday;
private String height;
private String rnNumber;
private String marketValue;
private String position;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class TeamInfoResponse {
private String id;
private String teamName;
private String teamNameEn;
private String sportsName;
private String teamType;
private String country;
private String teamIcon;
}
}
...@@ -26,6 +26,8 @@ public interface MatchService { ...@@ -26,6 +26,8 @@ public interface MatchService {
ResponseData<?> getTeamInfoListSearch(PlayerInfoSearchRequest commonPage, HttpServletRequest request); ResponseData<?> getTeamInfoListSearch(PlayerInfoSearchRequest commonPage, HttpServletRequest request);
ResponseData<?> getTeamInfoById(CommonStringId commonStringId, HttpServletRequest request);
ResponseData<?> getPlayerList(CommonPage commonPage, HttpServletRequest request); ResponseData<?> getPlayerList(CommonPage commonPage, HttpServletRequest request);
ResponseData<PlayerInfoBasketballResponse> getPlayerInfoBasketballById(CommonIntId commonIntId, HttpServletRequest request); ResponseData<PlayerInfoBasketballResponse> getPlayerInfoBasketballById(CommonIntId commonIntId, HttpServletRequest request);
......
...@@ -459,6 +459,52 @@ public class MatchServiceImpl implements MatchService { ...@@ -459,6 +459,52 @@ public class MatchServiceImpl implements MatchService {
return ResponseData.successResponse(new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) count, responses)); return ResponseData.successResponse(new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) count, responses));
} }
@Override
public ResponseData<?> getTeamInfoById(CommonStringId commonStringId, HttpServletRequest request) {
Team team = teamMapper.selectById(commonStringId.getId());
if (team == null) {
return ResponseData.fail400Response("ID 错误,比赛不存在");
}
Sports sports = sportsMapper.selectById(team.getSportsDbId());
List<TeamPlayer> teamPlayers = teamPlayerMapper.selectList(Wrappers.<TeamPlayer>lambdaQuery()
.eq(TeamPlayer::getDeleted, StatusEnum.ENABLE.getCode())
.eq(TeamPlayer::getTeamId, team.getId())
);
List<Country> countries = countryMapper.selectList(null);
Map<String, String> countryMap = countries.stream().collect(Collectors.toMap(Country::getNameEn, b -> b.getNameZh()));
return ResponseData.successResponse(TeamAllInfoResponse.builder()
.teamInfo(TeamAllInfoResponse.TeamInfoResponse
.builder()
.country(countryMap.getOrDefault(team.getCountry(), null))
.id(team.getId())
.sportsName(sports.getCompetitionShortName())
.teamIcon(team.getTeamIcon())
.teamName(team.getTeamName())
.teamNameEn(team.getTeamNameEn())
.teamType(sports.getTeamType().equals("club") ? "俱乐部" : "国家队")
.build())
.teamPlayers(teamPlayers.stream().map(b -> {
Integer market = b.getMarketValue();
return TeamAllInfoResponse.TeamPlayerInfoResponse.builder()
.birthday(b.getBirthday())
.country(countryMap.getOrDefault(b.getCountry(), null))
.height(b.getHeight())
.id(b.getId())
.marketValue(market != null ? String.format("%.2f", (double) market / 10000) + "万欧元" : null)
.name(b.getName())
.nameEn(b.getNameEn())
.position(CommonUtil.positionZh(b.getPosition()))
.rnNumber(b.getRnNumber())
.build();
}).collect(Collectors.toList()))
.build());
}
@Resource @Resource
private TeamPlayerMapper teamPlayerMapper; private TeamPlayerMapper teamPlayerMapper;
......
...@@ -5,6 +5,7 @@ import com.live.common.domain.dto.api.PlayerInfoBasketballResponse; ...@@ -5,6 +5,7 @@ import com.live.common.domain.dto.api.PlayerInfoBasketballResponse;
import com.live.common.domain.dto.api.PlayerInfoFootballResponse; import com.live.common.domain.dto.api.PlayerInfoFootballResponse;
import com.live.common.domain.request.CommonIntId; import com.live.common.domain.request.CommonIntId;
import com.live.common.domain.request.CommonPage; import com.live.common.domain.request.CommonPage;
import com.live.common.domain.request.CommonStringId;
import com.live.common.domain.request.PlayerInfoSearchRequest; import com.live.common.domain.request.PlayerInfoSearchRequest;
import com.live.common.service.MatchService; import com.live.common.service.MatchService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
...@@ -60,6 +61,19 @@ public class MatchDataController { ...@@ -60,6 +61,19 @@ public class MatchDataController {
return matchService.getTeamInfoListSearch(commonPage, request); return matchService.getTeamInfoListSearch(commonPage, request);
} }
@PostMapping(value = "/getTeamInfoById")
@ApiOperation(value = "获取球队详情")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
public ResponseData<?> getTeamInfoById(@RequestBody CommonStringId commonStringId, HttpServletRequest request) {
return matchService.getTeamInfoById(commonStringId, request);
}
@PostMapping(value = "/getPlayerList") @PostMapping(value = "/getPlayerList")
@ApiOperation(value = "获取球员列表 其他球员分页") @ApiOperation(value = "获取球员列表 其他球员分页")
@ApiResponses({ @ApiResponses({
......
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