mirror of
https://gitee.com/y_project/RuoYi-Cloud.git
synced 2026-01-26 19:51:56 +08:00
获取积分榜
This commit is contained in:
@@ -222,23 +222,8 @@ public class CompetitionOfTeamController extends BaseController
|
|||||||
}
|
}
|
||||||
@PostMapping("/getJoinCompetitionGroupTeam")
|
@PostMapping("/getJoinCompetitionGroupTeam")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@ApiOperation(value = ApiTerminal.wxMiniProgram+"获取赛事中参与的球队的分组数据")
|
@ApiOperation(value = ApiTerminal.wxMiniProgram+"获取赛事中参与的球队的分组的积分情况")
|
||||||
public AjaxResult getJoinCompetitionGroupTeam(@RequestBody CompetitionOfTeamVo entity){
|
public AjaxResult getJoinCompetitionGroupTeam(@RequestBody CompetitionOfTeamVo entity){
|
||||||
//关键字word包含:球队名称、地点名称、球馆名称,支持模糊搜索;
|
|
||||||
// List<CompetitionOfTeamVo> competitionOfTeamVos = competitionOfTeamFeign.getJoinCompetitionGroupTeam(entity);
|
|
||||||
// List<CompetitionOfTeamVo> isNotGroupList = list.stream().filter(a -> StringUtils.isEmpty(a.getCompetitionGroup())).collect(Collectors.toList());
|
|
||||||
// List<CompetitionOfTeamVo> list1 = list.stream().filter(a -> !StringUtils.isEmpty(a.getCompetitionGroup())).collect(Collectors.toList());
|
|
||||||
// //1.根据字符串类型日期分组,并按照日期升序排序,返回TreeMap<String,List>,map的key为字符串日期,value为list
|
|
||||||
// TreeMap<String,List<CompetitionOfTeamVo>> dataGroupMap = list1.stream().collect(Collectors.groupingBy(a->a.getCompetitionGroup(), TreeMap::new,Collectors.toList()));
|
|
||||||
// List<Map> listMap = new ArrayList<>();
|
|
||||||
// for(Map.Entry<String, List<CompetitionOfTeamVo>> entry:dataGroupMap.entrySet()){
|
|
||||||
// Map resMap =new HashMap();
|
|
||||||
// resMap.put("competitionGroup",entry.getKey());
|
|
||||||
// resMap.put("competitionOfTeamList",entry.getValue());
|
|
||||||
// listMap.add(resMap);
|
|
||||||
// }
|
|
||||||
// maps.put("isGroup",listMap);
|
|
||||||
// maps.put("isNotGroup",isNotGroupList);
|
|
||||||
Map hashMap = new HashMap();
|
Map hashMap = new HashMap();
|
||||||
List<CompetitionOfTeamGroupVo> competitionOfTeamGroupVoList = null;
|
List<CompetitionOfTeamGroupVo> competitionOfTeamGroupVoList = null;
|
||||||
List<CompetitionOfTeamVo> competitionOfTeamVos = competitionOfTeamService.findCompetitionTeamGroupList(entity);
|
List<CompetitionOfTeamVo> competitionOfTeamVos = competitionOfTeamService.findCompetitionTeamGroupList(entity);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.util.Comparator;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.ruoyi.common.core.exception.ServiceException;
|
import com.ruoyi.common.core.exception.ServiceException;
|
||||||
@@ -159,34 +160,61 @@ public class CompetitionResultController extends BaseController
|
|||||||
throw new InvalidParameterException("赛会id不能为");
|
throw new InvalidParameterException("赛会id不能为");
|
||||||
}
|
}
|
||||||
List<PersonalHonorResponse> honorResponseList = new ArrayList<>();
|
List<PersonalHonorResponse> honorResponseList = new ArrayList<>();
|
||||||
|
|
||||||
//查询赛会得分数据
|
//查询赛会得分数据
|
||||||
List<CompetitionMembersScore> membersScoreList = competitionMembersScoreService.getHonorList(competitionId,null);
|
List<CompetitionMembersScore> membersScoreList = competitionMembersScoreService.getHonorList(competitionId,null);
|
||||||
if(UtilTool.isNotNull(membersScoreList)){
|
if(membersScoreList.size()>0){
|
||||||
honorResponseList = new ArrayList<>();
|
|
||||||
|
|
||||||
CompetitionMembersScore membersScore = null;
|
|
||||||
//3分王
|
//3分王
|
||||||
membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get();
|
List<CompetitionMembersScore> threePointList = membersScoreList.stream().filter(a -> a.getThreePoints().longValue() > 0).collect(Collectors.toList());
|
||||||
setHonorData(honorResponseList,membersScore,"3分王");
|
if(threePointList.size()>0) {
|
||||||
|
CompetitionMembersScore threePoint = threePointList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get();
|
||||||
|
setHonorData(honorResponseList, threePoint, "3分王");
|
||||||
|
}else {
|
||||||
|
setHonorData(honorResponseList, new CompetitionMembersScore(), "3分王");
|
||||||
|
}
|
||||||
//篮板王
|
//篮板王
|
||||||
membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getBackboard)).get();
|
List<CompetitionMembersScore> backboardList = membersScoreList.stream().filter(a -> a.getBackboard().longValue() > 0).collect(Collectors.toList());
|
||||||
setHonorData(honorResponseList,membersScore,"篮板王");
|
if(backboardList.size()>0){
|
||||||
|
CompetitionMembersScore backboardMax = backboardList.stream().max(Comparator.comparing(CompetitionMembersScore::getBackboard)).get();
|
||||||
|
setHonorData(honorResponseList,backboardMax,"篮板王");
|
||||||
|
}else {
|
||||||
|
setHonorData(honorResponseList,new CompetitionMembersScore(),"篮板王");
|
||||||
|
}
|
||||||
|
|
||||||
//效率王
|
//效率王
|
||||||
// membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get();
|
// membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get();
|
||||||
// setHonorData(membersScore,"效率王");
|
// setHonorData(membersScore,"效率王");
|
||||||
//助攻王
|
//助攻王
|
||||||
membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getAssists)).get();
|
List<CompetitionMembersScore> assistsList = membersScoreList.stream().filter(a -> a.getAssists().longValue() > 0).collect(Collectors.toList());
|
||||||
setHonorData(honorResponseList,membersScore,"助攻王");
|
if(assistsList.size()>0){
|
||||||
|
CompetitionMembersScore assists = assistsList.stream().max(Comparator.comparing(CompetitionMembersScore::getAssists)).get();
|
||||||
|
setHonorData(honorResponseList,assists,"助攻王");
|
||||||
|
}else {
|
||||||
|
setHonorData(honorResponseList,new CompetitionMembersScore(),"助攻王");
|
||||||
|
}
|
||||||
//得分王
|
//得分王
|
||||||
membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getTotalScore)).get();
|
List<CompetitionMembersScore> totalScoreList = membersScoreList.stream().filter(a -> a.getTotalScore().longValue() > 0).collect(Collectors.toList());
|
||||||
setHonorData(honorResponseList,membersScore,"得分王");
|
if(totalScoreList.size()>0){
|
||||||
|
CompetitionMembersScore totalScore = totalScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getTotalScore)).get();
|
||||||
|
setHonorData(honorResponseList,totalScore,"得分王");
|
||||||
|
}else {
|
||||||
|
setHonorData(honorResponseList,new CompetitionMembersScore(),"得分王");
|
||||||
|
}
|
||||||
//盖帽王
|
//盖帽王
|
||||||
membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getBlock)).get();
|
List<CompetitionMembersScore> blockList = membersScoreList.stream().filter(a -> a.getBlock().longValue() > 0).collect(Collectors.toList());
|
||||||
setHonorData(honorResponseList,membersScore,"盖帽王");
|
if(blockList.size()>0){
|
||||||
|
CompetitionMembersScore block = blockList.stream().max(Comparator.comparing(CompetitionMembersScore::getBlock)).get();
|
||||||
|
setHonorData(honorResponseList,block,"盖帽王");
|
||||||
|
}else {
|
||||||
|
setHonorData(honorResponseList,new CompetitionMembersScore(),"盖帽王");
|
||||||
|
}
|
||||||
//抢断王
|
//抢断王
|
||||||
membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getSnatch)).get();
|
List<CompetitionMembersScore> snatchList = membersScoreList.stream().filter(a -> a.getSnatch().longValue() > 0).collect(Collectors.toList());
|
||||||
setHonorData(honorResponseList,membersScore,"抢断王");
|
if(snatchList.size()>0){
|
||||||
|
CompetitionMembersScore snatch = snatchList.stream().max(Comparator.comparing(CompetitionMembersScore::getSnatch)).get();
|
||||||
|
setHonorData(honorResponseList,snatch,"抢断王");
|
||||||
|
}else {
|
||||||
|
setHonorData(honorResponseList,new CompetitionMembersScore(),"抢断王");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return getDataTable(honorResponseList);
|
return getDataTable(honorResponseList);
|
||||||
|
|||||||
@@ -2,11 +2,9 @@ package com.ruoyi.system.controller;
|
|||||||
|
|
||||||
import java.security.InvalidParameterException;
|
import java.security.InvalidParameterException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Map;
|
import java.util.stream.Collectors;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
@@ -160,10 +158,47 @@ public class CompetitionTeamVsTeamController extends BaseController
|
|||||||
@GetMapping("/competitionTeamIntegralList/{id}")
|
@GetMapping("/competitionTeamIntegralList/{id}")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public TableDataInfo competitionTeamIntegralList(@PathVariable("id") Long id) throws Exception {
|
public TableDataInfo competitionTeamIntegralList(@PathVariable("id") Long id) throws Exception {
|
||||||
List<CompetitionTeamIntegralVo> list = competitionTeamVsTeamService.getCompetitionTeamIntegralListById(id);
|
CompetitionTeamIntegralVo vo = new CompetitionTeamIntegralVo();
|
||||||
|
vo.setCompetitionId(id);
|
||||||
|
List<CompetitionTeamIntegralVo> list = competitionTeamVsTeamService.getCompetitionTeamIntegralListById(vo);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
@ApiOperation(ApiTerminal.wxMiniProgram+"根据赛会ID获取所有球队的积分排位")
|
||||||
|
@PostMapping("/competitionTeamIntegralRanking")
|
||||||
|
@ResponseBody
|
||||||
|
public TableDataInfo competitionTeamIntegralRanking(@RequestBody CompetitionTeamIntegralVo vo) throws Exception {
|
||||||
|
List<competitionTeamIntegralRankingVo> rankingVoList = new ArrayList<>();
|
||||||
|
List<CompetitionTeamIntegralVo> list = competitionTeamVsTeamService.getCompetitionTeamIntegralListById(vo);
|
||||||
|
Map<String, List<CompetitionTeamIntegralVo>> map = new HashMap<>();
|
||||||
|
if(list.size()>0) {
|
||||||
|
List<CompetitionTeamIntegralVo> notGroup = list.stream().filter(a -> ObjectUtil.isNull(a.getCompetitionGroup())).collect(Collectors.toList());
|
||||||
|
List<CompetitionTeamIntegralVo> yesGroup = list.stream().filter(a -> ObjectUtil.isNotNull(a.getCompetitionGroup())).collect(Collectors.toList());
|
||||||
|
if(yesGroup.size()>0) {
|
||||||
|
map = yesGroup.stream().collect(
|
||||||
|
Collectors.groupingBy(CompetitionTeamIntegralVo::getCompetitionGroup, HashMap::new,
|
||||||
|
Collectors.collectingAndThen(Collectors.toList(),
|
||||||
|
//正序
|
||||||
|
//list1 -> list1.stream().sorted(Comparator.comparing(CompetitionTeamIntegralVo::getIntegral))
|
||||||
|
//倒序
|
||||||
|
list1 -> list1.stream().sorted(Comparator.comparing(CompetitionTeamIntegralVo::getIntegral).reversed())
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
)));
|
||||||
|
for (String key:map.keySet()){
|
||||||
|
competitionTeamIntegralRankingVo rankingVo = new competitionTeamIntegralRankingVo();
|
||||||
|
rankingVo.setCompetitionGroup(key);
|
||||||
|
rankingVo.setIntegralList(map.get(key));
|
||||||
|
rankingVoList.add(rankingVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(notGroup.size()>0){
|
||||||
|
competitionTeamIntegralRankingVo rankingVo = new competitionTeamIntegralRankingVo();
|
||||||
|
rankingVo.setCompetitionGroup("未分");
|
||||||
|
rankingVo.setIntegralList(notGroup.stream().sorted(Comparator.comparing(CompetitionTeamIntegralVo::getIntegral).reversed()).collect(Collectors.toList()));
|
||||||
|
rankingVoList.add(rankingVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getDataTable(rankingVoList);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/competitionScheduleSubmit")
|
@PostMapping("/competitionScheduleSubmit")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ public class CompetitionResult extends BaseEntity
|
|||||||
@Excel(name = "赛程id(competition_team_vs_team的ID)")
|
@Excel(name = "赛程id(competition_team_vs_team的ID)")
|
||||||
private Long competitionVsId;
|
private Long competitionVsId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "competition_of_team表的主键ID", required = false)
|
||||||
|
private Long competitionOfTeamId;
|
||||||
/** 球队ID */
|
/** 球队ID */
|
||||||
@Excel(name = "球队ID")
|
@Excel(name = "球队ID")
|
||||||
private Long teamId;
|
private Long teamId;
|
||||||
@@ -98,7 +100,9 @@ public class CompetitionResult extends BaseEntity
|
|||||||
private Integer integral;
|
private Integer integral;
|
||||||
@ApiModelProperty(value = "比赛结果", required = false)
|
@ApiModelProperty(value = "比赛结果", required = false)
|
||||||
private String vsResult;
|
private String vsResult;
|
||||||
|
@ApiModelProperty(value = "比赛类型:0=循环赛,1=淘汰赛", required = false)
|
||||||
|
private String vsType;
|
||||||
@ApiModelProperty(value = "比赛总分", required = false)
|
@ApiModelProperty(value = "比赛总分", required = false)
|
||||||
private Integer totalScore;
|
private Integer totalScore;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import org.springframework.util.StringUtils;
|
|||||||
|
|
||||||
public enum VsResultEnums {
|
public enum VsResultEnums {
|
||||||
win("win", "胜"),
|
win("win", "胜"),
|
||||||
|
flat("flat","平"),
|
||||||
fail("fail", "负");
|
fail("fail", "负");
|
||||||
|
|
||||||
private String code;
|
private String code;
|
||||||
|
|||||||
@@ -11,10 +11,13 @@ import java.io.Serializable;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class CompetitionTeamIntegralVo implements Serializable {
|
public class CompetitionTeamIntegralVo implements Serializable {
|
||||||
|
private Long competitionId;
|
||||||
private String teamName;
|
private String teamName;
|
||||||
private String teamLogo;
|
private String teamLogo;
|
||||||
private Integer win;
|
private Integer win;
|
||||||
private Integer fail;
|
private Integer fail;
|
||||||
private Integer totalScore;
|
private Integer totalScore;
|
||||||
private Integer integral;
|
private Integer integral;
|
||||||
|
private String vsType;
|
||||||
|
private String competitionGroup;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ruoyi.system.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 吴一博
|
||||||
|
* @date 2023年07月19日 18:27
|
||||||
|
* @Description
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class competitionTeamIntegralRankingVo {
|
||||||
|
private String competitionGroup;
|
||||||
|
public List<CompetitionTeamIntegralVo> integralList;
|
||||||
|
}
|
||||||
@@ -76,7 +76,7 @@ public interface CompetitionTeamVsTeamMapper
|
|||||||
|
|
||||||
List<CompetitionTeamVsTeamVo> getLatelySchedule(CompetitionTeamVsTeam competitionTeamVsTeam);
|
List<CompetitionTeamVsTeamVo> getLatelySchedule(CompetitionTeamVsTeam competitionTeamVsTeam);
|
||||||
|
|
||||||
List<CompetitionTeamIntegralVo> getCompetitionTeamIntegralListById(@Param("id") Long id);
|
List<CompetitionTeamIntegralVo> getCompetitionTeamIntegralListById(CompetitionTeamIntegralVo vo);
|
||||||
|
|
||||||
int competitionVsTeamStatusUpdate(CompetitionTeamVsTeam competitionTeamVsTeam);
|
int competitionVsTeamStatusUpdate(CompetitionTeamVsTeam competitionTeamVsTeam);
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public interface ICompetitionTeamVsTeamService
|
|||||||
|
|
||||||
Map<String, List<CompetitionTeamVsTeamVo>> getCompetitionSchedule(CompetitionTeamVsTeam entity);
|
Map<String, List<CompetitionTeamVsTeamVo>> getCompetitionSchedule(CompetitionTeamVsTeam entity);
|
||||||
|
|
||||||
List<CompetitionTeamIntegralVo> getCompetitionTeamIntegralListById(Long id);
|
List<CompetitionTeamIntegralVo> getCompetitionTeamIntegralListById(CompetitionTeamIntegralVo vo);
|
||||||
|
|
||||||
Boolean competitionScheduleSubmit(List<CompetitionTeamVsTeamRequest> vsTeamRequestList);
|
Boolean competitionScheduleSubmit(List<CompetitionTeamVsTeamRequest> vsTeamRequestList);
|
||||||
|
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService
|
|||||||
//合计总分
|
//合计总分
|
||||||
int score = oneNodeScore+twoNodeScore+threeNodeScore+fourNodeScore+fiveNodeScore+sixNodeScore;
|
int score = oneNodeScore+twoNodeScore+threeNodeScore+fourNodeScore+fiveNodeScore+sixNodeScore;
|
||||||
//主队
|
//主队
|
||||||
if(teamVsTeam.getMainTeamId().equals(competitionResult.getTeamId())){
|
if(teamVsTeam.getMainTeamId().equals(competitionResult.getCompetitionOfTeamId())){
|
||||||
mainId = competitionResult.getId();
|
mainId = competitionResult.getId();
|
||||||
mainScore = score;
|
mainScore = score;
|
||||||
teamVsTeam.setMainTeamScore(score);
|
teamVsTeam.setMainTeamScore(score);
|
||||||
@@ -213,7 +213,7 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService
|
|||||||
gustScore = score;
|
gustScore = score;
|
||||||
teamVsTeam.setGuestTeamScore(score);
|
teamVsTeam.setGuestTeamScore(score);
|
||||||
//客队标识
|
//客队标识
|
||||||
if(entity.getTeamId()==competitionResult.getTeamId()){
|
if(entity.getCompetitionOfTeamId()==competitionResult.getCompetitionOfTeamId()){
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS
|
|||||||
//组装队伍球员数据并排序
|
//组装队伍球员数据并排序
|
||||||
if(competitionResultList!=null&&competitionResultList.size()>0){
|
if(competitionResultList!=null&&competitionResultList.size()>0){
|
||||||
//组装主队数据
|
//组装主队数据
|
||||||
List<CompetitionMembersScore> mainMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getTeamId()==competitionResultList.get(0).getTeamId()).collect(Collectors.toList());
|
List<CompetitionMembersScore> mainMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getCompetitionOfTeamId()==competitionResultList.get(0).getCompetitionOfTeamId()).collect(Collectors.toList());
|
||||||
//过滤首发球员
|
//过滤首发球员
|
||||||
List<CompetitionMembersScore> firstList = mainMembersScoreList.stream().filter(a -> a.getIsFirstLaunch() == 1).collect(Collectors.toList());
|
List<CompetitionMembersScore> firstList = mainMembersScoreList.stream().filter(a -> a.getIsFirstLaunch() == 1).collect(Collectors.toList());
|
||||||
firstList.sort((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore()));
|
firstList.sort((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore()));
|
||||||
@@ -150,7 +150,7 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS
|
|||||||
competitionMembersScoreList.addAll(mainMembersScoreList);
|
competitionMembersScoreList.addAll(mainMembersScoreList);
|
||||||
|
|
||||||
//组装客队数据
|
//组装客队数据
|
||||||
List<CompetitionMembersScore> gustMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getTeamId()==competitionResultList.get(1).getTeamId()).collect(Collectors.toList());
|
List<CompetitionMembersScore> gustMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getCompetitionOfTeamId()==competitionResultList.get(1).getCompetitionOfTeamId()).collect(Collectors.toList());
|
||||||
//过滤首发球员
|
//过滤首发球员
|
||||||
List<CompetitionMembersScore> gustFirstList = gustMembersScoreList.stream().filter(a -> a.getIsFirstLaunch() == 1).collect(Collectors.toList());
|
List<CompetitionMembersScore> gustFirstList = gustMembersScoreList.stream().filter(a -> a.getIsFirstLaunch() == 1).collect(Collectors.toList());
|
||||||
gustFirstList.sort((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore()));
|
gustFirstList.sort((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore()));
|
||||||
@@ -208,8 +208,8 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CompetitionTeamIntegralVo> getCompetitionTeamIntegralListById(Long id) {
|
public List<CompetitionTeamIntegralVo> getCompetitionTeamIntegralListById(CompetitionTeamIntegralVo vo) {
|
||||||
return competitionTeamVsTeamMapper.getCompetitionTeamIntegralListById(id);
|
return competitionTeamVsTeamMapper.getCompetitionTeamIntegralListById(vo);
|
||||||
}
|
}
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="competitionId" column="competition_id" />
|
<result property="competitionId" column="competition_id" />
|
||||||
<result property="competitionVsId" column="competition_vs_id" />
|
<result property="competitionVsId" column="competition_vs_id" />
|
||||||
|
<result property="competitionOfTeamId" column="competition_of_team_id"/>
|
||||||
<result property="teamId" column="team_id" />
|
<result property="teamId" column="team_id" />
|
||||||
<result property="teamName" column="team_name" />
|
<result property="teamName" column="team_name" />
|
||||||
<result property="oneNodeScore" column="one_node_score" />
|
<result property="oneNodeScore" column="one_node_score" />
|
||||||
@@ -24,11 +25,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="fourNodeScore" column="four_node_score" />
|
<result property="fourNodeScore" column="four_node_score" />
|
||||||
<result property="fiveNodeScore" column="five_node_score" />
|
<result property="fiveNodeScore" column="five_node_score" />
|
||||||
<result property="sixNodeScore" column="six_node_score" />
|
<result property="sixNodeScore" column="six_node_score" />
|
||||||
|
<result property="vsResult" column="vs_result"/>
|
||||||
|
<result property="vsType" column="vs_type"/>
|
||||||
<result property="integral" column="integral" />
|
<result property="integral" column="integral" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectCompetitionResultVo">
|
<sql id="selectCompetitionResultVo">
|
||||||
select id, competition_id, competition_vs_id, team_id, team_name, one_node_score, two_node_score, competition_group, status, created_time, last_updated_time, created_by, modified_by, is_deleted, remark, three_node_score, four_node_score, five_node_score, six_node_score, integral from competition_result
|
select id, competition_id, competition_vs_id, team_id, team_name, one_node_score, two_node_score, competition_group, status, created_time, last_updated_time, created_by, modified_by, is_deleted, remark, three_node_score, four_node_score, five_node_score, six_node_score, integral,vs_result,competition_of_team_id,vs_result from competition_result
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectCompetitionResultList" parameterType="CompetitionResult" resultMap="CompetitionResultResult">
|
<select id="selectCompetitionResultList" parameterType="CompetitionResult" resultMap="CompetitionResultResult">
|
||||||
@@ -52,6 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="fiveNodeScore != null "> and five_node_score = #{fiveNodeScore}</if>
|
<if test="fiveNodeScore != null "> and five_node_score = #{fiveNodeScore}</if>
|
||||||
<if test="sixNodeScore != null "> and six_node_score = #{sixNodeScore}</if>
|
<if test="sixNodeScore != null "> and six_node_score = #{sixNodeScore}</if>
|
||||||
<if test="integral != null "> and integral = #{integral}</if>
|
<if test="integral != null "> and integral = #{integral}</if>
|
||||||
|
<if test="vsResult != null "> and vs_result = #{vsResult}</if>
|
||||||
|
<if test="vsType != null "> and vs_type = #{vsType}</if>
|
||||||
|
<if test="competitionOfTeamId != null "> and competition_of_team_id = #{competitionOfTeamId}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -63,8 +69,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
select rs.id,
|
select rs.id,
|
||||||
vs.competition_id as competitionId,
|
vs.competition_id as competitionId,
|
||||||
vs.id as competitionVsId,
|
vs.id as competitionVsId,
|
||||||
|
team.id as competitionOfTeamId,
|
||||||
vs.competition_group as competitionGroup,
|
vs.competition_group as competitionGroup,
|
||||||
team.id as teamId,
|
team.team_id as teamId,
|
||||||
team.team_name as teamName,
|
team.team_name as teamName,
|
||||||
rs.one_node_score as oneNodeScore,
|
rs.one_node_score as oneNodeScore,
|
||||||
rs.two_node_score as twoNodeScore,
|
rs.two_node_score as twoNodeScore,
|
||||||
@@ -72,10 +79,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
rs.four_node_score as fourNodeScore,
|
rs.four_node_score as fourNodeScore,
|
||||||
rs.five_node_score as fiveNodeScore,
|
rs.five_node_score as fiveNodeScore,
|
||||||
rs.six_node_score as sixNodeScore,
|
rs.six_node_score as sixNodeScore,
|
||||||
|
rs.vs_result,
|
||||||
|
vs.vs_type,
|
||||||
rs.integral
|
rs.integral
|
||||||
from competition_team_vs_team vs
|
from competition_team_vs_team vs
|
||||||
inner join competition_of_team team on (vs.main_team_id=team.id or vs.guest_team_id=team.id) and team.IS_DELETED=0
|
inner join competition_of_team team on (vs.main_team_id=team.id or vs.guest_team_id=team.id) and team.IS_DELETED=0
|
||||||
left join competition_Result rs on (rs.competition_vs_id=vs.id and team.id = rs.team_id) and rs.is_deleted=0
|
left join competition_Result rs on (rs.competition_vs_id=vs.id and team.id = rs.competition_of_team_id) and rs.is_deleted=0
|
||||||
where 1=1 and vs.is_deleted=0
|
where 1=1 and vs.is_deleted=0
|
||||||
<if test="competitionId != null ">
|
<if test="competitionId != null ">
|
||||||
AND vs.competition_Id = #{competitionId}
|
AND vs.competition_Id = #{competitionId}
|
||||||
@@ -107,6 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="fiveNodeScore != null">five_node_score,</if>
|
<if test="fiveNodeScore != null">five_node_score,</if>
|
||||||
<if test="sixNodeScore != null">six_node_score,</if>
|
<if test="sixNodeScore != null">six_node_score,</if>
|
||||||
<if test="integral != null">integral,</if>
|
<if test="integral != null">integral,</if>
|
||||||
|
<if test="vsResult != null ">vs_result,</if>
|
||||||
|
<if test="vsType != null ">vs_type,</if>
|
||||||
|
<if test="competitionOfTeamId != null ">competition_of_team_id,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="competitionId != null">#{competitionId},</if>
|
<if test="competitionId != null">#{competitionId},</if>
|
||||||
@@ -128,6 +140,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="fiveNodeScore != null">#{fiveNodeScore},</if>
|
<if test="fiveNodeScore != null">#{fiveNodeScore},</if>
|
||||||
<if test="sixNodeScore != null">#{sixNodeScore},</if>
|
<if test="sixNodeScore != null">#{sixNodeScore},</if>
|
||||||
<if test="integral != null">#{integral},</if>
|
<if test="integral != null">#{integral},</if>
|
||||||
|
<if test="vsResult != null ">#{vsResult},</if>
|
||||||
|
<if test="vsType != null "> #{vsType},</if>
|
||||||
|
<if test="competitionOfTeamId != null "> #{competitionOfTeamId},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -153,6 +168,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="fiveNodeScore != null">five_node_score = #{fiveNodeScore},</if>
|
<if test="fiveNodeScore != null">five_node_score = #{fiveNodeScore},</if>
|
||||||
<if test="sixNodeScore != null">six_node_score = #{sixNodeScore},</if>
|
<if test="sixNodeScore != null">six_node_score = #{sixNodeScore},</if>
|
||||||
<if test="integral != null">integral = #{integral},</if>
|
<if test="integral != null">integral = #{integral},</if>
|
||||||
|
<if test="vsResult != null ">vs_result = #{vsResult},</if>
|
||||||
|
<if test="vsType != null "> vs_type = #{vsType},</if>
|
||||||
|
<if test="competitionOfTeamId != null "> competition_of_team_id = #{competitionOfTeamId},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|||||||
@@ -241,13 +241,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
SELECT
|
SELECT
|
||||||
ANY_VALUE ( t.team_name ) as teamName,
|
ANY_VALUE ( t.team_name ) as teamName,
|
||||||
any_value (team.team_logo) as teamLogo,
|
any_value (team.team_logo) as teamLogo,
|
||||||
|
any_value (team.competition_group) as competition_group,
|
||||||
t.competition_of_team_id,
|
t.competition_of_team_id,
|
||||||
sum(IF( t.vs_result = 'win', 1, 0 )) AS win,
|
sum(IF( t.vs_result = 'win', 1, 0 )) AS win,
|
||||||
sum(IF( t.vs_result = 'fail', 1, 0 )) AS fail,
|
sum(IF( t.vs_result = 'fail', 1, 0 )) AS fail,
|
||||||
sum(IFNULL( t.one_node_score, 0 )+ IFNULL( t.two_node_score, 0 )+ IFNULL( t.three_node_score, 0 )+ IFNULL( t.four_node_score, 0 )+ IFNULL( t.five_node_score, 0 )+ IFNULL( t.six_node_score, 0 )) AS totalScore,
|
sum(IFNULL( t.one_node_score, 0 )+ IFNULL( t.two_node_score, 0 )+ IFNULL( t.three_node_score, 0 )+ IFNULL( t.four_node_score, 0 )+ IFNULL( t.five_node_score, 0 )+ IFNULL( t.six_node_score, 0 )) AS totalScore,
|
||||||
sum(t.integral) AS integral
|
sum(t.integral) AS integral
|
||||||
FROM competition_result t left join competition_of_team team on team.id = t.competition_of_team_id
|
FROM competition_result t left join competition_of_team team on team.id = t.competition_of_team_id
|
||||||
WHERE t.is_deleted = 0 AND t.competition_id = #{id}
|
WHERE t.is_deleted = 0 AND t.competition_id = #{competitionId}
|
||||||
|
<if test="vsType != null ">
|
||||||
|
AND t.vs_type =#{vsType}
|
||||||
|
</if>
|
||||||
|
<if test="competitionGroup != null ">
|
||||||
|
AND t.competition_group =#{competitionGroup}
|
||||||
|
</if>
|
||||||
GROUP BY t.competition_of_team_id
|
GROUP BY t.competition_of_team_id
|
||||||
ORDER BY sum(t.integral) desc
|
ORDER BY sum(t.integral) desc
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
Reference in New Issue
Block a user