|
|
@ -43,7 +43,7 @@ import java.util.List; |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|
|
|
public class CompeteService implements ICompeteService{ |
|
|
|
public class CompeteService implements ICompeteService { |
|
|
|
@Resource |
|
|
|
private CompeteTimeDao competeTimeDao; |
|
|
|
@Resource |
|
|
@ -81,7 +81,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
@Override |
|
|
|
public CompeteVo.CompeteTime getCompeteTime(QueryDto<CompeteDto.CompeteType> params) { |
|
|
|
CompeteDto.CompeteType competeType = params.getParam(); |
|
|
|
return competeTimeDao.getCompeteTimeByType(competeType.getType(),System.currentTimeMillis()); |
|
|
|
return competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -96,7 +96,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
@Override |
|
|
|
public List<CompeteVo.CompeteGroup> queryGroupByProject(QueryDto<CompeteDto.QueryGroupByProject> params) { |
|
|
|
CompeteDto.QueryGroupByProject competeType = params.getParam(); |
|
|
|
List<CompeteVo.CompeteGroup> competeGroups = competeTimeDao.queryGroupByProject(competeType.getType(),competeType.getProjectId()); |
|
|
|
List<CompeteVo.CompeteGroup> competeGroups = competeTimeDao.queryGroupByProject(competeType.getType(), competeType.getProjectId()); |
|
|
|
//
|
|
|
|
//
|
|
|
|
// CompeteDto.QueryGroupByProject competeType = params.getParam();
|
|
|
@ -118,12 +118,12 @@ public class CompeteService implements ICompeteService{ |
|
|
|
public List<CompeteVo.CompeteCompany> queryCompeteCompany(QueryDto<CompeteDto.CompeteTypeAndKey> params) { |
|
|
|
CompeteDto.CompeteTypeAndKey competeTypeAndKey = params.getParam(); |
|
|
|
String key = competeTypeAndKey.getType() + Constant.Redis.COMPETE_COMPANY; |
|
|
|
Object list = redisUtil.lGet(key,0,-1); |
|
|
|
Object list = redisUtil.lGet(key, 0, -1); |
|
|
|
List<CompeteVo.CompeteCompany> competeCompanyList = (List<CompeteVo.CompeteCompany>) list; |
|
|
|
List<CompeteVo.CompeteCompany> companyList = new ArrayList<>(); |
|
|
|
|
|
|
|
competeCompanyList.forEach(competeCompany -> { |
|
|
|
if(competeCompany.getGroupName().contains(competeTypeAndKey.getKey())){ |
|
|
|
if (competeCompany.getGroupName().contains(competeTypeAndKey.getKey())) { |
|
|
|
companyList.add(competeCompany); |
|
|
|
} |
|
|
|
}); |
|
|
@ -141,8 +141,8 @@ public class CompeteService implements ICompeteService{ |
|
|
|
redisUtil.del(key); |
|
|
|
//根据type查找数据库内所有参赛单位
|
|
|
|
List<CompeteVo.CompeteCompany> competeCompanyList = competeTimeDao.queryCompeteCompanyByType(competeType.getType()); |
|
|
|
if(CollectionUtil.isNotEmpty(competeCompanyList)){ |
|
|
|
competeCompanyList.forEach(competeCompany -> redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME)); |
|
|
|
if (CollectionUtil.isNotEmpty(competeCompanyList)) { |
|
|
|
competeCompanyList.forEach(competeCompany -> redisUtil.lSet(key, competeCompany, Constant.Redis.COMPETE_COMPANY_TIME)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -164,17 +164,17 @@ public class CompeteService implements ICompeteService{ |
|
|
|
//检查此用户是否已经报名
|
|
|
|
CompetePlayerExample playerExample = new CompetePlayerExample(); |
|
|
|
playerExample.createCriteria().andUserIdEqualTo(userId); |
|
|
|
if(competePlayerDao.countByExample(playerExample) != 0){ |
|
|
|
if (competePlayerDao.countByExample(playerExample) != 0) { |
|
|
|
throw new BaseException(CodeEnum.PLAYER_INFO_ALREADY); |
|
|
|
} |
|
|
|
//检查组别是否存在
|
|
|
|
CompeteGroup group = competeGroupMapper.selectByPrimaryKey(competePlayerInfo.getGroupId()); |
|
|
|
if(ObjectUtil.isNull(group)){ |
|
|
|
if (ObjectUtil.isNull(group)) { |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
|
//检查参赛单位是否存在,不存在则添加
|
|
|
|
CompeteCompany company = new CompeteCompany(); |
|
|
|
if(StrUtil.isNotEmpty(competePlayerInfo.getCompanyName())) { |
|
|
|
if (StrUtil.isNotEmpty(competePlayerInfo.getCompanyName())) { |
|
|
|
CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); |
|
|
|
competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); |
|
|
|
List<CompeteCompany> companyList = competeCompanyMapper.selectByExample(competeCompanyExample); |
|
|
@ -195,17 +195,17 @@ public class CompeteService implements ICompeteService{ |
|
|
|
} |
|
|
|
//添加基本信息
|
|
|
|
CompetePlayer player = new CompetePlayer(); |
|
|
|
BeanUtil.copyProperties(competePlayerInfo,player); |
|
|
|
BeanUtil.copyProperties(competePlayerInfo, player); |
|
|
|
player.setId(snowflake.nextId()); |
|
|
|
player.setUserId(userId); |
|
|
|
player.setCompeteTimeId(competePlayerInfo.getCompeteTimeId()); |
|
|
|
player.setCompeteGroupId(competePlayerInfo.getGroupId()); |
|
|
|
if(ObjectUtil.isNotNull(company)) { |
|
|
|
if (ObjectUtil.isNotNull(company)) { |
|
|
|
player.setCompanyId(company.getId()); |
|
|
|
} |
|
|
|
competePlayerDao.insertSelective(player); |
|
|
|
//添加亲子组其他参赛人员信息
|
|
|
|
if(StrUtil.isNotEmpty(competePlayerInfo.getFamily())){ |
|
|
|
if (StrUtil.isNotEmpty(competePlayerInfo.getFamily())) { |
|
|
|
String names = StringUtil.replaceComma(competePlayerInfo.getFamily()); |
|
|
|
String[] familyNames = names.split(","); |
|
|
|
if (ObjectUtil.isNotNull(familyNames)) { |
|
|
@ -227,11 +227,11 @@ public class CompeteService implements ICompeteService{ |
|
|
|
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
LevelDto.LevelUserDto levelUserDto = new LevelDto.LevelUserDto(player.getId(),null,player.getName(),null); |
|
|
|
log.info("将选手信息储存在晋级系统中:{}",levelUserDto); |
|
|
|
LevelDto.LevelUserDto levelUserDto = new LevelDto.LevelUserDto(player.getId(), null, player.getName(), null); |
|
|
|
log.info("将选手信息储存在晋级系统中:{}", levelUserDto); |
|
|
|
levelUpService.saveLevelUser(levelUserDto); |
|
|
|
|
|
|
|
return new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); |
|
|
|
return new CompeteVo.CompetePlayerInfo(player, group, company, getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -253,16 +253,16 @@ public class CompeteService implements ICompeteService{ |
|
|
|
CompeteProjectExample projectExample = new CompeteProjectExample(); |
|
|
|
projectExample.createCriteria().andTypeEqualTo((byte) competeType.getType()).andLevelEqualTo((byte) 2); |
|
|
|
List<CompeteProject> competeProjectList = competeProjectMapper.selectByExample(projectExample); |
|
|
|
if(CollectionUtil.isNotEmpty(competeProjectList)){ |
|
|
|
if (CollectionUtil.isNotEmpty(competeProjectList)) { |
|
|
|
competeProjectList.forEach(competeProject -> { |
|
|
|
CompeteProjectGroupExample projectGroupExample = new CompeteProjectGroupExample(); |
|
|
|
projectGroupExample.createCriteria().andProjectIdEqualTo(competeProject.getId()) |
|
|
|
.andGroupIdEqualTo(competeType.getGroupId()); |
|
|
|
if(competeProjectGroupMapper.countByExample(projectGroupExample) != 0){ |
|
|
|
if (competeProjectGroupMapper.countByExample(projectGroupExample) != 0) { |
|
|
|
competeProjectList.remove(competeProject); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
CompeteVo.CompeteSecondProject secondProject = new CompeteVo.CompeteSecondProject(); |
|
|
|
BeanUtil.copyProperties(competeProject,secondProject); |
|
|
|
BeanUtil.copyProperties(competeProject, secondProject); |
|
|
|
competeSecondProjects.add(secondProject); |
|
|
|
} |
|
|
|
}); |
|
|
@ -302,7 +302,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
|
|
|
|
} else { |
|
|
|
// 团体赛
|
|
|
|
pageJoinedTeam(project, player, params.getParam().getCompeteTimeId(), null ,false); |
|
|
|
pageJoinedTeam(project, player, params.getParam().getCompeteTimeId(), null, false); |
|
|
|
// 创建团队
|
|
|
|
CompeteTeam team = new CompeteTeam(); |
|
|
|
team.setId(snowflake.nextId()); |
|
|
@ -312,7 +312,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
team.setCertificate(params.getParam().getCertificate()); |
|
|
|
team.setGenderGroup(player.getGender()); |
|
|
|
String url = PropUtil.signUpUrl + "home?teamId=" + team.getId(); |
|
|
|
String qrCode = WebConstant.Wx.getAuthedUrl(url,WebConstant.WxGzhAuthType.SNSAPI_USERINFO |
|
|
|
String qrCode = WebConstant.Wx.getAuthedUrl(url, WebConstant.WxGzhAuthType.SNSAPI_USERINFO |
|
|
|
, (String) redisUtil.get(WebConstant.Wx.ACCOUNT_WX_APPID)); |
|
|
|
String qrCodeVisit = QrCodeUtil.urlToQRCode(qrCode, PropUtil.path); |
|
|
|
team.setQrCode(qrCodeVisit); |
|
|
@ -329,10 +329,10 @@ public class CompeteService implements ICompeteService{ |
|
|
|
|
|
|
|
CompeteGroup group = competeGroupMapper.selectByPrimaryKey(player.getCompeteGroupId()); |
|
|
|
CompeteCompany company = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId()); |
|
|
|
CompeteVo.CompetePlayerInfo info = new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); |
|
|
|
CompeteVo.CompetePlayerInfo info = new CompeteVo.CompetePlayerInfo(player, group, company, getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); |
|
|
|
|
|
|
|
LevelDto.LevelUpDto levelUpDto = new LevelDto.LevelUpDto(params.getParam().getCompeteTimeId(),params.getParam().getCompeteProjectId().toString(),player.getId()); |
|
|
|
log.info("添加晋级表信息,{}",levelUpDto); |
|
|
|
LevelDto.LevelUpDto levelUpDto = new LevelDto.LevelUpDto(params.getParam().getCompeteTimeId(), params.getParam().getCompeteProjectId().toString(), player.getId()); |
|
|
|
log.info("添加晋级表信息,{}", levelUpDto); |
|
|
|
levelUpService.joinCompete(levelUpDto); |
|
|
|
|
|
|
|
log.info("{}参加返回:{}", params.getUserId(), info); |
|
|
@ -358,7 +358,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
return getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId()); |
|
|
|
} |
|
|
|
|
|
|
|
private CompeteVo.CompeteProjectAllByUser getCompeteProjectAll(Long userId, Long competeTimeId){ |
|
|
|
private CompeteVo.CompeteProjectAllByUser getCompeteProjectAll(Long userId, Long competeTimeId) { |
|
|
|
List<CompeteVo.CompeteTiwnProject> competeTiwnProjects = competeTeamDao.queryTiwn(userId, competeTimeId); |
|
|
|
List<CompeteVo.CompeteTeamProject> competeTeamProjects = competeTeamDao.queryTeam(userId, competeTimeId); |
|
|
|
//封装队员信息和总队员数
|
|
|
@ -388,7 +388,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public CompeteVo.GetPlayerInfo getCompetePlayerInfo(QueryDto<CompeteDto.CompeteTime> params) { |
|
|
|
return competePlayerDao.getInfo(params.getUserId(),params.getParam().getCompeteTimeId()); |
|
|
|
return competePlayerDao.getInfo(params.getUserId(), params.getParam().getCompeteTimeId()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -410,7 +410,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
// 项目信息
|
|
|
|
CompeteProject project = competeProjectMapper.selectByPrimaryKey(team.getProjectId()); |
|
|
|
// 判断是否已加入其他团队
|
|
|
|
pageJoinedTeam(project, player, team.getCompeteTimeId(), creator, true); |
|
|
|
pageJoinedTeam(project, player, team.getCompeteTimeId(), creator, true); |
|
|
|
// 判断团队人数
|
|
|
|
CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); |
|
|
|
teamMemberExample.createCriteria().andCompeteTeamIdEqualTo(team.getId()); |
|
|
@ -441,16 +441,17 @@ public class CompeteService implements ICompeteService{ |
|
|
|
parent = competeProjectMapper.selectByPrimaryKey(project.getParentId()); |
|
|
|
} |
|
|
|
|
|
|
|
CompeteVo.CompeteTeamProject teamProject = new CompeteVo.CompeteTeamProject(team, Constant.Compete.TEAM_LEADER_NO, project, parent == null ? "" : parent.getName(), members); |
|
|
|
CompeteVo.CompeteTeamProject teamProject = new CompeteVo.CompeteTeamProject(team, Constant.Compete.TEAM_LEADER_NO, project, parent == null ? "" : parent.getName(), members); |
|
|
|
return teamProject; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断是否已加入其他团队 |
|
|
|
* @param project 项目信息 |
|
|
|
* |
|
|
|
* @param project 项目信息 |
|
|
|
* @param competeTimeId 比赛ID |
|
|
|
* @param player 选手信息 |
|
|
|
* @param creator 队长信息 |
|
|
|
* @param player 选手信息 |
|
|
|
* @param creator 队长信息 |
|
|
|
*/ |
|
|
|
private void pageJoinedTeam(CompeteProject project, CompetePlayer player, Long competeTimeId, CompetePlayer creator, boolean pageLeader) { |
|
|
|
long joinedTeam = 0; |
|
|
@ -459,11 +460,11 @@ public class CompeteService implements ICompeteService{ |
|
|
|
// 1.与队长同单位且同组别
|
|
|
|
if (pageLeader) { |
|
|
|
if (!player.getCompanyId().equals(creator.getCompanyId())) { |
|
|
|
log.info("单位不一样:{},{}",player.getCompanyId(), creator.getCompanyId()); |
|
|
|
log.info("单位不一样:{},{}", player.getCompanyId(), creator.getCompanyId()); |
|
|
|
throw new BaseException(CodeEnum.TEAM_COMPANY_NOT_SAME); |
|
|
|
} |
|
|
|
if (player.getCompeteGroupId().longValue() != creator.getCompeteGroupId().longValue()) { |
|
|
|
log.info("组别不一样:{},{}",player.getCompanyId(), creator.getCompanyId()); |
|
|
|
log.info("组别不一样:{},{}", player.getCompanyId(), creator.getCompanyId()); |
|
|
|
throw new BaseException(CodeEnum.TEAM_GROUP_NOT_SAME); |
|
|
|
} |
|
|
|
} |
|
|
@ -496,16 +497,16 @@ public class CompeteService implements ICompeteService{ |
|
|
|
CompeteVo.QueryPlayerList queryPlayerList = new CompeteVo.QueryPlayerList(); |
|
|
|
//查找项目信息
|
|
|
|
CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(competeTimeAndType.getCompeteProjectId()); |
|
|
|
if(ObjectUtil.isNull(competeProject)){ |
|
|
|
if (ObjectUtil.isNull(competeProject)) { |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
|
if(competeProject.getTeam() == 0){ |
|
|
|
if (competeProject.getTeam() == 0) { |
|
|
|
List<CompeteVo.PlayerInfoByProject> playerInfoByProjectList = |
|
|
|
competeTeamDao.getPlayerByProjectId(competeTimeAndType.getCompeteProjectId(),competeTimeAndType.getCompeteTimeId()); |
|
|
|
competeTeamDao.getPlayerByProjectId(competeTimeAndType.getCompeteProjectId(), competeTimeAndType.getCompeteTimeId()); |
|
|
|
queryPlayerList.setPlayerList(playerInfoByProjectList); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
List<CompeteVo.TeamInfoByProject> teamInfoByProjectList = |
|
|
|
competeTeamDao.getTeamByProjectId(competeTimeAndType.getCompeteProjectId(),competeTimeAndType.getCompeteTimeId()); |
|
|
|
competeTeamDao.getTeamByProjectId(competeTimeAndType.getCompeteProjectId(), competeTimeAndType.getCompeteTimeId()); |
|
|
|
queryPlayerList.setTeamList(teamInfoByProjectList); |
|
|
|
} |
|
|
|
return queryPlayerList; |
|
|
@ -527,13 +528,13 @@ public class CompeteService implements ICompeteService{ |
|
|
|
CompetePlayerExample playerExample = new CompetePlayerExample(); |
|
|
|
playerExample.createCriteria().andUserIdEqualTo(userId).andIdCardEqualTo(playerAndProject.getIdCard()); |
|
|
|
List<CompetePlayer> playerList = competePlayerDao.selectByExample(playerExample); |
|
|
|
if(CollectionUtil.isNotEmpty(playerList)){ |
|
|
|
if (CollectionUtil.isNotEmpty(playerList)) { |
|
|
|
//有则直接使用
|
|
|
|
player = playerList.get(0); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
//没有则添加
|
|
|
|
player = new CompetePlayer(); |
|
|
|
BeanUtil.copyProperties(playerAndProject,player); |
|
|
|
BeanUtil.copyProperties(playerAndProject, player); |
|
|
|
player.setId(snowflake.nextId()); |
|
|
|
player.setUserId(userId); |
|
|
|
player.setCompeteTimeId(playerAndProject.getCompeteTimeId()); |
|
|
@ -541,7 +542,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
} |
|
|
|
|
|
|
|
//读取项目信息
|
|
|
|
if(CollectionUtil.isNotEmpty(playerAndProject.getProjectAndGroups())){ |
|
|
|
if (CollectionUtil.isNotEmpty(playerAndProject.getProjectAndGroups())) { |
|
|
|
playerAndProject.getProjectAndGroups().forEach(projectAndGroup -> { |
|
|
|
CompeteProject project = competeProjectMapper.selectByPrimaryKey(projectAndGroup.getProjectId()); |
|
|
|
log.info("项目信息:{}", project); |
|
|
@ -550,7 +551,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
} |
|
|
|
CompeteProjectGroupExample projectGroupExample = new CompeteProjectGroupExample(); |
|
|
|
projectGroupExample.createCriteria().andProjectIdEqualTo(project.getId()).andGroupIdEqualTo(projectAndGroup.getGroupId()); |
|
|
|
if(competeProjectGroupMapper.countByExample(projectGroupExample) == 0){ |
|
|
|
if (competeProjectGroupMapper.countByExample(projectGroupExample) == 0) { |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
|
//单人项目直接添加信息和分组
|
|
|
@ -563,7 +564,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
projectPlayer.setCompeteTimeId(playerAndProject.getCompeteTimeId()); |
|
|
|
projectPlayer.setCompeteGroupId(projectAndGroup.getGroupId()); |
|
|
|
competeProjectPlayerMapper.insertSelective(projectPlayer); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
//团队项目创建团队
|
|
|
|
CompeteTeam team = new CompeteTeam(); |
|
|
|
team.setId(snowflake.nextId()); |
|
|
@ -580,10 +581,10 @@ public class CompeteService implements ICompeteService{ |
|
|
|
teamMember.setCaptain(Constant.Compete.TEAM_LEADER_YES); |
|
|
|
competeTeamMemberMapper.insertSelective(teamMember); |
|
|
|
//读取其他参赛人员的姓名,并添加为选手
|
|
|
|
if(StrUtil.isNotEmpty(projectAndGroup.getFamily())){ |
|
|
|
if (StrUtil.isNotEmpty(projectAndGroup.getFamily())) { |
|
|
|
String names = StringUtil.replaceComma(projectAndGroup.getFamily()); |
|
|
|
String[] familyNames = names.split(","); |
|
|
|
if(ObjectUtil.isNotNull(familyNames)){ |
|
|
|
if (ObjectUtil.isNotNull(familyNames)) { |
|
|
|
for (String familyName : familyNames) { |
|
|
|
CompetePlayer familyPlayer = new CompetePlayer(); |
|
|
|
familyPlayer.setId(snowflake.nextId()); |
|
|
@ -626,26 +627,26 @@ public class CompeteService implements ICompeteService{ |
|
|
|
//1:查询该类型下所有项目的id,name,team信息,排除level为1的
|
|
|
|
List<CompeteVo.ProjectInfo> projectInfoList = competeEnrollDao.getProject(typeId); |
|
|
|
//2:根据team字段判断是否为团队项目
|
|
|
|
for (CompeteVo.ProjectInfo projectInfo : projectInfoList){ |
|
|
|
for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { |
|
|
|
long team = projectInfo.getTeam(); |
|
|
|
//3:若是单人项目,在t_compete_project_player表中根据传进来的项目名的项目id查询该项目下所有play_id-参赛选手id和该选手的所在组别id
|
|
|
|
if (team == 0){ |
|
|
|
if (team == 0) { |
|
|
|
List<CompeteVo.ProjectPlayer> projectPlayerList = competeEnrollDao.getProjectPlayer(projectInfo.getId()); |
|
|
|
for(CompeteVo.ProjectPlayer projectPlayer : projectPlayerList){ |
|
|
|
for (CompeteVo.ProjectPlayer projectPlayer : projectPlayerList) { |
|
|
|
//4:然后根据查出来的play_id查询t_compete_player中play_id=id的所有信息,包括姓名,身份证,手机号;通过组别id,在t_compete_group中查找组别名称;单人项目不涉及同组参赛者
|
|
|
|
CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); |
|
|
|
if (enrollPlayInfo !=null) { |
|
|
|
enrollPlayInfo.setName(projectInfo.getName()); |
|
|
|
arrayList.add(enrollPlayInfo); |
|
|
|
} |
|
|
|
CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); |
|
|
|
if (enrollPlayInfo != null) { |
|
|
|
enrollPlayInfo.setName(projectInfo.getName()); |
|
|
|
arrayList.add(enrollPlayInfo); |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
//5:若是团队项目,t_compete_team表中根据传进来的项目id拿到该表的id字段,即参加该项目的团队集合,
|
|
|
|
List<CompeteVo.Team> teamList = competeEnrollDao.getTeamId(projectInfo.getId()); |
|
|
|
for (CompeteVo.Team team1 : teamList){ |
|
|
|
for (CompeteVo.Team team1 : teamList) { |
|
|
|
//6:获取团队下队员的详细信息
|
|
|
|
CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProjectForTeam(team1.getPlayer_id()); |
|
|
|
if(ObjectUtil.isNotNull(enrollPlayInfo)) { |
|
|
|
if (ObjectUtil.isNotNull(enrollPlayInfo)) { |
|
|
|
enrollPlayInfo.setName(projectInfo.getName()); |
|
|
|
arrayList.add(enrollPlayInfo); |
|
|
|
} |
|
|
@ -666,10 +667,10 @@ public class CompeteService implements ICompeteService{ |
|
|
|
try { |
|
|
|
Workbook workbook = new XSSFWorkbook(); |
|
|
|
int i = 1; |
|
|
|
for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList){ |
|
|
|
for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList) { |
|
|
|
//行对象
|
|
|
|
List<PoiUtil.PoiUtilCell> cells = new ArrayList<>(); |
|
|
|
cells.add(new PoiUtil.PoiUtilCell(i+"",1,1,300,18)); |
|
|
|
cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); |
|
|
|
//单元格对象
|
|
|
|
PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName()); |
|
|
|
cells.add(poiUtilCel); |
|
|
@ -712,7 +713,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
business.setUserId(params.getUserId()); |
|
|
|
business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); |
|
|
|
business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_READ); |
|
|
|
log.info("跳绳比赛报名表关联wps:{}",business); |
|
|
|
log.info("跳绳比赛报名表关联wps:{}", business); |
|
|
|
tallFeignClient.saveWpsFile(business); |
|
|
|
//查询wps
|
|
|
|
WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); |
|
|
@ -728,7 +729,7 @@ public class CompeteService implements ICompeteService{ |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String enrollPlayCount() throws IOException { |
|
|
|
public String enrollPlayCountDownLoad() throws IOException { |
|
|
|
//查询该类型下所有项目的id,name,team信息,排除level为1的的集合
|
|
|
|
int typeId = 2; |
|
|
|
//放总数据集合
|
|
|
@ -746,17 +747,17 @@ public class CompeteService implements ICompeteService{ |
|
|
|
CompeteVo.Count count1 = new CompeteVo.Count(); |
|
|
|
count1.setGroup_name(groupIdAndName.getGroup_name()); |
|
|
|
// groupIdAndNameList.forEach(groupIdAndName -> {
|
|
|
|
if (projectInfo.getTeam() == 0) { |
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); |
|
|
|
long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); |
|
|
|
count1.setCount((int) count); |
|
|
|
} else { |
|
|
|
CompeteTeamExample teamExample = new CompeteTeamExample(); |
|
|
|
teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); |
|
|
|
long count = competeTeamDao.countByExample(teamExample); |
|
|
|
count1.setCount((int) count); |
|
|
|
} |
|
|
|
if (projectInfo.getTeam() == 0) { |
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); |
|
|
|
long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); |
|
|
|
count1.setCount((int) count); |
|
|
|
} else { |
|
|
|
CompeteTeamExample teamExample = new CompeteTeamExample(); |
|
|
|
teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); |
|
|
|
long count = competeTeamDao.countByExample(teamExample); |
|
|
|
count1.setCount((int) count); |
|
|
|
} |
|
|
|
// });
|
|
|
|
countList.add(count1); |
|
|
|
} |
|
|
@ -778,11 +779,11 @@ public class CompeteService implements ICompeteService{ |
|
|
|
list.add(poiUtilCellList2); |
|
|
|
list.add(poiUtilCellList3); |
|
|
|
|
|
|
|
list1.forEach(excelList ->{ |
|
|
|
list1.forEach(excelList -> { |
|
|
|
List<PoiUtil.PoiUtilCell> title = new ArrayList<>(); |
|
|
|
title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1,null,null)); |
|
|
|
title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1,null,null)); |
|
|
|
title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1,null,null)); |
|
|
|
title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null)); |
|
|
|
title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null)); |
|
|
|
title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null)); |
|
|
|
excelList.getCountList().forEach(count -> { |
|
|
|
PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(); |
|
|
|
poiUtilCell.setValue(String.valueOf(count.getCount())); |
|
|
@ -806,9 +807,49 @@ public class CompeteService implements ICompeteService{ |
|
|
|
OutputStream outputStream = new FileOutputStream(file); |
|
|
|
wbs.write(outputStream); |
|
|
|
outputStream.close(); |
|
|
|
}catch (IOException e) { |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return PropUtil.imgDomain + filepath; |
|
|
|
return PropUtil.imgDomain + filepath; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<CompeteVo.GroupNum> enrollPlayCount() { |
|
|
|
//查询该类型下所有项目的id,name,team信息,排除level为1的的集合
|
|
|
|
int typeId = 2; |
|
|
|
//放总数据集合
|
|
|
|
List<CompeteVo.GroupNum> list1 = new ArrayList<>(); |
|
|
|
//根据type 查项目
|
|
|
|
List<CompeteVo.ProjectInfo> projectInfoList = competeEnrollDao.getProject(typeId); |
|
|
|
//根据type 查组别id,组别名
|
|
|
|
List<CompeteVo.Count> groupIdAndNameList = competeEnrollDao.getGroupIdNameFromGroup(typeId); |
|
|
|
for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { |
|
|
|
CompeteVo.GroupNum groupNum = new CompeteVo.GroupNum(); |
|
|
|
groupNum.setName(projectInfo.getName()); |
|
|
|
List<CompeteVo.Count> countList = new ArrayList<>(); |
|
|
|
if (CollectionUtil.isNotEmpty(groupIdAndNameList)) { |
|
|
|
for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { |
|
|
|
CompeteVo.Count count1 = new CompeteVo.Count(); |
|
|
|
count1.setGroup_name(groupIdAndName.getGroup_name()); |
|
|
|
// groupIdAndNameList.forEach(groupIdAndName -> {
|
|
|
|
if (projectInfo.getTeam() == 0) { |
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); |
|
|
|
long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); |
|
|
|
count1.setCount((int) count); |
|
|
|
} else { |
|
|
|
CompeteTeamExample teamExample = new CompeteTeamExample(); |
|
|
|
teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); |
|
|
|
long count = competeTeamDao.countByExample(teamExample); |
|
|
|
count1.setCount((int) count); |
|
|
|
} |
|
|
|
// });
|
|
|
|
countList.add(count1); |
|
|
|
} |
|
|
|
} |
|
|
|
groupNum.setCountList(countList); |
|
|
|
list1.add(groupNum); |
|
|
|
} |
|
|
|
return list1; |
|
|
|
} |
|
|
|
} |
|
|
|
} |