Commit a3090728 by root

发现controller

parent cd886607
package com.live.common.domain.dto.api;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RecentMatchResponse {
private String id;
private int status;
private String sportsName;
private String matchTime;
private TeamResponse home;
private TeamResponse away;
}
package com.live.common.domain.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class GetArticleListByTeamIdRequest extends CommonPage {
private String id;
}
......@@ -24,6 +24,8 @@ public interface ArticleService {
ResponseData<?> getArticleListByTitleLike(ArticleByTitleLikeRequest titleLikeRequest, HttpServletRequest request);
ResponseData<?> getArticleListByTeamId(GetArticleListByTeamIdRequest commonPage, HttpServletRequest request);
// back
ResponseData<?> getArticleList(ArticleListRequest articleListRequest, HttpServletRequest request);
......
......@@ -18,6 +18,8 @@ public interface MatchService {
ResponseData<?> getUserCustomMadeTeam(HttpServletRequest request);
ResponseData<?> getMatchListByTeamId(CommonStringId commonStringId, HttpServletRequest request);
ResponseData<?> getMatchTypeInfoList(HttpServletRequest request);
ResponseData<?> getTeamInfoList(CommonPage commonPage, HttpServletRequest request);
......
......@@ -14,10 +14,7 @@ import com.live.common.domain.request.*;
import com.live.common.domain.request.back.ArticleListRequest;
import com.live.common.domain.request.back.EditArticleInfoRequest;
import com.live.common.enums.StatusEnum;
import com.live.common.mapper.ArticleLikeMapper;
import com.live.common.mapper.ArticleMapper;
import com.live.common.mapper.TagMapper;
import com.live.common.mapper.UserMapper;
import com.live.common.mapper.*;
import com.live.common.service.ArticleService;
import com.live.common.service.RedisUtilsService;
import com.live.common.utils.CommonMethod;
......@@ -39,8 +36,12 @@ public class ArticleServiceImpl implements ArticleService {
@Resource
private TagMapper tagMapper;
@Resource
private TeamMapper teamMapper;
@Resource
private UserMapper userMapper;
@Resource
private SportsMapper sportsMapper;
@Resource
private ArticleMapper articleMapper;
@Resource
private RedisUtilsService redisUtilsService;
......@@ -372,6 +373,52 @@ public class ArticleServiceImpl implements ArticleService {
}
@Override
public ResponseData<?> getArticleListByTeamId(GetArticleListByTeamIdRequest commonPage, HttpServletRequest request) {
Team team = teamMapper.selectById(commonPage.getId());
if(team == null)
return ResponseData.fail400Response("Team id 错误");
Sports sports = sportsMapper.selectById(team.getSportsDbId());
int jumpNum = (commonPage.getPageNum() - 1) * commonPage.getPageSize();
Tag sportsTag = tagMapper.selectOne(Wrappers.<Tag>lambdaQuery()
.eq(Tag::getTagName, sports.getCompetitionShortName())
.eq(Tag::getTagType, 1)
.eq(Tag::getDeleted, 0)
);
Tag teamTag = tagMapper.selectOne(Wrappers.<Tag>lambdaQuery()
.eq(Tag::getTagName, team.getTeamName())
.eq(Tag::getTagType, 1)
.eq(Tag::getDeleted, 0)
);
QueryWrapper<Article> wrapper = new QueryWrapper<>();
wrapper.eq("deleted", StatusEnum.ENABLE.getCode());
wrapper.eq("content_type", 0);
if(sportsTag != null && teamTag != null){
wrapper.apply("FIND_IN_SET({0},tag_id)", sportsTag.getId());
wrapper.or();
wrapper.apply("FIND_IN_SET({0},tag_id)", teamTag.getId());
} else if(sportsTag != null){
wrapper.apply("FIND_IN_SET({0},tag_id)", sportsTag.getId());
} else if(teamTag != null){
wrapper.apply("FIND_IN_SET({0},tag_id)", teamTag.getId());
} else {
return ResponseData.successResponse(new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) 0, new ArrayList()));
}
long count = articleMapper.selectCount(wrapper);
wrapper.orderByDesc("release_time");
wrapper.last(String.format(" limit %s,%s", jumpNum, commonPage.getPageSize()));
List<Article> articles = articleMapper.selectList(wrapper);
List<GetArticleListResponse> responses = changeDto(articles);
return ResponseData.successResponse(new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) count, responses));
}
@Override
public ResponseData<?> getArticleList(ArticleListRequest commonPage, HttpServletRequest request) {
int jumpNum = (commonPage.getPageNum() - 1) * commonPage.getPageSize();
......@@ -384,6 +431,12 @@ public class ArticleServiceImpl implements ArticleService {
wrapper.last(String.format(" limit %s,%s", jumpNum, commonPage.getPageSize()));
List<Article> quizRecords = articleMapper.selectList(wrapper);
List<GetArticleListResponse> responses = changeDto(quizRecords);
return ResponseData.successResponse(
new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) count, responses));
}
private List<GetArticleListResponse> changeDto(List<Article> quizRecords){
List<GetArticleListResponse> responses = new LinkedList<>();
for (Article article : quizRecords) {
long isLike = articleLikeMapper.selectCount(Wrappers.<ArticleLike>lambdaQuery()
......@@ -414,8 +467,7 @@ public class ArticleServiceImpl implements ArticleService {
.readNum(article.getReadNum())
.build());
}
return ResponseData.successResponse(
new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) count, responses));
return responses;
}
@Override
......
......@@ -271,9 +271,9 @@ public class MatchServiceImpl implements MatchService {
);
List<TeamResponse> responses = new ArrayList<>();
for(UserReserve reserve : userReserves){
for (UserReserve reserve : userReserves) {
Team team = teamMapper.selectById(reserve.getMatchId());
if(team == null){
if (team == null) {
teamMapper.deleteById(reserve.getId());
continue;
}
......@@ -289,6 +289,44 @@ public class MatchServiceImpl implements MatchService {
}
@Override
public ResponseData<?> getMatchListByTeamId(CommonStringId commonStringId, HttpServletRequest request) {
List<Match> matches = matchMapper.selectList(Wrappers.<Match>lambdaQuery()
.eq(Match::getDeleted, 0)
.eq(Match::getSourceType, 1)
.ge(Match::getMatchTime, DateUtil.getStartTime())
.eq(Match::getAwayId, commonStringId.getId())
.or()
.eq(Match::getHomeId, commonStringId.getId())
.orderByAsc(Match::getMatchTime)
);
List<RecentMatchResponse> responses = matches.stream().map(b -> {
Team home = teamMapper.selectById(b.getHomeId());
Team away = teamMapper.selectById(b.getAwayId());
return RecentMatchResponse.builder()
.id(b.getId())
.matchTime(DateUtil.format(b.getMatchTime(), DateUtil.MDHM_))
.sportsName(b.getCompetitionShortName())
.status(b.getCompetitionStatus())
.away(TeamResponse.builder()
.score(b.getHomeScore())
.teamName(home.getTeamName())
.teamIcon(home.getTeamIcon())
.id(home.getId())
.build())
.home(TeamResponse.builder()
.score(b.getAwayScore())
.teamName(away.getTeamName())
.teamIcon(away.getTeamIcon())
.id(away.getId())
.build())
.build();
}).collect(Collectors.toList());
return ResponseData.successResponse(responses);
}
@Override
public ResponseData<?> getMatchTypeInfoList(HttpServletRequest request) {
String key = RedisKeySplicing.requestLock("getMatchTypeInfoList", "0");
......
package com.live.server.controller;
import com.live.common.domain.ResponseData;
import com.live.common.domain.request.*;
import com.live.common.service.ArticleService;
import com.live.common.service.CategoryService;
import com.live.common.service.MatchService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@CrossOrigin
@RestController
@RequestMapping("/find")
@Api(tags = "发现界面 API 文档")
public class FindController {
@Resource
private MatchService matchService;
@Resource
private ArticleService articleService;
@Resource
private CategoryService categoryService;
@PostMapping(value = "/customMadeTeam")
@ApiOperation(value = "获取定制球队 -1 全部 0 足球 1 篮球")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> customMadeTeam(@RequestBody CommonIntId commonIntId, HttpServletRequest request) {
return categoryService.customMadeTeam(commonIntId, request);
}
@PostMapping(value = "/userCustomMadeTeam")
@ApiOperation(value = "用户设置定制 球队 id")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> userCustomMadeTeam(@RequestBody UserMsgRequest userMsgRequest, HttpServletRequest request) {
return matchService.userCustomMadeTeam(userMsgRequest, request);
}
@PostMapping(value = "/getUserCustomMadeTeam")
@ApiOperation(value = "获取用户定制的球队")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> getUserCustomMadeTeam(HttpServletRequest request) {
return matchService.getUserCustomMadeTeam(request);
}
@PostMapping(value = "/getMatchListByTeamId")
@ApiOperation(value = "根据用户定制的球队id 获取【近期比赛】")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> getMatchListByTeamId(@RequestBody CommonStringId commonStringId, HttpServletRequest request) {
return matchService.getMatchListByTeamId(commonStringId, request);
}
@PostMapping(value = "/getArticleListByTeamId")
@ApiOperation(value = "根据用户定制的球队id 获取【相关资讯】")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> getArticleListByTeamId(@RequestBody GetArticleListByTeamIdRequest commonPage, HttpServletRequest request) {
return articleService.getArticleListByTeamId(commonPage, request);
}
}
......@@ -64,51 +64,6 @@ public class MatchController {
return categoryService.getMatchHomeType(request);
}
@PostMapping(value = "/customMadeTeam")
@ApiOperation(value = "获取定制球队 -1 全部 0 足球 1 篮球")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
public ResponseData<?> customMadeTeam(@RequestBody CommonIntId commonIntId, HttpServletRequest request) {
return categoryService.customMadeTeam(commonIntId, request);
}
@PostMapping(value = "/userCustomMadeTeam")
@ApiOperation(value = "用户设置定制 球队 id")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> userCustomMadeTeam(@RequestBody UserMsgRequest userMsgRequest, HttpServletRequest request) {
return matchService.userCustomMadeTeam(userMsgRequest, request);
}
@PostMapping(value = "/getUserCustomMadeTeam")
@ApiOperation(value = "获取用户定制的球队")
@ApiResponses({
@ApiResponse(code = 200, message = "成功处理请求"),
@ApiResponse(code = 401, message = "没有权限访问该服务"),
@ApiResponse(code = 403, message = "权限不足无法访问该服务"),
@ApiResponse(code = 404, message = "未发现该服务"),
@ApiResponse(code = 500, message = "服务器内部错误")
})
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "登录凭证(登录后 token 值)", dataType = "String", paramType = "header", required = true)
})
public ResponseData<?> getUserCustomMadeTeam(HttpServletRequest request) {
return matchService.getUserCustomMadeTeam(request);
}
@PostMapping(value = "/getMatchListBySportsId")
@ApiOperation(value = "根据 sportsId 获取赛程列表(可带可不带token,带token判断关注)")
@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