Commit b6947173 by lenx065@gmail.com

所有赛事,所有球队

parent df846deb
......@@ -30,7 +30,7 @@ public class RedisKeySplicing {
}
public static String requestLock(String method, String phone){
return RedisCommonChar.REDIS_LOCK.concat("method:").concat(phone);
return RedisCommonChar.REDIS_LOCK.concat(method).concat(":").concat(phone);
}
}
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 GetMatchTypeInfoListResponse {
private List<MatchTypeInfoResponse> basketball;
private List<MatchTypeInfoResponse> football;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class MatchTypeInfoResponse{
private String id;
private String shortName;
private String shortNameEn;
private String icon;
}
}
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 GetTeamInfoListResponse {
private List<GetTeamInfoInfoResponse> hotTeam;
private List<GetTeamInfoInfoResponse> otherTeam;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class GetTeamInfoInfoResponse {
private String id;
private String teamIcon;
private String teamName;
private String teamNameEn;
}
}
......@@ -17,10 +17,13 @@ public class Team extends BaseStringIdEntity {
private int sportsId;
private String originalId;
//0 Leyu 1 AlStat
private Integer originalType;
private String teamNameEn;
private String teamName;
private String sportsName;
private String teamIcon;
//0默认1热门
private Integer hotTeam;
}
......@@ -16,6 +16,10 @@ public interface MatchService {
ResponseData<?> getMatchListBySportsId(GetMatchListByRequest commonStringId, HttpServletRequest request);
ResponseData<?> getMatchTypeInfoList(HttpServletRequest request);
ResponseData<?> getTeamInfoList(HttpServletRequest request);
ResponseData<?> getMatchList(GetMatchListRequest commonStringId, HttpServletRequest request);
......
......@@ -207,6 +207,74 @@ public class MatchServiceImpl implements MatchService {
}
@Override
public ResponseData<?> getMatchTypeInfoList(HttpServletRequest request) {
String key = RedisKeySplicing.requestLock("getMatchTypeInfoList", "0");
if(redisUtilsService.existsKey(key)){
String cacheInfo = redisUtilsService.getCacheStringInfo(key);
GetMatchTypeInfoListResponse response = JSONObject.toJavaObject(JSONObject.parseObject(cacheInfo), GetMatchTypeInfoListResponse.class);
return ResponseData.successResponse(response);
}
List<Sports> sports = sportsMapper.selectList(Wrappers.<Sports>lambdaQuery()
.eq(Sports::getDeleted, 0)
.eq(Sports::getSourceType, 1)
);
GetMatchTypeInfoListResponse response = new GetMatchTypeInfoListResponse();
for (Sports s : sports) {
GetMatchTypeInfoListResponse.MatchTypeInfoResponse matchTypeInfo = GetMatchTypeInfoListResponse.MatchTypeInfoResponse.builder()
.icon(s.getCompetitionIcon())
.id(s.getId())
.shortName(s.getCompetitionShortName())
.shortNameEn(s.getCompetitionShortNameEn())
.build();
if (s.getSportsId() == 0) {
response.getFootball().add(matchTypeInfo);
} else if (s.getSportsId() == 1) {
response.getBasketball().add(matchTypeInfo);
}
}
redisUtilsService.cacheStringInfoByDay(key, JSON.toJSONString(response), 7);
return ResponseData.successResponse(response);
}
@Override
public ResponseData<?> getTeamInfoList(HttpServletRequest request) {
String key = RedisKeySplicing.requestLock("getTeamInfoList", "0");
if(redisUtilsService.existsKey(key)){
String cacheInfo = redisUtilsService.getCacheStringInfo(key);
GetTeamInfoListResponse response = JSONObject.toJavaObject(JSONObject.parseObject(cacheInfo), GetTeamInfoListResponse.class);
return ResponseData.successResponse(response);
}
List<Team> teams = teamMapper.selectList(Wrappers.<Team>lambdaQuery()
.eq(Team::getDeleted, 0)
.eq(Team::getOriginalType, 1)
.orderByDesc(Team::getCreateTime)
);
GetTeamInfoListResponse response = new GetTeamInfoListResponse();
for (Team team : teams) {
GetTeamInfoListResponse.GetTeamInfoInfoResponse teamInfo = GetTeamInfoListResponse.GetTeamInfoInfoResponse.builder()
.id(team.getId())
.teamIcon(team.getTeamIcon())
.teamName(team.getTeamName())
.teamNameEn(team.getTeamNameEn())
.build();
if (team.getHotTeam() == 1) {
response.getHotTeam().add(teamInfo);
} else if (team.getHotTeam() == 0) {
response.getOtherTeam().add(teamInfo);
}
}
redisUtilsService.cacheStringInfoByDay(key, JSON.toJSONString(response), 7);
return ResponseData.successResponse(response);
}
@Override
public ResponseData<?> getMatchList(GetMatchListRequest commonStringId, HttpServletRequest request) {
List<Match> matches;
......
......@@ -35,7 +35,7 @@ public class IntercaptorConfig implements WebMvcConfigurer {
.excludePathPatterns("/live/**")
.excludePathPatterns("/article/**")
.excludePathPatterns("/pcHome/**")
.excludePathPatterns("/data/**")
.excludePathPatterns("/platform/liveCutImgNotify")
;
......
package com.live.server.controller;
import com.live.common.domain.ResponseData;
import com.live.common.domain.request.CommonStringId;
import com.live.common.domain.request.CreateRoomRequest;
import com.live.common.service.CategoryService;
import com.live.common.service.LiveService;
import com.live.common.service.MatchService;
import io.swagger.annotations.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@CrossOrigin
@RestController
@RequestMapping("/data")
@Api(tags = "赛事/球队 数据接口")
public class MatchDataController {
@Resource
private MatchService matchService;
@PostMapping(value = "/getMatchTypeInfoAllList")
@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<?> getMatchTypeInfoList(HttpServletRequest request) {
return matchService.getMatchTypeInfoList(request);
}
@PostMapping(value = "/getTeamInfoList")
@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<?> getTeamInfoList(HttpServletRequest request) {
return matchService.getTeamInfoList(request);
}
}
\ 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