|
@@ -103,32 +103,6 @@ public class GameTeamServiceImpl implements IGameTeamService {
|
|
|
return TableDataInfo.build(result);
|
|
return TableDataInfo.build(result);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 查询符合条件的参赛队伍列表
|
|
|
|
|
- *
|
|
|
|
|
- * @param bo 查询条件
|
|
|
|
|
- * @return 参赛队伍列表
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public List<GameTeamVo> queryList(GameTeamBo bo) {
|
|
|
|
|
- if (bo.getEventId() == null) {
|
|
|
|
|
- Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
|
|
- if (cacheObject instanceof Integer) {
|
|
|
|
|
- bo.setEventId(((Integer) cacheObject).longValue()); // 显式转换为 Long 类型
|
|
|
|
|
- } else if (cacheObject instanceof Long) {
|
|
|
|
|
- bo.setEventId((Long) cacheObject);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // 使用包含分组名的查询方法
|
|
|
|
|
- List<GameTeamVo> list = baseMapper.selectVoListWithGroupName(bo);
|
|
|
|
|
- list.forEach(vo -> {
|
|
|
|
|
- if (vo.getAthleteValue() != null) {
|
|
|
|
|
- vo.setAthleteList(JSONUtil.toList(vo.getAthleteValue(), Long.class));
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- return list;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
private LambdaQueryWrapper<GameTeam> buildQueryWrapper(GameTeamBo bo) {
|
|
private LambdaQueryWrapper<GameTeam> buildQueryWrapper(GameTeamBo bo) {
|
|
|
Map<String, Object> params = bo.getParams();
|
|
Map<String, Object> params = bo.getParams();
|
|
|
LambdaQueryWrapper<GameTeam> lqw = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<GameTeam> lqw = Wrappers.lambdaQuery();
|
|
@@ -157,7 +131,9 @@ public class GameTeamServiceImpl implements IGameTeamService {
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getLeader()), GameTeam::getLeader, bo.getLeader());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getLeader()), GameTeam::getLeader, bo.getLeader());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getAthleteValue()), GameTeam::getAthleteValue, bo.getAthleteValue());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getAthleteValue()), GameTeam::getAthleteValue, bo.getAthleteValue());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectValue()), GameTeam::getProjectValue, bo.getProjectValue());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectValue()), GameTeam::getProjectValue, bo.getProjectValue());
|
|
|
- lqw.apply(bo.getProjectId() != null, "EXISTS (SELECT 1 FROM game_athlete ga WHERE ga.team_id = gt.team_id AND ga.del_flag = '0' AND (JSON_CONTAINS(ga.project_value, CAST({0} AS CHAR)) OR JSON_CONTAINS(ga.project_value, CONCAT('\"', {0}, '\"'))))", bo.getProjectId());
|
|
|
|
|
|
|
+ lqw.apply(bo.getProjectId() != null,
|
|
|
|
|
+ "EXISTS (SELECT 1 FROM game_athlete ga WHERE ga.team_id = gt.team_id AND ga.del_flag = '0' AND (JSON_CONTAINS(ga.project_value, CAST({0} AS CHAR)) OR JSON_CONTAINS(ga.project_value, CONCAT('\"', {0}, '\"'))))",
|
|
|
|
|
+ bo.getProjectId());
|
|
|
lqw.eq(bo.getAthleteNum() != null, GameTeam::getAthleteNum, bo.getAthleteNum());
|
|
lqw.eq(bo.getAthleteNum() != null, GameTeam::getAthleteNum, bo.getAthleteNum());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getNumberRange()), GameTeam::getNumberRange, bo.getNumberRange());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getNumberRange()), GameTeam::getNumberRange, bo.getNumberRange());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getTeamDescribe()), GameTeam::getTeamDescribe, bo.getTeamDescribe());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getTeamDescribe()), GameTeam::getTeamDescribe, bo.getTeamDescribe());
|
|
@@ -165,6 +141,34 @@ public class GameTeamServiceImpl implements IGameTeamService {
|
|
|
return lqw;
|
|
return lqw;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 查询参赛队伍列表
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param bo 查询条件
|
|
|
|
|
+ * @return 参赛队伍列表
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<GameTeamVo> queryList(GameTeamBo bo) {
|
|
|
|
|
+ if (bo.getEventId() == null) {
|
|
|
|
|
+ Object cacheObject = RedisUtils.getCacheObject(GameEventConstant.DEFAULT_EVENT_ID);
|
|
|
|
|
+ if (cacheObject instanceof Integer) {
|
|
|
|
|
+ bo.setEventId(((Integer) cacheObject).longValue());
|
|
|
|
|
+ } else if (cacheObject instanceof Long) {
|
|
|
|
|
+ bo.setEventId((Long) cacheObject);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ LambdaQueryWrapper<GameTeam> lqw = buildQueryWrapper(bo);
|
|
|
|
|
+ List<GameTeamVo> list = baseMapper.selectTeamListWithProjects(lqw);
|
|
|
|
|
+ // 处理队员列表 JSON 转换
|
|
|
|
|
+ list.forEach(vo -> {
|
|
|
|
|
+ if (StringUtils.isNotBlank(vo.getAthleteValue())) {
|
|
|
|
|
+ List<Long> athleteIds = JSONUtil.toList(vo.getAthleteValue(), Long.class);
|
|
|
|
|
+ vo.setAthleteList(athleteIds);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ return list;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 新增参赛队伍
|
|
* 新增参赛队伍
|
|
|
*
|
|
*
|