赛会比赛结果数据

This commit is contained in:
wuyibo
2022-11-16 10:58:13 +08:00
parent 8137884e19
commit e94f9101f3
15 changed files with 264 additions and 114 deletions

View File

@@ -91,7 +91,13 @@ public class CompetitionResultController extends BaseController
{
return toAjax(competitionResultService.updateCompetitionResult(competitionResult));
}
@RequiresPermissions("system:competitionResult:batchEdit")
@Log(title = "赛会中-批量保存赛程结果记录", businessType = BusinessType.UPDATE)
@PutMapping("/batchEdit")
public AjaxResult batchEdit(@RequestBody List<CompetitionResult> list)
{
return toAjax(competitionResultService.batchUpdateCompetitionResult(list));
}
/**
* 删除赛会中-赛程结果记录
*/

View File

@@ -106,4 +106,11 @@ public class CompetitionTeamVsTeamController extends BaseController
public AjaxResult getCompetitionUnifiedRecordById(@PathVariable("id") Long id) {
return AjaxResult.success(competitionTeamVsTeamService.getCompetitionUnifiedRecordById(id));
}
@Log(title = "赛会中-球队VS球队比赛结果数据2", businessType = BusinessType.OTHER)
@ApiOperation("根据ID获取当前比赛赛程的所有统分结果2")
@GetMapping("/getCompetitionVsRecordById/{id}")
public AjaxResult getCompetitionVsRecordById(@PathVariable("id") Long id) {
return AjaxResult.success(competitionTeamVsTeamService.getCompetitionVsRecordById(id));
}
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.system.domain.vo;
import com.ruoyi.system.domain.CompetitionMembersScore;
import com.ruoyi.system.domain.CompetitionResult;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author 吴一博
* @date 2022年11月16日 9:48
* @Description
*/
@Data
public class CompetitionResultVo extends CompetitionResult {
@ApiModelProperty(value = "客队队员数据", required = false)
private List<CompetitionMembersScore> membersScoreList;
}

View File

@@ -18,7 +18,7 @@ public class CompetitionUnifiedRecordVo implements Serializable {
private CompetitionTeamVsTeamVo teamVsTeamVo;
@ApiModelProperty(value = "对阵节数统分数据", required = false)
private List<CompetitionResult> competitionResultList;
private List<CompetitionResultVo> competitionResultList;
@ApiModelProperty(value = "赛程队员数据", required = false)
private List<CompetitionMembersScore> competitionMembersScoreList;

View File

@@ -0,0 +1,26 @@
package com.ruoyi.system.domain.vo;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* @author 吴一博
* @date 2022年11月16日 9:46
* @Description
*/
@ApiModel(value = "比赛-赛程-统分2Vo")
@Setter
@Getter
public class CompetitionVsRecordVo implements Serializable {
@ApiModelProperty(value = "对阵数据", required = false)
private CompetitionTeamVsTeamVo teamVsTeamVo;
private CompetitionResultVo mainTeam;
private CompetitionResultVo guestTeam;
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.CompetitionResult;
import com.ruoyi.system.domain.vo.CompetitionResultVo;
import org.apache.ibatis.annotations.Param;
/**
@@ -60,5 +61,5 @@ public interface CompetitionResultMapper
*/
public int deleteCompetitionResultByIds(Long[] ids);
public List<CompetitionResult> findByCompetitionVsId(@Param("competitionId") Long competitionId,@Param("competitionVsId") Long competitionVsId);
public List<CompetitionResultVo> findByCompetitionVsId(@Param("competitionId") Long competitionId, @Param("competitionVsId") Long competitionVsId);
}

View File

@@ -58,4 +58,6 @@ public interface ICompetitionResultService
* @return 结果
*/
public int deleteCompetitionResultById(Long id);
public int batchUpdateCompetitionResult(List<CompetitionResult> list);
}

View File

@@ -4,6 +4,7 @@ import java.util.List;
import com.ruoyi.system.domain.CompetitionTeamVsTeam;
import com.ruoyi.system.domain.vo.CompetitionTeamVsTeamVo;
import com.ruoyi.system.domain.vo.CompetitionUnifiedRecordVo;
import com.ruoyi.system.domain.vo.CompetitionVsRecordVo;
/**
* 赛会中-球队VS球队关系Service接口
@@ -62,4 +63,6 @@ public interface ICompetitionTeamVsTeamService
public int deleteCompetitionTeamVsTeamById(Long id);
public CompetitionUnifiedRecordVo getCompetitionUnifiedRecordById(Long id);
public CompetitionVsRecordVo getCompetitionVsRecordById(Long id);
}

View File

@@ -90,4 +90,16 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService
{
return competitionResultMapper.deleteCompetitionResultById(id);
}
@Override
public int batchUpdateCompetitionResult(List<CompetitionResult> list) {
for (CompetitionResult result:list){
if(result.getId()==null){
competitionResultMapper.insertCompetitionResult(result);
}else {
competitionResultMapper.updateCompetitionResult(result);
}
}
return 1;
}
}

View File

@@ -2,13 +2,17 @@ package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.system.domain.CompetitionMembersScore;
import com.ruoyi.system.domain.CompetitionResult;
import com.ruoyi.system.domain.vo.CompetitionResultVo;
import com.ruoyi.system.domain.vo.CompetitionTeamVsTeamVo;
import com.ruoyi.system.domain.vo.CompetitionUnifiedRecordVo;
import com.ruoyi.system.domain.vo.CompetitionVsRecordVo;
import com.ruoyi.system.mapper.CompetitionMembersScoreMapper;
import com.ruoyi.system.mapper.CompetitionResultMapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -120,7 +124,7 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS
unifiedRecordVo.setTeamVsTeamVo(competitionTeamVsTeamVo);
//查询队伍数据
List<CompetitionResult> competitionResultList = competitionResultMapper.findByCompetitionVsId(competitionTeamVsTeamVo.getCompetitionId(),competitionTeamVsTeamVo.getId());
List<CompetitionResultVo> competitionResultList = competitionResultMapper.findByCompetitionVsId(competitionTeamVsTeamVo.getCompetitionId(),competitionTeamVsTeamVo.getId());
unifiedRecordVo.setCompetitionResultList(competitionResultList);
//查询赛程中个人成绩
@@ -157,4 +161,32 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS
}
return unifiedRecordVo;
}
@Override
public CompetitionVsRecordVo getCompetitionVsRecordById(Long id) {
CompetitionVsRecordVo recordVo = new CompetitionVsRecordVo();
CompetitionTeamVsTeamVo competitionTeamVsTeamVo = competitionTeamVsTeamMapper.getCompetitionById(id);
if(StringUtils.isEmpty(competitionTeamVsTeamVo)){
throw new ServiceException("赛程不存在");
}
//获取主队每节数据
List<CompetitionResultVo> competitionResultList = competitionResultMapper.findByCompetitionVsId(competitionTeamVsTeamVo.getCompetitionId(),competitionTeamVsTeamVo.getId());
Optional<CompetitionResultVo> main = competitionResultList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getMainTeamId())).findFirst();
Optional<CompetitionResultVo> guest = competitionResultList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getGuestTeamId())).findFirst();
List<CompetitionMembersScore> membersScoreList = competitionMembersScoreMapper.findMembersScoreByCompetitionVsId(competitionTeamVsTeamVo.getCompetitionId(),competitionTeamVsTeamVo.getId());
if(main.isPresent()){
CompetitionResultVo resultVo = main.get();
List<CompetitionMembersScore> membersScores = membersScoreList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getMainTeamId())).collect(Collectors.toList());
resultVo.setMembersScoreList(membersScores);
recordVo.setMainTeam(resultVo);
}
if(guest.isPresent()){
CompetitionResultVo resultVo = guest.get();
List<CompetitionMembersScore> membersScores = membersScoreList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getGuestTeamId())).collect(Collectors.toList());
resultVo.setMembersScoreList(membersScores);
recordVo.setGuestTeam(resultVo);
}
recordVo.setTeamVsTeamVo(competitionTeamVsTeamVo);
return recordVo;
}
}

View File

@@ -76,7 +76,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="findMembersScoreByCompetitionVsId"
resultType="com.ruoyi.system.domain.CompetitionMembersScore">
SELECT
DISTINCT
sco.id,
vs.competition_id as competitionId,
vs.id as competitionVsId,
@@ -114,6 +113,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="competitionVsId != null ">
AND vs.id = #{competitionVsId}
</if>
ORDER BY sco.is_first_launch desc
</select>
<insert id="insertCompetitionMembersScore" parameterType="CompetitionMembersScore" useGeneratedKeys="true" keyProperty="id">
insert into competition_members_score

View File

@@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectCompetitionResultVo"/>
where id = #{id}
</select>
<select id="findByCompetitionVsId" resultType="com.ruoyi.system.domain.CompetitionResult">
<select id="findByCompetitionVsId" resultType="com.ruoyi.system.domain.vo.CompetitionResultVo">
select rs.id,
vs.competition_id as competitionId,
vs.id as competitionVsId,