|
|
@ -72,6 +72,8 @@ public class ProvinceService implements IProvinceService { |
|
|
|
ProvinceCompeteVo.CompeteOverview competeOverview = competeCompanyDao.getCompanyOverview(param.getCompeteTimeId(),userId); |
|
|
|
if(ObjectUtil.isNotNull(competeOverview)){ |
|
|
|
competeOverview.setProjectNum(competeCompanyDao.getJoinProjectNum(competeOverview.getCompanyId())); |
|
|
|
}else { |
|
|
|
competeOverview = new ProvinceCompeteVo.CompeteOverview(); |
|
|
|
} |
|
|
|
return competeOverview; |
|
|
|
} |
|
|
@ -81,7 +83,13 @@ public class ProvinceService implements IProvinceService { |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<ProvinceCompeteVo.GroupAndPlayer> queryPlayerByGroupId(ProvinceCompeteDto.QueryPlayerByGroup param, Long userId) { |
|
|
|
return competeCompanyDao.queryPlayerByGroupId(param.getCompanyId(),param.getGroupId(),param.getProjectId()); |
|
|
|
//查找比赛类型
|
|
|
|
int type = 0; |
|
|
|
CompeteCompany company = competeCompanyDao.selectByPrimaryKey(param.getCompanyId()); |
|
|
|
if(ObjectUtil.isNotNull(company)){ |
|
|
|
type = company.getType(); |
|
|
|
} |
|
|
|
return competeCompanyDao.queryPlayerByGroupId(type,param.getCompanyId(),param.getGroupId(),param.getProjectId()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -221,11 +229,10 @@ public class ProvinceService implements IProvinceService { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param) { |
|
|
|
public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param, Long userId) { |
|
|
|
//判断当前单位id是否为空,
|
|
|
|
Long companyid = param.getCompanyId(); |
|
|
|
CompeteCompany competeCompany = new CompeteCompany(); |
|
|
|
ProvinceCompeteVo.CompeteCompany competeCompany1 = new ProvinceCompeteVo.CompeteCompany(); |
|
|
|
//单位id为空,新增
|
|
|
|
if (ObjectUtil.isNull(companyid)){ |
|
|
|
Long id = snowflake.nextId(); |
|
|
@ -236,14 +243,16 @@ public class ProvinceService implements IProvinceService { |
|
|
|
competeCompany.setContactsPhone(param.getContactsPhone()); |
|
|
|
competeCompany.setLeaderNum(param.getGuideNum()); |
|
|
|
competeCompany.setJoinNum(param.getPlayerNum()); |
|
|
|
competeCompany.setUserId(userId); |
|
|
|
competeCompany.setCompeteTimeId(param.getCompeteTimeId()); |
|
|
|
competeCompanyDao.insertSelective(competeCompany); |
|
|
|
//
|
|
|
|
competeCompany1.setCompanyId(competeCompany.getId()); |
|
|
|
competeCompany1.setCoachNum(competeCompany.getCoachNum()); |
|
|
|
competeCompany1.setContactsName(competeCompany.getContactsName()); |
|
|
|
competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); |
|
|
|
competeCompany1.setGuideNum(competeCompany.getLeaderNum()); |
|
|
|
competeCompany1.setPlayerNum(competeCompany.getJoinNum()); |
|
|
|
// //
|
|
|
|
// competeCompany1.setCompanyId(competeCompany.getId());
|
|
|
|
// competeCompany1.setCoachNum(competeCompany.getCoachNum());
|
|
|
|
// competeCompany1.setContactsName(competeCompany.getContactsName());
|
|
|
|
// competeCompany1.setContactsPhone(competeCompany.getContactsPhone());
|
|
|
|
// competeCompany1.setGuideNum(competeCompany.getLeaderNum());
|
|
|
|
// competeCompany1.setPlayerNum(competeCompany.getJoinNum());
|
|
|
|
}else { |
|
|
|
//不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改
|
|
|
|
competeCompany = competeCompanyDao.selectByPrimaryKey(companyid); |
|
|
@ -265,12 +274,17 @@ public class ProvinceService implements IProvinceService { |
|
|
|
if (ObjectUtil.isNotNull(param.getPlayerNum())) { |
|
|
|
competeCompany.setJoinNum(param.getPlayerNum()); |
|
|
|
} |
|
|
|
competeCompany1.setCompanyId(competeCompany.getId()); |
|
|
|
competeCompany1.setCoachNum(competeCompany.getCoachNum()); |
|
|
|
competeCompany1.setContactsName(competeCompany.getContactsName()); |
|
|
|
competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); |
|
|
|
competeCompany1.setGuideNum(competeCompany.getLeaderNum()); |
|
|
|
competeCompany1.setPlayerNum(competeCompany.getJoinNum()); |
|
|
|
competeCompanyDao.updateByPrimaryKeySelective(competeCompany); |
|
|
|
// competeCompany1.setCompanyId(competeCompany.getId());
|
|
|
|
// competeCompany1.setCoachNum(competeCompany.getCoachNum());
|
|
|
|
// competeCompany1.setContactsName(competeCompany.getContactsName());
|
|
|
|
// competeCompany1.setContactsPhone(competeCompany.getContactsPhone());
|
|
|
|
// competeCompany1.setGuideNum(competeCompany.getLeaderNum());
|
|
|
|
// competeCompany1.setPlayerNum(competeCompany.getJoinNum());
|
|
|
|
} |
|
|
|
ProvinceCompeteVo.CompeteCompany competeCompany1 = competeCompanyDao.getCompany(param.getCompeteTimeId(),userId); |
|
|
|
if (ObjectUtil.isNull(competeCompany1)){ |
|
|
|
competeCompany1 = new ProvinceCompeteVo.CompeteCompany(); |
|
|
|
} |
|
|
|
return competeCompany1; |
|
|
|
} |
|
|
@ -280,7 +294,7 @@ public class ProvinceService implements IProvinceService { |
|
|
|
CompeteCoachExample competeCoachExample = new CompeteCoachExample(); |
|
|
|
competeCoachExample.createCriteria().andCompanyIdEqualTo(company); |
|
|
|
List<CompeteCoach> competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); |
|
|
|
ProvinceCompeteVo.CompeteCompanyCoach CompeteCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); |
|
|
|
ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); |
|
|
|
List<ProvinceCompeteVo.CompeteCompanyCoach> competeCompanyCoachList = new ArrayList(); |
|
|
|
ProvinceCompeteVo.CompeteCompanyLeader competeCompanyLeader = new ProvinceCompeteVo.CompeteCompanyLeader(); |
|
|
|
List<ProvinceCompeteVo.CompeteCompanyLeader> competeCompanyLeadersList = new ArrayList(); |
|
|
@ -289,21 +303,21 @@ public class ProvinceService implements IProvinceService { |
|
|
|
for (CompeteCoach competeCoach : competeCoachList){ |
|
|
|
if (competeCoach.getIdentity() == 0){ |
|
|
|
//给领队赋值
|
|
|
|
CompeteCompanyCoach.setCoachName(competeCoach.getName()); |
|
|
|
CompeteCompanyCoach.setCoachId(competeCoach.getId()); |
|
|
|
CompeteCompanyCoach.setGender(competeCoach.getGender()); |
|
|
|
CompeteCompanyCoach.setPhone(competeCoach.getPhone()); |
|
|
|
competeCompanyCoachList.add(CompeteCompanyCoach); |
|
|
|
competeCompanyCoach.setCoachName(competeCoach.getName()); |
|
|
|
competeCompanyCoach.setCoachId(competeCoach.getId()); |
|
|
|
competeCompanyCoach.setGender(competeCoach.getGender()); |
|
|
|
competeCompanyCoach.setPhone(competeCoach.getPhone()); |
|
|
|
competeCompanyCoachList.add(competeCompanyCoach); |
|
|
|
|
|
|
|
|
|
|
|
}else { |
|
|
|
//给教练赋值
|
|
|
|
}else { |
|
|
|
//给教练赋值
|
|
|
|
competeCompanyLeader.setGuideName(competeCoach.getName()); |
|
|
|
competeCompanyLeader.setGuideId(competeCoach.getId()); |
|
|
|
competeCompanyLeader.setGender(competeCoach.getGender()); |
|
|
|
competeCompanyLeader.setPhone(competeCoach.getPhone()); |
|
|
|
competeCompanyLeadersList.add(competeCompanyLeader); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
competeCompanyHeadList.setCompeteCompanyLeadersList(competeCompanyLeadersList); |
|
|
|
competeCompanyHeadList.setCompeteCompanyCoachList(competeCompanyCoachList); |
|
|
@ -363,9 +377,30 @@ public class ProvinceService implements IProvinceService { |
|
|
|
CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); |
|
|
|
if (ObjectUtil.isNotNull(competePlayer)){ |
|
|
|
competePlayer.setRecStatus((byte) 2); |
|
|
|
CompetePlayerExample competePlayerExample = new CompetePlayerExample(); |
|
|
|
competePlayerExample.createCriteria().andIdEqualTo(playerId); |
|
|
|
competePlayerMapper.updateByExampleSelective(competePlayer,competePlayerExample); |
|
|
|
competePlayerMapper.updateByPrimaryKeySelective(competePlayer); |
|
|
|
//删除成员报名的信息
|
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andPlayerIdEqualTo(playerId); |
|
|
|
List<CompeteProjectPlayer> projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); |
|
|
|
if(CollectionUtil.isNotEmpty(projectPlayerList)){ |
|
|
|
projectPlayerList.forEach(projectPlayer -> { |
|
|
|
projectPlayer.setRecStatus((byte) 2); |
|
|
|
projectPlayerMapper.updateByPrimaryKeySelective(projectPlayer); |
|
|
|
}); |
|
|
|
} |
|
|
|
//团队
|
|
|
|
CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); |
|
|
|
memberExample.createCriteria().andPlayerIdEqualTo(playerId); |
|
|
|
List<CompeteTeamMember> memberList = teamMemberMapper.selectByExample(memberExample); |
|
|
|
if(CollectionUtil.isNotEmpty(memberList)){ |
|
|
|
memberList.forEach(member -> { |
|
|
|
member.setRecStatus((byte) 2); |
|
|
|
teamMemberMapper.updateByPrimaryKeySelective(member); |
|
|
|
}); |
|
|
|
} |
|
|
|
// CompetePlayerExample competePlayerExample = new CompetePlayerExample();
|
|
|
|
// competePlayerExample.createCriteria().andIdEqualTo(playerId);
|
|
|
|
// competePlayerMapper.updateByExampleSelective(competePlayer,competePlayerExample);
|
|
|
|
}else { |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
@ -373,25 +408,27 @@ public class ProvinceService implements IProvinceService { |
|
|
|
|
|
|
|
@Override |
|
|
|
public ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param) { |
|
|
|
Long playerId = param.getPlayerId(); |
|
|
|
CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); |
|
|
|
if (ObjectUtil.isNull(competePlayer)){ |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
|
ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo(); |
|
|
|
playerInfo.setPlayerId(competePlayer.getId()); |
|
|
|
playerInfo.setCompeteId(competePlayer.getCompeteTimeId()); |
|
|
|
playerInfo.setGroupId(competePlayer.getCompeteGroupId()); |
|
|
|
playerInfo.setPlayerName(competePlayer.getName()); |
|
|
|
playerInfo.setGender(competePlayer.getGender()); |
|
|
|
playerInfo.setIdCard(competePlayer.getIdCard()); |
|
|
|
playerInfo.setIdCardFront(competePlayer.getIdCardFront()); |
|
|
|
playerInfo.setIdCardBack(competePlayer.getIdCardBack()); |
|
|
|
playerInfo.setIdPhone(competePlayer.getIdPhotoFile()); |
|
|
|
playerInfo.setStudentRecord(competePlayer.getStudentRecordFile()); |
|
|
|
playerInfo.setHealthRecord(competePlayer.getHealthRecordFile()); |
|
|
|
playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile()); |
|
|
|
return playerInfo; |
|
|
|
//
|
|
|
|
// Long playerId = param.getPlayerId();
|
|
|
|
// CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId);
|
|
|
|
// if (ObjectUtil.isNull(competePlayer)){
|
|
|
|
// throw new BaseException(CodeEnum.PARAM_ERROR);
|
|
|
|
// }
|
|
|
|
// ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo();
|
|
|
|
// playerInfo.setPlayerId(competePlayer.getId());
|
|
|
|
// playerInfo.setCompeteId(competePlayer.getCompeteTimeId());
|
|
|
|
// playerInfo.setGroupId(competePlayer.getCompeteGroupId());
|
|
|
|
// playerInfo.setPlayerName(competePlayer.getName());
|
|
|
|
// playerInfo.setGender(competePlayer.getGender());
|
|
|
|
// playerInfo.setIdCard(competePlayer.getIdCard());
|
|
|
|
// playerInfo.setIdCardFront(competePlayer.getIdCardFront());
|
|
|
|
// playerInfo.setIdCardBack(competePlayer.getIdCardBack());
|
|
|
|
// playerInfo.setIdPhone(competePlayer.getIdPhotoFile());
|
|
|
|
// playerInfo.setStudentRecord(competePlayer.getStudentRecordFile());
|
|
|
|
// playerInfo.setHealthRecord(competePlayer.getHealthRecordFile());
|
|
|
|
// playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile());
|
|
|
|
// return playerInfo;
|
|
|
|
return competePlayerDao.getPlayerByPlayerId(param.getPlayerId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -419,76 +456,130 @@ public class ProvinceService implements IProvinceService { |
|
|
|
//查找项目信息
|
|
|
|
CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); |
|
|
|
if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } |
|
|
|
|
|
|
|
//检查参赛人数是否符合
|
|
|
|
if(CollectionUtil.isEmpty(param.getPlayerId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } |
|
|
|
if(param.getPlayerId().size() < competeProject.getMemberMin() || param.getPlayerId().size() > competeProject.getMemberMax()){ |
|
|
|
if(CollectionUtil.isEmpty(param.getPlayers())){ throw new BaseException(CodeEnum.PARAM_ERROR); } |
|
|
|
int joinCount = 0; |
|
|
|
for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ |
|
|
|
if(joinProject.getJoinProject() == 1){ |
|
|
|
joinCount++; |
|
|
|
} |
|
|
|
} |
|
|
|
if(joinCount > competeProject.getMemberMax() ){ |
|
|
|
throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); |
|
|
|
} |
|
|
|
//判断项目是个人还是团队
|
|
|
|
//判断项目是个人还是团队,参加
|
|
|
|
if(competeProject.getTeam() == 0){ |
|
|
|
param.getPlayerId().forEach(playerId -> { |
|
|
|
CompetePlayer player = competePlayerDao.selectByPrimaryKey(playerId); |
|
|
|
if(ObjectUtil.isNull(player)){ throw new BaseException(CodeEnum.PARAM_ERROR); } |
|
|
|
//查找此公司此组别是否参加过这个项目
|
|
|
|
int num = competeCompanyDao.getNumByCompanyAndGroup(competeProject.getId(),player.getCompanyId(),player.getCompeteGroupId(),param.getCompeteTimeId()); |
|
|
|
if(num > 0){ |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg("该项目该组别")); |
|
|
|
param.getPlayers().forEach(joinPlayer -> { |
|
|
|
//检查此用户之前是否参加此项目
|
|
|
|
CompeteProjectPlayerExample example = new CompeteProjectPlayerExample(); |
|
|
|
example.createCriteria().andProjectIdEqualTo(competeProject.getId()).andPlayerIdEqualTo(joinPlayer.getPlayerId()) |
|
|
|
.andCompeteTimeIdEqualTo(param.getCompeteTimeId()); |
|
|
|
List<CompeteProjectPlayer> competeProjectPlayerList = projectPlayerMapper.selectByExample(example); |
|
|
|
//用户现在不参加且之前已经参加本项目,退出
|
|
|
|
if(joinPlayer.getJoinProject() == 0 && CollectionUtil.isNotEmpty(competeProjectPlayerList)) { |
|
|
|
competeProjectPlayerList.forEach(projectPlayer -> { |
|
|
|
projectPlayer.setRecStatus((byte) 2); |
|
|
|
projectPlayerMapper.updateByPrimaryKeySelective(projectPlayer); |
|
|
|
}); |
|
|
|
} |
|
|
|
//查找个人参赛数量是否符合
|
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andPlayerIdEqualTo(playerId).andCompeteTimeIdEqualTo(param.getCompeteTimeId()); |
|
|
|
if(projectPlayerMapper.countByExample(projectPlayerExample) >= 3){ |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName())); |
|
|
|
//用户现在参加且之前未参加本项目,参加
|
|
|
|
if(joinPlayer.getJoinProject() == 1 && CollectionUtil.isEmpty(competeProjectPlayerList)) { |
|
|
|
CompetePlayer player = competePlayerDao.selectByPrimaryKey(joinPlayer.getPlayerId()); |
|
|
|
if (ObjectUtil.isNull(player)) { |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
|
//查找此公司此组别是否参加过这个项目
|
|
|
|
int num = competeCompanyDao.getNumByCompanyAndGroup(competeProject.getId(), player.getCompanyId(), player.getCompeteGroupId(), param.getCompeteTimeId()); |
|
|
|
if (num > 0) { |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg("该项目该组别")); |
|
|
|
} |
|
|
|
//查找个人参赛数量是否符合
|
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andPlayerIdEqualTo(joinPlayer.getPlayerId()).andCompeteTimeIdEqualTo(param.getCompeteTimeId()); |
|
|
|
if (projectPlayerMapper.countByExample(projectPlayerExample) >= 3) { |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName())); |
|
|
|
} |
|
|
|
//参加比赛记录
|
|
|
|
CompeteProjectPlayer projectPlayer = new CompeteProjectPlayer(); |
|
|
|
projectPlayer.setId(snowflake.nextId()); |
|
|
|
projectPlayer.setCompeteTimeId(param.getCompeteTimeId()); |
|
|
|
projectPlayer.setProjectId(param.getProjectId()); |
|
|
|
projectPlayer.setPlayerId(joinPlayer.getPlayerId()); |
|
|
|
projectPlayer.setCompeteGroupId(player.getCompeteGroupId()); |
|
|
|
projectPlayer.setGenderGroup(player.getGender()); |
|
|
|
projectPlayerMapper.insertSelective(projectPlayer); |
|
|
|
} |
|
|
|
//参加比赛记录
|
|
|
|
CompeteProjectPlayer projectPlayer = new CompeteProjectPlayer(); |
|
|
|
projectPlayer.setId(snowflake.nextId()); |
|
|
|
projectPlayer.setCompeteTimeId(param.getCompeteTimeId()); |
|
|
|
projectPlayer.setProjectId(param.getProjectId()); |
|
|
|
projectPlayer.setPlayerId(playerId); |
|
|
|
projectPlayer.setCompeteGroupId(player.getCompeteGroupId()); |
|
|
|
projectPlayer.setGenderGroup(player.getGender()); |
|
|
|
projectPlayerMapper.insertSelective(projectPlayer); |
|
|
|
}); |
|
|
|
}else { |
|
|
|
//查找当前公司是否已经报名次项目
|
|
|
|
//查找当前公司是否已经报名此项目
|
|
|
|
CompeteTeam competeTeam; |
|
|
|
CompeteTeamExample teamExample = new CompeteTeamExample(); |
|
|
|
teamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()).andCompanyIdEqualTo(param.getCompanyId()).andCompeteTimeIdEqualTo(param.getCompeteTimeId()); |
|
|
|
if(competeTeamDao.countByExample(teamExample) > 0){ |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg("该项目")); |
|
|
|
List<CompeteTeam> competeTeamList = competeTeamDao.selectByExample(teamExample); |
|
|
|
if(CollectionUtil.isNotEmpty(competeTeamList)){ |
|
|
|
competeTeam = competeTeamList.get(0); |
|
|
|
}else { |
|
|
|
competeTeam = new CompeteTeam(); |
|
|
|
competeTeam.setId(snowflake.nextId()); |
|
|
|
competeTeam.setCompeteTimeId(param.getCompeteTimeId()); |
|
|
|
competeTeam.setProjectId(param.getProjectId()); |
|
|
|
competeTeam.setCompanyId(param.getCompanyId()); |
|
|
|
//添加团队表
|
|
|
|
competeTeamDao.insertSelective(competeTeam); |
|
|
|
} |
|
|
|
//生成团队
|
|
|
|
CompeteTeam competeTeam = new CompeteTeam(); |
|
|
|
competeTeam.setId(snowflake.nextId()); |
|
|
|
competeTeam.setCompeteTimeId(param.getCompeteTimeId()); |
|
|
|
competeTeam.setProjectId(param.getProjectId()); |
|
|
|
competeTeam.setCompanyId(param.getCompanyId()); |
|
|
|
//添加成员表
|
|
|
|
for (int i = 0; i < param.getPlayerId().size(); i++) { |
|
|
|
CompetePlayer player = competePlayerDao.selectByPrimaryKey(param.getPlayerId().get(i)); |
|
|
|
|
|
|
|
for (int i = 0; i < param.getPlayers().size(); i++) { |
|
|
|
ProvinceCompeteDto.JoinProjectPlayer joinProjectPlayer = param.getPlayers().get(i); |
|
|
|
CompetePlayer player = competePlayerDao.selectByPrimaryKey(joinProjectPlayer.getPlayerId()); |
|
|
|
if(ObjectUtil.isNull(player)){ throw new BaseException(CodeEnum.PARAM_ERROR); } |
|
|
|
//检查该选手报名项目数量
|
|
|
|
int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(),player.getId()); |
|
|
|
if(a >= 6){ |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName())); |
|
|
|
//查找改选手是否在本团队内
|
|
|
|
CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); |
|
|
|
memberExample.createCriteria().andPlayerIdEqualTo(player.getId()) |
|
|
|
.andCompeteTeamIdEqualTo(competeTeam.getId()); |
|
|
|
List<CompeteTeamMember> teamMemberList = teamMemberMapper.selectByExample(memberExample); |
|
|
|
//选手现在不参加,但以前参加了。删除以前的数据
|
|
|
|
if(joinProjectPlayer.getJoinProject() == 0 && CollectionUtil.isNotEmpty(teamMemberList)){ |
|
|
|
teamMemberList.forEach(member -> { |
|
|
|
member.setRecStatus((byte) 2); |
|
|
|
teamMemberMapper.updateByPrimaryKeySelective(member); |
|
|
|
}); |
|
|
|
} |
|
|
|
//团队性别组根据参赛成员而定
|
|
|
|
if (i == 0){ |
|
|
|
competeTeam.setGenderGroup(player.getGender()); |
|
|
|
}else { |
|
|
|
if(!competeTeam.getGenderGroup().equals(player.getGender())){ |
|
|
|
competeTeam.setGenderGroup((byte) 2); |
|
|
|
//选手这次参加,以前未参加,添加数据
|
|
|
|
if(joinProjectPlayer.getJoinProject() == 1 && CollectionUtil.isEmpty(teamMemberList)){ |
|
|
|
//检查该选手报名项目数量
|
|
|
|
int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(),player.getId()); |
|
|
|
if(a >= 6){ |
|
|
|
throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName())); |
|
|
|
} |
|
|
|
//添加成员表
|
|
|
|
CompeteTeamMember teamMember = new CompeteTeamMember(); |
|
|
|
teamMember.setId(snowflake.nextId()); |
|
|
|
teamMember.setCompeteTeamId(competeTeam.getId()); |
|
|
|
teamMember.setPlayerId(player.getId()); |
|
|
|
teamMemberMapper.insertSelective(teamMember); |
|
|
|
} |
|
|
|
//添加成员表
|
|
|
|
CompeteTeamMember teamMember = new CompeteTeamMember(); |
|
|
|
teamMember.setId(snowflake.nextId()); |
|
|
|
teamMember.setCompeteTeamId(competeTeam.getId()); |
|
|
|
teamMember.setPlayerId(player.getId()); |
|
|
|
teamMemberMapper.insertSelective(teamMember); |
|
|
|
// //检查该选手报名项目数量
|
|
|
|
// int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(),player.getId());
|
|
|
|
// if(a >= 6){
|
|
|
|
// throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName()));
|
|
|
|
// }
|
|
|
|
// //团队性别组根据参赛成员而定
|
|
|
|
// if (i == 0){
|
|
|
|
// competeTeam.setGenderGroup(player.getGender());
|
|
|
|
// }else {
|
|
|
|
// if(!competeTeam.getGenderGroup().equals(player.getGender())){
|
|
|
|
// competeTeam.setGenderGroup((byte) 2);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// //添加成员表
|
|
|
|
// CompeteTeamMember teamMember = new CompeteTeamMember();
|
|
|
|
// teamMember.setId(snowflake.nextId());
|
|
|
|
// teamMember.setCompeteTeamId(competeTeam.getId());
|
|
|
|
// teamMember.setPlayerId(player.getId());
|
|
|
|
// teamMemberMapper.insertSelective(teamMember);
|
|
|
|
} |
|
|
|
//添加团队表
|
|
|
|
competeTeamDao.insertSelective(competeTeam); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|