|
@@ -10,7 +10,6 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
-import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
import org.dromara.common.redis.utils.RedisUtils;
|
|
|
import org.dromara.system.domain.*;
|
|
import org.dromara.system.domain.*;
|
|
@@ -41,7 +40,7 @@ import java.util.stream.Collectors;
|
|
|
* @date 2025-07-30
|
|
* @date 2025-07-30
|
|
|
*/
|
|
*/
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
-//@RequiredArgsConstructor
|
|
|
|
|
|
|
+// @RequiredArgsConstructor
|
|
|
@Service
|
|
@Service
|
|
|
public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
@@ -62,8 +61,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
private IGameAthleteService gameAthleteService;
|
|
private IGameAthleteService gameAthleteService;
|
|
|
|
|
|
|
|
public GameEventProjectServiceImpl(GameEventProjectMapper baseMapper, GameEventMapper gameEventMapper,
|
|
public GameEventProjectServiceImpl(GameEventProjectMapper baseMapper, GameEventMapper gameEventMapper,
|
|
|
- ISysDictTypeService sysDictTypeService, GameTeamMapper gameTeamMapper, GameAthleteMapper gameAthleteMapper,
|
|
|
|
|
- GameEventGroupMapper gameEventGroupMapper, GameScoreMapper gameScoreMapper) {
|
|
|
|
|
|
|
+ ISysDictTypeService sysDictTypeService, GameTeamMapper gameTeamMapper, GameAthleteMapper gameAthleteMapper,
|
|
|
|
|
+ GameEventGroupMapper gameEventGroupMapper, GameScoreMapper gameScoreMapper) {
|
|
|
this.baseMapper = baseMapper;
|
|
this.baseMapper = baseMapper;
|
|
|
this.gameEventMapper = gameEventMapper;
|
|
this.gameEventMapper = gameEventMapper;
|
|
|
this.sysDictTypeService = sysDictTypeService;
|
|
this.sysDictTypeService = sysDictTypeService;
|
|
@@ -85,9 +84,9 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (vo == null) {
|
|
if (vo == null) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
- if (vo.getRefereeGroup() != null && !vo.getRefereeGroup().isEmpty()){
|
|
|
|
|
|
|
+ if (vo.getRefereeGroup() != null && !vo.getRefereeGroup().isEmpty()) {
|
|
|
vo.setRefereeGroups(JSONUtil.toList(vo.getRefereeGroup(), Long.class));
|
|
vo.setRefereeGroups(JSONUtil.toList(vo.getRefereeGroup(), Long.class));
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
vo.setRefereeGroups(new ArrayList<>());
|
|
vo.setRefereeGroups(new ArrayList<>());
|
|
|
}
|
|
}
|
|
|
return vo;
|
|
return vo;
|
|
@@ -105,32 +104,33 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (bo.getEventId() == null) {
|
|
if (bo.getEventId() == null) {
|
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
if (cacheObject instanceof Integer) {
|
|
if (cacheObject instanceof Integer) {
|
|
|
- bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
|
|
|
|
+ bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
} else if (cacheObject instanceof Long) {
|
|
} else if (cacheObject instanceof Long) {
|
|
|
bo.setEventId((Long) cacheObject);
|
|
bo.setEventId((Long) cacheObject);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapper(bo);
|
|
LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapper(bo);
|
|
|
-// Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
|
|
|
|
+ // Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(),
|
|
|
|
|
+ // lqw);
|
|
|
Page<GameEventProjectVo> result = baseMapper.selectPageEventProjectList(pageQuery.build(), lqw);
|
|
Page<GameEventProjectVo> result = baseMapper.selectPageEventProjectList(pageQuery.build(), lqw);
|
|
|
GameEvent gameEvent = gameEventMapper.selectById(bo.getEventId());
|
|
GameEvent gameEvent = gameEventMapper.selectById(bo.getEventId());
|
|
|
result.getRecords()
|
|
result.getRecords()
|
|
|
- .forEach(vo -> {
|
|
|
|
|
- Optional.ofNullable(vo.getEventId())
|
|
|
|
|
- .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
- .ifPresent(eventId -> {
|
|
|
|
|
- if (gameEvent != null) {
|
|
|
|
|
- vo.setEventName(gameEvent.getEventName());
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- Optional.ofNullable(vo.getRefereeGroup())
|
|
|
|
|
- .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
- .ifPresent(refereeGroup -> {
|
|
|
|
|
- List<Long> refereeList = JSONUtil.toList(refereeGroup, Long.class);
|
|
|
|
|
- vo.setRefereeGroups(refereeList);
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ .forEach(vo -> {
|
|
|
|
|
+ Optional.ofNullable(vo.getEventId())
|
|
|
|
|
+ .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
+ .ifPresent(eventId -> {
|
|
|
|
|
+ if (gameEvent != null) {
|
|
|
|
|
+ vo.setEventName(gameEvent.getEventName());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ Optional.ofNullable(vo.getRefereeGroup())
|
|
|
|
|
+ .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
+ .ifPresent(refereeGroup -> {
|
|
|
|
|
+ List<Long> refereeList = JSONUtil.toList(refereeGroup, Long.class);
|
|
|
|
|
+ vo.setRefereeGroups(refereeList);
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
// 批量计算统计数据
|
|
// 批量计算统计数据
|
|
|
calculateProjectStats(bo.getEventId(), result.getRecords());
|
|
calculateProjectStats(bo.getEventId(), result.getRecords());
|
|
@@ -147,9 +147,9 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
List<Long> projectIds = projectList.stream()
|
|
List<Long> projectIds = projectList.stream()
|
|
|
- .map(GameEventProjectVo::getProjectId)
|
|
|
|
|
- .filter(Objects::nonNull)
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ .map(GameEventProjectVo::getProjectId)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
|
|
|
if (projectIds.isEmpty()) {
|
|
if (projectIds.isEmpty()) {
|
|
|
return;
|
|
return;
|
|
@@ -160,7 +160,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
// 转换为 Map 方便查找
|
|
// 转换为 Map 方便查找
|
|
|
Map<Long, GameProjectStatsVo> statsMap = statsList.stream()
|
|
Map<Long, GameProjectStatsVo> statsMap = statsList.stream()
|
|
|
- .collect(Collectors.toMap(GameProjectStatsVo::getProjectId, s -> s));
|
|
|
|
|
|
|
+ .collect(Collectors.toMap(GameProjectStatsVo::getProjectId, s -> s));
|
|
|
|
|
|
|
|
// 回填统计数据
|
|
// 回填统计数据
|
|
|
projectList.forEach(vo -> {
|
|
projectList.forEach(vo -> {
|
|
@@ -191,29 +191,31 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
// 构建查询条件,排除默认赛事ID
|
|
// 构建查询条件,排除默认赛事ID
|
|
|
LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapperForProjectLibrary(bo, defaultEventID);
|
|
LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapperForProjectLibrary(bo, defaultEventID);
|
|
|
-// Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
|
|
|
|
+ // Page<GameEventProjectVo> result = baseMapper.selectVoPage(pageQuery.build(),
|
|
|
|
|
+ // lqw);
|
|
|
Page<GameEventProjectVo> result = baseMapper.selectPageEventProjectList(pageQuery.build(), lqw);
|
|
Page<GameEventProjectVo> result = baseMapper.selectPageEventProjectList(pageQuery.build(), lqw);
|
|
|
|
|
|
|
|
// 处理记录
|
|
// 处理记录
|
|
|
result.getRecords().forEach(record -> {
|
|
result.getRecords().forEach(record -> {
|
|
|
Optional.ofNullable(record.getEventId())
|
|
Optional.ofNullable(record.getEventId())
|
|
|
- .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
- .ifPresent(eventId -> {
|
|
|
|
|
- GameEvent gameEvent = gameEventMapper.selectById(eventId);
|
|
|
|
|
- if (gameEvent != null) {
|
|
|
|
|
- record.setEventName(gameEvent.getEventName());
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- //不获取关联性数据
|
|
|
|
|
|
|
+ .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
+ .ifPresent(eventId -> {
|
|
|
|
|
+ GameEvent gameEvent = gameEventMapper.selectById(eventId);
|
|
|
|
|
+ if (gameEvent != null) {
|
|
|
|
|
+ record.setEventName(gameEvent.getEventName());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ // 不获取关联性数据
|
|
|
record.setRefereeGroup("[]");
|
|
record.setRefereeGroup("[]");
|
|
|
- //移除原始的projectId,确保添加为新项目
|
|
|
|
|
|
|
+ // 移除原始的projectId,确保添加为新项目
|
|
|
record.setProjectId(null);
|
|
record.setProjectId(null);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
// 按更新时间降序排序(最新的在前)
|
|
// 按更新时间降序排序(最新的在前)
|
|
|
List<GameEventProjectVo> sortedRecords = result.getRecords().stream()
|
|
List<GameEventProjectVo> sortedRecords = result.getRecords().stream()
|
|
|
- .sorted(Comparator.comparing(GameEventProjectVo::getUpdateTime, Comparator.nullsLast(Comparator.reverseOrder())))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ .sorted(Comparator.comparing(GameEventProjectVo::getUpdateTime,
|
|
|
|
|
+ Comparator.nullsLast(Comparator.reverseOrder())))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
result.setRecords(sortedRecords);
|
|
result.setRecords(sortedRecords);
|
|
|
|
|
|
|
|
return TableDataInfo.build(result);
|
|
return TableDataInfo.build(result);
|
|
@@ -230,30 +232,30 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (bo.getEventId() == null) {
|
|
if (bo.getEventId() == null) {
|
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
if (cacheObject instanceof Integer) {
|
|
if (cacheObject instanceof Integer) {
|
|
|
- bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
|
|
|
|
+ bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
} else if (cacheObject instanceof Long) {
|
|
} else if (cacheObject instanceof Long) {
|
|
|
bo.setEventId((Long) cacheObject);
|
|
bo.setEventId((Long) cacheObject);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapper(bo);
|
|
LambdaQueryWrapper<GameEventProject> lqw = buildQueryWrapper(bo);
|
|
|
-// List<GameEventProjectVo> list = baseMapper.selectVoList(lqw);
|
|
|
|
|
|
|
+ // List<GameEventProjectVo> list = baseMapper.selectVoList(lqw);
|
|
|
List<GameEventProjectVo> list = baseMapper.selectEventProjectList(lqw);
|
|
List<GameEventProjectVo> list = baseMapper.selectEventProjectList(lqw);
|
|
|
list.forEach(vo -> {
|
|
list.forEach(vo -> {
|
|
|
Optional.ofNullable(vo.getEventId())
|
|
Optional.ofNullable(vo.getEventId())
|
|
|
- .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
- .ifPresent(eventId -> {
|
|
|
|
|
- GameEvent gameEvent = gameEventMapper.selectById(eventId);
|
|
|
|
|
- if (gameEvent != null) {
|
|
|
|
|
- vo.setEventName(gameEvent.getEventName());
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
+ .ifPresent(eventId -> {
|
|
|
|
|
+ GameEvent gameEvent = gameEventMapper.selectById(eventId);
|
|
|
|
|
+ if (gameEvent != null) {
|
|
|
|
|
+ vo.setEventName(gameEvent.getEventName());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
Optional.ofNullable(vo.getRefereeGroup())
|
|
Optional.ofNullable(vo.getRefereeGroup())
|
|
|
- .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
- .ifPresent(refereeIdStr -> {
|
|
|
|
|
- List<Long> refereeList = JSONUtil.toList(refereeIdStr, Long.class);
|
|
|
|
|
- vo.setRefereeGroups(refereeList);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ .filter(ObjectUtil::isNotEmpty)
|
|
|
|
|
+ .ifPresent(refereeIdStr -> {
|
|
|
|
|
+ List<Long> refereeList = JSONUtil.toList(refereeIdStr, Long.class);
|
|
|
|
|
+ vo.setRefereeGroups(refereeList);
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
// 批量计算统计数据
|
|
// 批量计算统计数据
|
|
|
calculateProjectStats(bo.getEventId(), list);
|
|
calculateProjectStats(bo.getEventId(), list);
|
|
@@ -262,6 +264,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 计算项目的参赛人数
|
|
* 计算项目的参赛人数
|
|
|
|
|
+ *
|
|
|
* @param projectId 项目ID
|
|
* @param projectId 项目ID
|
|
|
* @return 参赛人数
|
|
* @return 参赛人数
|
|
|
*/
|
|
*/
|
|
@@ -272,30 +275,30 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
// 查询所有运动员,筛选出参与该项目的运动员
|
|
// 查询所有运动员,筛选出参与该项目的运动员
|
|
|
List<GameAthlete> allAthletes = gameAthleteMapper.selectList(
|
|
List<GameAthlete> allAthletes = gameAthleteMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameAthlete.class)
|
|
|
|
|
- .select(GameAthlete::getProjectValue)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameAthlete.class)
|
|
|
|
|
+ .select(GameAthlete::getProjectValue));
|
|
|
|
|
|
|
|
long count = allAthletes.stream()
|
|
long count = allAthletes.stream()
|
|
|
- .filter(athlete -> {
|
|
|
|
|
- if (StringUtils.isNotBlank(athlete.getProjectValue())) {
|
|
|
|
|
- try {
|
|
|
|
|
- List<Long> projectList = JSONUtil.toList(athlete.getProjectValue(), Long.class);
|
|
|
|
|
- return projectList.contains(projectId);
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.warn("解析运动员项目列表失败: {}", athlete.getProjectValue(), e);
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ .filter(athlete -> {
|
|
|
|
|
+ if (StringUtils.isNotBlank(athlete.getProjectValue())) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ List<Long> projectList = JSONUtil.toList(athlete.getProjectValue(), Long.class);
|
|
|
|
|
+ return projectList.contains(projectId);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.warn("解析运动员项目列表失败: {}", athlete.getProjectValue(), e);
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- return false;
|
|
|
|
|
- })
|
|
|
|
|
- .count();
|
|
|
|
|
|
|
+ return false;
|
|
|
|
|
+ })
|
|
|
|
|
+ .count();
|
|
|
|
|
|
|
|
return count;
|
|
return count;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 计算项目的参赛队伍数
|
|
* 计算项目的参赛队伍数
|
|
|
|
|
+ *
|
|
|
* @param projectId 项目ID
|
|
* @param projectId 项目ID
|
|
|
* @return 参赛队伍数
|
|
* @return 参赛队伍数
|
|
|
*/
|
|
*/
|
|
@@ -306,24 +309,23 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
// 查询所有队伍,筛选出参与该项目的队伍
|
|
// 查询所有队伍,筛选出参与该项目的队伍
|
|
|
List<GameTeam> allTeams = gameTeamMapper.selectList(
|
|
List<GameTeam> allTeams = gameTeamMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameTeam.class)
|
|
|
|
|
- .select(GameTeam::getProjectValue)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameTeam.class)
|
|
|
|
|
+ .select(GameTeam::getProjectValue));
|
|
|
|
|
|
|
|
long count = allTeams.stream()
|
|
long count = allTeams.stream()
|
|
|
- .filter(team -> {
|
|
|
|
|
- if (StringUtils.isNotBlank(team.getProjectValue())) {
|
|
|
|
|
- try {
|
|
|
|
|
- List<Long> projectList = JSONUtil.toList(team.getProjectValue(), Long.class);
|
|
|
|
|
- return projectList.contains(projectId);
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.warn("解析队伍项目列表失败: {}", team.getProjectValue(), e);
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ .filter(team -> {
|
|
|
|
|
+ if (StringUtils.isNotBlank(team.getProjectValue())) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ List<Long> projectList = JSONUtil.toList(team.getProjectValue(), Long.class);
|
|
|
|
|
+ return projectList.contains(projectId);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.warn("解析队伍项目列表失败: {}", team.getProjectValue(), e);
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- return false;
|
|
|
|
|
- })
|
|
|
|
|
- .count();
|
|
|
|
|
|
|
+ return false;
|
|
|
|
|
+ })
|
|
|
|
|
+ .count();
|
|
|
|
|
|
|
|
return count;
|
|
return count;
|
|
|
}
|
|
}
|
|
@@ -335,24 +337,24 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
lqw.eq(bo.getEventId() != null, GameEventProject::getEventId, bo.getEventId());
|
|
lqw.eq(bo.getEventId() != null, GameEventProject::getEventId, bo.getEventId());
|
|
|
// 通过名称模糊查询
|
|
// 通过名称模糊查询
|
|
|
Optional.ofNullable(bo.getEventName())
|
|
Optional.ofNullable(bo.getEventName())
|
|
|
- .ifPresent(eventName -> {
|
|
|
|
|
- List<GameEvent> gameEvents = gameEventMapper.selectList(
|
|
|
|
|
- Wrappers.lambdaQuery(GameEvent.class)
|
|
|
|
|
- .like(GameEvent::getEventName, bo.getEventName())
|
|
|
|
|
- .select(GameEvent::getEventId)
|
|
|
|
|
- );
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(gameEvents)) {
|
|
|
|
|
- List<Long> ids = gameEvents.stream()
|
|
|
|
|
- .map(GameEvent::getEventId)
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
- lqw.in(GameEventProject::getEventId, ids);
|
|
|
|
|
- } else {
|
|
|
|
|
- lqw.apply("1=0");
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ .ifPresent(eventName -> {
|
|
|
|
|
+ List<GameEvent> gameEvents = gameEventMapper.selectList(
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEvent.class)
|
|
|
|
|
+ .like(GameEvent::getEventName, bo.getEventName())
|
|
|
|
|
+ .select(GameEvent::getEventId));
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(gameEvents)) {
|
|
|
|
|
+ List<Long> ids = gameEvents.stream()
|
|
|
|
|
+ .map(GameEvent::getEventId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ lqw.in(GameEventProject::getEventId, ids);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ lqw.apply("1=0");
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), GameEventProject::getProjectName, bo.getProjectName());
|
|
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), GameEventProject::getProjectName, bo.getProjectName());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), GameEventProject::getProjectType, bo.getProjectType());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), GameEventProject::getProjectType, bo.getProjectType());
|
|
|
- lqw.eq(StringUtils.isNotBlank(bo.getClassification()), GameEventProject::getClassification, bo.getClassification());
|
|
|
|
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getClassification()), GameEventProject::getClassification,
|
|
|
|
|
+ bo.getClassification());
|
|
|
lqw.eq(bo.getStartTime() != null, GameEventProject::getStartTime, bo.getStartTime());
|
|
lqw.eq(bo.getStartTime() != null, GameEventProject::getStartTime, bo.getStartTime());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getOrderType()), GameEventProject::getOrderType, bo.getOrderType());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getOrderType()), GameEventProject::getOrderType, bo.getOrderType());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), GameEventProject::getStatus, bo.getStatus());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), GameEventProject::getStatus, bo.getStatus());
|
|
@@ -362,7 +364,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
/**
|
|
/**
|
|
|
* 构建项目库查询条件,排除默认赛事ID
|
|
* 构建项目库查询条件,排除默认赛事ID
|
|
|
*/
|
|
*/
|
|
|
- private LambdaQueryWrapper<GameEventProject> buildQueryWrapperForProjectLibrary(GameEventProjectBo bo, Long defaultEventID) {
|
|
|
|
|
|
|
+ private LambdaQueryWrapper<GameEventProject> buildQueryWrapperForProjectLibrary(GameEventProjectBo bo,
|
|
|
|
|
+ Long defaultEventID) {
|
|
|
Map<String, Object> params = bo.getParams();
|
|
Map<String, Object> params = bo.getParams();
|
|
|
LambdaQueryWrapper<GameEventProject> lqw = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<GameEventProject> lqw = Wrappers.lambdaQuery();
|
|
|
lqw.orderByAsc(GameEventProject::getProjectId);
|
|
lqw.orderByAsc(GameEventProject::getProjectId);
|
|
@@ -377,24 +380,24 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
// 通过名称模糊查询
|
|
// 通过名称模糊查询
|
|
|
Optional.ofNullable(bo.getEventName())
|
|
Optional.ofNullable(bo.getEventName())
|
|
|
- .ifPresent(eventName -> {
|
|
|
|
|
- List<GameEvent> gameEvents = gameEventMapper.selectList(
|
|
|
|
|
- Wrappers.lambdaQuery(GameEvent.class)
|
|
|
|
|
- .like(GameEvent::getEventName, bo.getEventName())
|
|
|
|
|
- .select(GameEvent::getEventId)
|
|
|
|
|
- );
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(gameEvents)) {
|
|
|
|
|
- List<Long> ids = gameEvents.stream()
|
|
|
|
|
- .map(GameEvent::getEventId)
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
- lqw.in(GameEventProject::getEventId, ids);
|
|
|
|
|
- } else {
|
|
|
|
|
- lqw.apply("1=0");
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ .ifPresent(eventName -> {
|
|
|
|
|
+ List<GameEvent> gameEvents = gameEventMapper.selectList(
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEvent.class)
|
|
|
|
|
+ .like(GameEvent::getEventName, bo.getEventName())
|
|
|
|
|
+ .select(GameEvent::getEventId));
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(gameEvents)) {
|
|
|
|
|
+ List<Long> ids = gameEvents.stream()
|
|
|
|
|
+ .map(GameEvent::getEventId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ lqw.in(GameEventProject::getEventId, ids);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ lqw.apply("1=0");
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), GameEventProject::getProjectName, bo.getProjectName());
|
|
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), GameEventProject::getProjectName, bo.getProjectName());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), GameEventProject::getProjectType, bo.getProjectType());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), GameEventProject::getProjectType, bo.getProjectType());
|
|
|
- lqw.eq(StringUtils.isNotBlank(bo.getClassification()), GameEventProject::getClassification, bo.getClassification());
|
|
|
|
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getClassification()), GameEventProject::getClassification,
|
|
|
|
|
+ bo.getClassification());
|
|
|
lqw.eq(bo.getStartTime() != null, GameEventProject::getStartTime, bo.getStartTime());
|
|
lqw.eq(bo.getStartTime() != null, GameEventProject::getStartTime, bo.getStartTime());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getOrderType()), GameEventProject::getOrderType, bo.getOrderType());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getOrderType()), GameEventProject::getOrderType, bo.getOrderType());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), GameEventProject::getStatus, bo.getStatus());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), GameEventProject::getStatus, bo.getStatus());
|
|
@@ -412,7 +415,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (bo.getEventId() == null) {
|
|
if (bo.getEventId() == null) {
|
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
if (cacheObject instanceof Integer) {
|
|
if (cacheObject instanceof Integer) {
|
|
|
- bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
|
|
|
|
+ bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
} else if (cacheObject instanceof Long) {
|
|
} else if (cacheObject instanceof Long) {
|
|
|
bo.setEventId((Long) cacheObject);
|
|
bo.setEventId((Long) cacheObject);
|
|
|
}
|
|
}
|
|
@@ -442,7 +445,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
defaultEventID = null;
|
|
defaultEventID = null;
|
|
|
}
|
|
}
|
|
|
projectList.forEach(projectBo -> projectBo.setEventId(defaultEventID));
|
|
projectList.forEach(projectBo -> projectBo.setEventId(defaultEventID));
|
|
|
- if (CollectionUtils.isNotEmpty(projectList)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(projectList)) {
|
|
|
return baseMapper.insertBatch(projectList);
|
|
return baseMapper.insertBatch(projectList);
|
|
|
}
|
|
}
|
|
|
return false;
|
|
return false;
|
|
@@ -459,7 +462,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (bo.getEventId() == null) {
|
|
if (bo.getEventId() == null) {
|
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
if (cacheObject instanceof Integer) {
|
|
if (cacheObject instanceof Integer) {
|
|
|
- bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
|
|
|
|
+ bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
} else if (cacheObject instanceof Long) {
|
|
} else if (cacheObject instanceof Long) {
|
|
|
bo.setEventId((Long) cacheObject);
|
|
bo.setEventId((Long) cacheObject);
|
|
|
}
|
|
}
|
|
@@ -476,7 +479,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
* 保存前的数据校验
|
|
* 保存前的数据校验
|
|
|
*/
|
|
*/
|
|
|
private void validEntityBeforeSave(GameEventProject entity) {
|
|
private void validEntityBeforeSave(GameEventProject entity) {
|
|
|
- //TODO 做一些数据校验,如唯一约束
|
|
|
|
|
|
|
+ // TODO 做一些数据校验,如唯一约束
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -489,14 +492,14 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
@Override
|
|
@Override
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
if (isValid) {
|
|
if (isValid) {
|
|
|
- //TODO 做一些业务上的校验,判断是否需要校验
|
|
|
|
|
|
|
+ // TODO 做一些业务上的校验,判断是否需要校验
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
- //删除项目前批量删除裁判的关联信息
|
|
|
|
|
|
|
+ // 删除项目前批量删除裁判的关联信息
|
|
|
removeProjectFromReferees(ids);
|
|
removeProjectFromReferees(ids);
|
|
|
- //删除项目前批量删除运动员的关联信息
|
|
|
|
|
|
|
+ // 删除项目前批量删除运动员的关联信息
|
|
|
removeProjectFromAthletes(ids);
|
|
removeProjectFromAthletes(ids);
|
|
|
- //删除项目前批量删除分组表game_event_group中的关联信息
|
|
|
|
|
|
|
+ // 删除项目前批量删除分组表game_event_group中的关联信息
|
|
|
removeProjectFromGroups(ids);
|
|
removeProjectFromGroups(ids);
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
}
|
|
}
|
|
@@ -518,7 +521,7 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
log.info("找到 {} 名运动员需要更新项目关联,项目ID列表: {}", athletes.size(), projectIds);
|
|
log.info("找到 {} 名运动员需要更新项目关联,项目ID列表: {}", athletes.size(), projectIds);
|
|
|
|
|
|
|
|
for (GameAthleteBo athlete : athletes) {
|
|
for (GameAthleteBo athlete : athletes) {
|
|
|
- for (Long projectId : projectIds){
|
|
|
|
|
|
|
+ for (Long projectId : projectIds) {
|
|
|
if (athlete.getProjectList() != null) {
|
|
if (athlete.getProjectList() != null) {
|
|
|
athlete.getProjectList().remove(projectId);
|
|
athlete.getProjectList().remove(projectId);
|
|
|
log.info("已从运动员 {} 的项目列表中移除项目 {}", athlete.getName(), projectId);
|
|
log.info("已从运动员 {} 的项目列表中移除项目 {}", athlete.getName(), projectId);
|
|
@@ -573,17 +576,16 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
|
|
|
|
|
// 查询所有包含这些项目的分组
|
|
// 查询所有包含这些项目的分组
|
|
|
List<GameEventGroup> groups = gameEventGroupMapper.selectList(
|
|
List<GameEventGroup> groups = gameEventGroupMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameEventGroup.class)
|
|
|
|
|
- .in(GameEventGroup::getProjectId, projectIds)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventGroup.class)
|
|
|
|
|
+ .in(GameEventGroup::getProjectId, projectIds));
|
|
|
|
|
|
|
|
log.info("找到 {} 个分组需要删除,项目ID列表: {}", groups.size(), projectIds);
|
|
log.info("找到 {} 个分组需要删除,项目ID列表: {}", groups.size(), projectIds);
|
|
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(groups)) {
|
|
if (CollectionUtils.isNotEmpty(groups)) {
|
|
|
// 提取分组ID列表
|
|
// 提取分组ID列表
|
|
|
List<Long> groupIds = groups.stream()
|
|
List<Long> groupIds = groups.stream()
|
|
|
- .map(GameEventGroup::getGroupId)
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ .map(GameEventGroup::getGroupId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
|
|
|
// 批量删除分组
|
|
// 批量删除分组
|
|
|
int deletedCount = gameEventGroupMapper.deleteBatchIds(groupIds);
|
|
int deletedCount = gameEventGroupMapper.deleteBatchIds(groupIds);
|
|
@@ -602,22 +604,19 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (CollectionUtils.isEmpty(projectIds)) {
|
|
if (CollectionUtils.isEmpty(projectIds)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
-// return this.baseMapper.selectVoList(
|
|
|
|
|
|
|
+ // return this.baseMapper.selectVoList(
|
|
|
return this.baseMapper.selectEventProjectList(
|
|
return this.baseMapper.selectEventProjectList(
|
|
|
- new LambdaQueryWrapper<GameEventProject>()
|
|
|
|
|
- .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
- .in(GameEventProject::getProjectId, projectIds)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ new LambdaQueryWrapper<GameEventProject>()
|
|
|
|
|
+ .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
+ .in(GameEventProject::getProjectId, projectIds));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public Long countEventProject() {
|
|
public Long countEventProject() {
|
|
|
return this.baseMapper.selectCount(
|
|
return this.baseMapper.selectCount(
|
|
|
- Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventProject.class));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取excel动态表头
|
|
* 获取excel动态表头
|
|
|
*
|
|
*
|
|
@@ -625,21 +624,21 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
public Map<String, List<String>> mapProjectTypeAndProject(Long eventId) {
|
|
public Map<String, List<String>> mapProjectTypeAndProject(Long eventId) {
|
|
|
- // Object cacheId = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
|
|
|
|
+ // Object cacheId =
|
|
|
|
|
+ // RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
// Long defaultEventId = Long.valueOf(cacheId.toString());
|
|
// Long defaultEventId = Long.valueOf(cacheId.toString());
|
|
|
List<GameEventProject> list = baseMapper.selectList(
|
|
List<GameEventProject> list = baseMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
- .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
- .select(GameEventProject::getProjectType, GameEventProject::getProjectName)
|
|
|
|
|
- .orderByDesc(GameEventProject::getProjectType)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
+ .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
+ .select(GameEventProject::getProjectType, GameEventProject::getProjectName)
|
|
|
|
|
+ .orderByDesc(GameEventProject::getProjectType));
|
|
|
|
|
|
|
|
// 从字典中获取项目类型映射:projectType (dictValue) -> dictLabel
|
|
// 从字典中获取项目类型映射:projectType (dictValue) -> dictLabel
|
|
|
List<SysDictDataVo> projectTypeDictList = sysDictTypeService.selectDictDataByType("game_project_type");
|
|
List<SysDictDataVo> projectTypeDictList = sysDictTypeService.selectDictDataByType("game_project_type");
|
|
|
|
|
|
|
|
// 构建 dictValue -> dictLabel 的映射,便于快速查找
|
|
// 构建 dictValue -> dictLabel 的映射,便于快速查找
|
|
|
Map<String, String> dictMap = projectTypeDictList.stream()
|
|
Map<String, String> dictMap = projectTypeDictList.stream()
|
|
|
- .collect(Collectors.toMap(SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel));
|
|
|
|
|
|
|
+ .collect(Collectors.toMap(SysDictDataVo::getDictValue, SysDictDataVo::getDictLabel));
|
|
|
|
|
|
|
|
// 遍历项目列表,将每个项目的 projectType 转换为对应的中文 label,并以 projectName 为 key 构建结果 map
|
|
// 遍历项目列表,将每个项目的 projectType 转换为对应的中文 label,并以 projectName 为 key 构建结果 map
|
|
|
Map<String, List<String>> result = new HashMap<>();
|
|
Map<String, List<String>> result = new HashMap<>();
|
|
@@ -663,9 +662,8 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
@Override
|
|
@Override
|
|
|
public List<GameEventProjectVo> queryListByEventId(Long eventId) {
|
|
public List<GameEventProjectVo> queryListByEventId(Long eventId) {
|
|
|
List<GameEventProjectVo> projects = baseMapper.selectVoList(
|
|
List<GameEventProjectVo> projects = baseMapper.selectVoList(
|
|
|
- Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
- .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
+ .eq(GameEventProject::getEventId, eventId));
|
|
|
return projects;
|
|
return projects;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -678,13 +676,12 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
@Override
|
|
@Override
|
|
|
public Map<String, Long> mapProjectAndProjectId(Long eventId) {
|
|
public Map<String, Long> mapProjectAndProjectId(Long eventId) {
|
|
|
List<GameEventProject> projects = baseMapper.selectList(
|
|
List<GameEventProject> projects = baseMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
- .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
- .select(GameEventProject::getProjectId, GameEventProject::getProjectName)
|
|
|
|
|
- );
|
|
|
|
|
- return projects.isEmpty() ?
|
|
|
|
|
- Map.of() :
|
|
|
|
|
- projects.stream().collect(Collectors.toMap(GameEventProject::getProjectName, GameEventProject::getProjectId));
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
+ .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
+ .select(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
|
|
+ return projects.isEmpty() ? Map.of()
|
|
|
|
|
+ : projects.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(GameEventProject::getProjectName, GameEventProject::getProjectId));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -692,24 +689,22 @@ public class GameEventProjectServiceImpl implements IGameEventProjectService {
|
|
|
if (projectIds == null || projectIds.isEmpty()) {
|
|
if (projectIds == null || projectIds.isEmpty()) {
|
|
|
// 如果项目ID列表为空,返回该赛事下的所有项目
|
|
// 如果项目ID列表为空,返回该赛事下的所有项目
|
|
|
List<GameEventProject> projectVoList = baseMapper.selectList(
|
|
List<GameEventProject> projectVoList = baseMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
- .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
- .select(GameEventProject::getProjectId, GameEventProject::getProjectName)
|
|
|
|
|
- );
|
|
|
|
|
- return projectVoList.isEmpty() ?
|
|
|
|
|
- Map.of() :
|
|
|
|
|
- projectVoList.stream().collect(Collectors.toMap(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
+ .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
+ .select(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
|
|
+ return projectVoList.isEmpty() ? Map.of()
|
|
|
|
|
+ : projectVoList.stream().collect(
|
|
|
|
|
+ Collectors.toMap(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
} else {
|
|
} else {
|
|
|
// 如果项目ID列表不为空,根据指定的项目ID查询
|
|
// 如果项目ID列表不为空,根据指定的项目ID查询
|
|
|
List<GameEventProject> projectVoList = baseMapper.selectList(
|
|
List<GameEventProject> projectVoList = baseMapper.selectList(
|
|
|
- Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
- .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
- .in(GameEventProject::getProjectId, projectIds)
|
|
|
|
|
- .select(GameEventProject::getProjectId, GameEventProject::getProjectName)
|
|
|
|
|
- );
|
|
|
|
|
- return projectVoList.isEmpty() ?
|
|
|
|
|
- Map.of() :
|
|
|
|
|
- projectVoList.stream().collect(Collectors.toMap(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
|
|
|
|
+ Wrappers.lambdaQuery(GameEventProject.class)
|
|
|
|
|
+ .eq(GameEventProject::getEventId, eventId)
|
|
|
|
|
+ .in(GameEventProject::getProjectId, projectIds)
|
|
|
|
|
+ .select(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
|
|
+ return projectVoList.isEmpty() ? Map.of()
|
|
|
|
|
+ : projectVoList.stream().collect(
|
|
|
|
|
+ Collectors.toMap(GameEventProject::getProjectId, GameEventProject::getProjectName));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|