From f18f343009b97b7802635ff2d3a84cc4f89cdb41 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 13 May 2024 12:07:17 +0800
Subject: [PATCH] 球队信息
---
src/main/java/cc/mrbird/febs/dapp/soccer/service/Impl/CountryServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 84 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/soccer/service/Impl/CountryServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/soccer/service/Impl/CountryServiceImpl.java
index 26bf217..138ae09 100644
--- a/src/main/java/cc/mrbird/febs/dapp/soccer/service/Impl/CountryServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/soccer/service/Impl/CountryServiceImpl.java
@@ -2,10 +2,9 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.dapp.soccer.dto.LeaguesApiDto;
+import cc.mrbird.febs.dapp.soccer.dto.TeamsApiDto;
import cc.mrbird.febs.dapp.soccer.entity.*;
-import cc.mrbird.febs.dapp.soccer.mapper.SoccerCountriesMapper;
-import cc.mrbird.febs.dapp.soccer.mapper.SoccerLeaguesMapper;
-import cc.mrbird.febs.dapp.soccer.mapper.SoccerTimezoneMapper;
+import cc.mrbird.febs.dapp.soccer.mapper.*;
import cc.mrbird.febs.dapp.soccer.service.CountryService;
import cc.mrbird.febs.dapp.soccer.util.SoccerResponseUtil;
import cn.hutool.core.collection.CollUtil;
@@ -33,6 +32,9 @@
private final SoccerCountriesMapper soccerCountriesMapper;
private final SoccerLeaguesMapper soccerLeaguesMapper;
private final SoccerTimezoneMapper soccerTimezoneMapper;
+ private final SoccerLeaguesSeasonsMapper soccerLeaguesSeasonsMapper;
+ private final SoccerTeamMapper soccerTeamMapper;
+ private final SoccerVenueMapper soccerVenueMapper;
@Override
public FebsResponse countries() {
@@ -140,6 +142,85 @@
return new FebsResponse().success().data(jsonResponse);
}
+ @Override
+ public FebsResponse seasons() {
+ HttpResponse<String> httpResponse = null;
+ /**
+ * https://v3.football.api-sports.io/leagues/seasons
+ */
+ try {
+ httpResponse = Unirest.get("https://v3.football.api-sports.io/leagues/seasons")
+ .header("x-rapidapi-key", "87f8d87d629d1704ba49622cb978eb81")
+ .header("x-rapidapi-host", "v3.football.api-sports.io").asString();
+ } catch (UnirestException e) {
+ e.printStackTrace();
+ }
+
+ JsonResponse jsonResponse = SoccerResponseUtil.getJsonResponse(httpResponse);
+ if(ObjectUtil.isNotEmpty(jsonResponse)){
+ List<Object> responses = jsonResponse.getResponse();
+ if(CollUtil.isNotEmpty(jsonResponse.getResponse())){
+ for(Object seasonsName : responses){
+ SoccerLeaguesSeasons soccerLeaguesSeasons = new SoccerLeaguesSeasons();
+ soccerLeaguesSeasons.setSeasonsName(SoccerResponseUtil.objectToStr(seasonsName));
+ soccerLeaguesSeasonsMapper.insert(soccerLeaguesSeasons);
+ }
+ }
+ }
+ return new FebsResponse().success().data(jsonResponse);
+ }
+
+ @Override
+ public FebsResponse teams(TeamsApiDto teamsApiDto) {
+ HttpResponse<String> httpResponse = null;
+ String country = teamsApiDto.getCountry();
+
+ try {
+ /**
+ * https://v3.football.api-sports.io/teams
+ */
+ httpResponse = Unirest.get(" https://v3.football.api-sports.io/teams")
+ .header("x-rapidapi-key", "87f8d87d629d1704ba49622cb978eb81")
+ .header("x-rapidapi-host", "v3.football.api-sports.io")
+ .queryString("country",country)
+ .asString();
+ } catch (UnirestException e) {
+ e.printStackTrace();
+ }
+
+ TeamsInfoResponse teamsInfoResponse = SoccerResponseUtil.getTeamsInfoResponse(httpResponse);
+ if(ObjectUtil.isNotEmpty(teamsInfoResponse)){
+ List<TeamsInfo> responses = teamsInfoResponse.getResponse();
+ if(CollUtil.isNotEmpty(responses)){
+ for(TeamsInfo teamsInfo : responses){
+
+ Team team = teamsInfo.getTeam();
+ SoccerTeam soccerTeam = new SoccerTeam();
+ soccerTeam.setTeamId(team.getId());
+ soccerTeam.setName(team.getName());
+ soccerTeam.setCode(team.getCode());
+ soccerTeam.setCountry(team.getCountry());
+ soccerTeam.setFounded(team.getFounded());
+ soccerTeam.setNational(team.getNational());
+ soccerTeam.setLogo(team.getLogo());
+ soccerTeamMapper.insert(soccerTeam);
+
+ Venue venue = teamsInfo.getVenue();
+ SoccerVenue soccerVenue = new SoccerVenue();
+ soccerVenue.setVenueId(venue.getId());
+ soccerVenue.setName(venue.getName());
+ soccerVenue.setAddress(venue.getAddress());
+ soccerVenue.setCity(venue.getCity());
+ soccerVenue.setCapacity(venue.getCapacity());
+ soccerVenue.setSurface(venue.getSurface());
+ soccerVenue.setImage(venue.getImage());
+ soccerVenueMapper.insert(soccerVenue);
+ }
+ }
+ }
+ return new FebsResponse().success().data(teamsInfoResponse);
+ }
+
public static void main(String[] args) {
String str = "{\n" +
" \"get\": \"leagues\",\n" +
--
Gitblit v1.9.1