package cc.mrbird.febs.dapp.basketball_nba.service.Impl;
|
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.dapp.basketball_nba.entity.NbaLeagues;
|
import cc.mrbird.febs.dapp.basketball_nba.entity.NbaSeasons;
|
import cc.mrbird.febs.dapp.basketball_nba.mapper.NbaLeaguesMapper;
|
import cc.mrbird.febs.dapp.basketball_nba.mapper.NbaSeasonsMapper;
|
import cc.mrbird.febs.dapp.basketball_nba.service.BasketballService;
|
import cc.mrbird.febs.dapp.basketball_nba.util.DataEnum;
|
import cc.mrbird.febs.dapp.basketball_nba.util.SoccerResponseUtil;
|
import cc.mrbird.febs.dapp.basketball_nba.vo.JsonResponse;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.mashape.unirest.http.HttpResponse;
|
import com.mashape.unirest.http.Unirest;
|
import com.mashape.unirest.http.exceptions.UnirestException;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class BasketballServiceImpl extends ServiceImpl<NbaSeasonsMapper, NbaSeasons> implements BasketballService {
|
|
private final NbaSeasonsMapper nbaSeasonsMapper;
|
private final NbaLeaguesMapper nbaLeaguesMapper;
|
|
@Override
|
public FebsResponse seasons() {
|
HttpResponse<String> httpResponse = null;
|
try {
|
httpResponse = Unirest.get(DataEnum.SEASONS_URL.getCode())
|
.header(DataEnum.API_KEY.getType(), DataEnum.API_KEY.getCode())
|
.header(DataEnum.API_HOST.getType(), DataEnum.API_HOST.getCode()).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 object : responses){
|
NbaSeasons nbaSeasons = new NbaSeasons();
|
Integer seasonsCode = SoccerResponseUtil.objectToInteger(object);
|
List<NbaSeasons> nbaSeasonsList = nbaSeasonsMapper.selectList(new QueryWrapper<NbaSeasons>().eq("seasons_code", seasonsCode));
|
if(CollUtil.isEmpty(nbaSeasonsList)){
|
nbaSeasons.setSeasonsCode(seasonsCode);
|
nbaSeasonsMapper.insert(nbaSeasons);
|
}
|
}
|
}
|
}
|
return new FebsResponse().success().data(jsonResponse);
|
}
|
|
@Override
|
public FebsResponse leagues() {
|
HttpResponse<String> httpResponse = null;
|
try {
|
httpResponse = Unirest.get(DataEnum.LEAGUES_URL.getCode())
|
.header(DataEnum.API_KEY.getType(), DataEnum.API_KEY.getCode())
|
.header(DataEnum.API_HOST.getType(), DataEnum.API_HOST.getCode()).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 object : responses){
|
NbaLeagues nbaLeagues = new NbaLeagues();
|
String leaguesCode = SoccerResponseUtil.objectToStr(object);
|
List<NbaLeagues> nbaLeaguesList = nbaLeaguesMapper.selectList(new QueryWrapper<NbaLeagues>().eq("leagues_code", leaguesCode));
|
if(CollUtil.isEmpty(nbaLeaguesList)){
|
nbaLeagues.setLeaguesCode(leaguesCode);
|
nbaLeaguesMapper.insert(nbaLeagues);
|
}
|
}
|
}
|
}
|
return new FebsResponse().success().data(jsonResponse);
|
}
|
|
@Override
|
public FebsResponse teams() {
|
HttpResponse<String> httpResponse = null;
|
try {
|
httpResponse = Unirest.get(DataEnum.TEAMS_URL.getCode())
|
.header(DataEnum.API_KEY.getType(), DataEnum.API_KEY.getCode())
|
.header(DataEnum.API_HOST.getType(), DataEnum.API_HOST.getCode())
|
.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 object : responses){
|
NbaLeagues nbaLeagues = new NbaLeagues();
|
String leaguesCode = SoccerResponseUtil.objectToStr(object);
|
List<NbaLeagues> nbaLeaguesList = nbaLeaguesMapper.selectList(new QueryWrapper<NbaLeagues>().eq("leagues_code", leaguesCode));
|
if(CollUtil.isEmpty(nbaLeaguesList)){
|
nbaLeagues.setLeaguesCode(leaguesCode);
|
nbaLeaguesMapper.insert(nbaLeagues);
|
}
|
}
|
}
|
}
|
return new FebsResponse().success().data(jsonResponse);
|
}
|
}
|