mirror of
https://gitee.com/y_project/RuoYi-Cloud.git
synced 2026-01-26 19:51:56 +08:00
赛会比赛结果数据
This commit is contained in:
@@ -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));
|
||||
}
|
||||
/**
|
||||
* 删除赛会中-赛程结果记录
|
||||
*/
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -58,4 +58,6 @@ public interface ICompetitionResultService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteCompetitionResultById(Long id);
|
||||
|
||||
public int batchUpdateCompetitionResult(List<CompetitionResult> list);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user