diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index e26611ba..7e7d5aaa 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -201,4 +201,14 @@ public class ProvinceController { log.info("团体报名查询可以参加和已经参加的选手:{}",groupAndPlayer); return JsonResponse.newInstance().ok(groupAndPlayer); } + + @MustLogin + @ApiOperation(value = "删除报名的队伍", notes = "") + @RequestMapping(value = "/del/team", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delJoinTeam(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除报名的队伍:{}",params); + provinceService.delJoinTeam(params.getParam()); + log.info("删除报名的队伍"); + return JsonResponse.newInstance().ok(); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 1fe89e25..75a4840c 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -95,6 +95,10 @@ public class ProvinceCompeteDto { private Long projectId; @ApiModelProperty("单位id") private Long companyId; + @ApiModelProperty("性别组") + private int gender; + @ApiModelProperty("组别信息") + private int groupRemark; @ApiModelProperty("选手id") private List players; } @@ -185,4 +189,12 @@ public class ProvinceCompeteDto { @ApiModelProperty("组别信息") private int groupRemark; } + + @Data + @ApiModel("删除参赛队伍") + public static class DelTeam{ + @NotNull(message = "队伍id") + @ApiModelProperty("队伍id") + private Long teamId; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 88911e1d..3fb471a7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -48,6 +48,12 @@ public class ProvinceCompeteVo { private Long groupId; @ApiModelProperty("组别名字") private String groupName; + @ApiModelProperty("性别组") + private int gender; + @ApiModelProperty("组别信息") + private int groupRemark; + @ApiModelProperty("团队id") + private Long teamId; @ApiModelProperty("选手信息") private List playerList; } @@ -81,6 +87,8 @@ public class ProvinceCompeteVo { private String name; @ApiModelProperty("是否是团队项目 0否 1是") private byte team; + @ApiModelProperty("参赛规则 0限制组别 1不限组别") + private byte joinRule; @ApiModelProperty("最少人数") private int memberMin; @ApiModelProperty("最多人数") diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 023a69cc..f79d8f8e 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -102,7 +102,7 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @param type * @return */ - List getPlayerByTeamProject(@Param("projectId")Long projectId, @Param("type")Byte type); + List getPlayerByTeamProject(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("type")Byte type); /** * 根据大赛id查看当前大赛所有队伍信息,以及联系人的信息 * @param CompeteTimeId 大赛CompeteTimeId @@ -127,4 +127,19 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 返回选手信息 */ List getPlayerByTeamProjectWithRule(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("type")Byte type, @Param("groupRemark")int groupRemark, @Param("gender")int gender); + + /** + * 查找该选手是否参加了该项目的其他组别 + * @param competeTimeId 大赛id + * @param playerId 选手id + * @param projectId 项目id + * @param companyId 单位id + * @param gender 性别组 + * @param groupRemark 组别备注信息 + * @return 返回参加的数量 + */ + int getTeamNumByPlayerIdAndGroup(@Param("competeTimeId")Long competeTimeId, @Param("playerId")Long playerId, @Param("projectId")Long projectId, + @Param("companyId")Long companyId, @Param("gender")int gender, @Param("groupRemark")int groupRemark); + + List queryPlayersByTeamProject(@Param("companyId")Long companyId, @Param("projectId")Long projectId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 1fff7087..ac2324aa 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -145,4 +145,10 @@ public interface IProvinceService { * @return 返回所有可参赛的选手和已经参赛的选手 */ List getPlayerByTeamProjectWithRule(ProvinceCompeteDto.GetPlayerByTeamProjectWithRule param); + + /** + * 删除参赛的队伍 + * @param param ok + */ + void delJoinTeam(ProvinceCompeteDto.DelTeam param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index abbade58..d4dfd051 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -524,102 +524,219 @@ public class ProvinceService implements IProvinceService { } } }else { - //查找当前公司是否已经报名此项目 - CompeteTeam competeTeam; - CompeteTeamExample teamExample = new CompeteTeamExample(); - teamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()).andCompanyIdEqualTo(param.getCompanyId()).andCompeteTimeIdEqualTo(param.getCompeteTimeId()); - List 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); - } - - //检查参赛人数是否符合 - int joinCount = 0; - for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ - if(joinProject.getJoinProject() == 1){ - joinCount++; - }else { - joinCount--; + if(competeProject.getJoinRule() == 1) { + //查找当前公司是否已经报名此项目 + CompeteTeam competeTeam; + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()).andCompanyIdEqualTo(param.getCompanyId()).andCompeteTimeIdEqualTo(param.getCompeteTimeId()); + List 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); } - } - CompeteTeamMemberExample example = new CompeteTeamMemberExample(); - example.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); - long memberNum = teamMemberMapper.countByExample(example); - if(joinCount + memberNum > 0) { - if (joinCount + memberNum > competeProject.getMemberMax() || joinCount + memberNum < competeProject.getMemberMin()) { - throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + +// //检查参赛人数是否符合 +// int joinCount = 0; +// for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ +// if(joinProject.getJoinProject() == 1){ +// joinCount++; +// }else { +// joinCount--; +// } +// } +// CompeteTeamMemberExample example = new CompeteTeamMemberExample(); +// example.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); +// long memberNum = teamMemberMapper.countByExample(example); +// if(joinCount + memberNum > 0) { +// if (joinCount + memberNum > competeProject.getMemberMax() || joinCount + memberNum < competeProject.getMemberMin()) { +// throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); +// } +// } + 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); + } + //查找改选手是否在本团队内 + CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); + memberExample.createCriteria().andPlayerIdEqualTo(player.getId()) + .andCompeteTeamIdEqualTo(competeTeam.getId()); + List teamMemberList = teamMemberMapper.selectByExample(memberExample); + //选手现在不参加,但以前参加了。删除以前的数据 + if (joinProjectPlayer.getJoinProject() == 0 && CollectionUtil.isNotEmpty(teamMemberList)) { + teamMemberList.forEach(member -> { + member.setRecStatus((byte) 2); + teamMemberMapper.updateByPrimaryKeySelective(member); + }); + } + //选手这次参加,以前未参加,添加数据 + if (joinProjectPlayer.getJoinProject() == 1 && CollectionUtil.isEmpty(teamMemberList)) { + //检查该选手报名项目数量(团队6个) + int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(), player.getId()); + if (a >= 6) { + throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName() + "团队")); + //XXX团队项目参赛次数已满 + } + //添加成员表 + CompeteTeamMember teamMember = new CompeteTeamMember(); + teamMember.setId(snowflake.nextId()); + teamMember.setCompeteTeamId(competeTeam.getId()); + teamMember.setPlayerId(player.getId()); + teamMemberMapper.insertSelective(teamMember); + } } - } - 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); } - //查找改选手是否在本团队内 + //查询团队内的成员,如果没有则删除团队 CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); - memberExample.createCriteria().andPlayerIdEqualTo(player.getId()) - .andCompeteTeamIdEqualTo(competeTeam.getId()); - List teamMemberList = teamMemberMapper.selectByExample(memberExample); - //选手现在不参加,但以前参加了。删除以前的数据 - if(joinProjectPlayer.getJoinProject() == 0 && CollectionUtil.isNotEmpty(teamMemberList)){ - teamMemberList.forEach(member -> { - member.setRecStatus((byte) 2); - teamMemberMapper.updateByPrimaryKeySelective(member); - }); - } - //选手这次参加,以前未参加,添加数据 - if(joinProjectPlayer.getJoinProject() == 1 && CollectionUtil.isEmpty(teamMemberList)){ - //检查该选手报名项目数量(团队6个) - int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(),player.getId()); - if(a >= 6){ - throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName()+"团队")); - //XXX团队项目参赛次数已满 + memberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + if (teamMemberMapper.countByExample(memberExample) == 0) { + competeTeam.setRecStatus((byte) 2); + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + } else { + //当前参赛人数不符提示错误信息 + if (teamMemberMapper.countByExample(memberExample) > competeProject.getMemberMax() || teamMemberMapper.countByExample(memberExample) < competeProject.getMemberMin()) { + throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + } + //修改团队的性别组和组别备注信息 + ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); + if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { + competeTeam.setGenderGroup((byte) teamGroupRemark.getSexGroup()); + if (ObjectUtil.isNull(competeTeam.getGroupRemark()) || competeTeam.getGroupRemark() == 0) { + String groupRemark = teamGroupRemark.getGroupRemark().substring(0, teamGroupRemark.getGroupRemark().length() - 3); + Constant.COMPETE_TEAM_GROUP_REMARK remark = Constant.COMPETE_TEAM_GROUP_REMARK.phaseOf(groupRemark); + if (ObjectUtil.isNotNull(remark)) { + competeTeam.setGroupRemark((byte) remark.value); + } else { + competeTeam.setGroupRemark((byte) 0); + } + } + competeTeamDao.updateByPrimaryKeySelective(competeTeam); } - //添加成员表 - CompeteTeamMember teamMember = new CompeteTeamMember(); - teamMember.setId(snowflake.nextId()); - teamMember.setCompeteTeamId(competeTeam.getId()); - teamMember.setPlayerId(player.getId()); - teamMemberMapper.insertSelective(teamMember); } - } - //查询团队内的成员,如果没有则删除团队 - CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); - memberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); - if(teamMemberMapper.countByExample(memberExample) == 0){ - competeTeam.setRecStatus((byte) 2); - competeTeamDao.updateByPrimaryKeySelective(competeTeam); }else { - //当前参赛人数不符提示错误信息 - if(teamMemberMapper.countByExample(memberExample) > competeProject.getMemberMax() || teamMemberMapper.countByExample(memberExample) < competeProject.getMemberMin()){ - throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + //查找当前单位是否已经报名此项目内的改组别 + CompeteTeam competeTeam; + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()).andCompanyIdEqualTo(param.getCompanyId()) + .andCompeteTimeIdEqualTo(param.getCompeteTimeId()).andGenderGroupEqualTo((byte) param.getGender()).andGroupRemarkEqualTo((byte) param.getGroupRemark()); + List 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()); + competeTeam.setGenderGroup((byte) param.getGender()); + competeTeam.setGroupRemark((byte) param.getGroupRemark()); + //添加团队表 + competeTeamDao.insertSelective(competeTeam); } - //修改团队的性别组和组别备注信息 - ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); - if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { - competeTeam.setGenderGroup((byte) teamGroupRemark.getSexGroup()); - if (ObjectUtil.isNull(competeTeam.getGroupRemark()) || competeTeam.getGroupRemark() == 0) { - String groupRemark = teamGroupRemark.getGroupRemark().substring(0, teamGroupRemark.getGroupRemark().length() - 3); - Constant.COMPETE_TEAM_GROUP_REMARK remark = Constant.COMPETE_TEAM_GROUP_REMARK.phaseOf(groupRemark); - if (ObjectUtil.isNotNull(remark)) { - competeTeam.setGroupRemark((byte) remark.value); - } else { - competeTeam.setGroupRemark((byte) 0); + +// //检查参赛人数是否符合 +// int joinCount = 0; +// for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ +// if(joinProject.getJoinProject() == 1){ +// joinCount++; +// }else { +// joinCount--; +// } +// } +// CompeteTeamMemberExample example = new CompeteTeamMemberExample(); +// example.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); +// long memberNum = teamMemberMapper.countByExample(example); +// if(joinCount + memberNum > 0) { +// if (joinCount + memberNum > competeProject.getMemberMax() || joinCount + memberNum < competeProject.getMemberMin()) { +// throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); +// } +// } + 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); + } + //查找改选手是否在本团队内 + CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); + memberExample.createCriteria().andPlayerIdEqualTo(player.getId()) + .andCompeteTeamIdEqualTo(competeTeam.getId()); + List teamMemberList = teamMemberMapper.selectByExample(memberExample); + //选手现在不参加,但以前参加了。删除以前的数据 + if (joinProjectPlayer.getJoinProject() == 0 && CollectionUtil.isNotEmpty(teamMemberList)) { + teamMemberList.forEach(member -> { + member.setRecStatus((byte) 2); + teamMemberMapper.updateByPrimaryKeySelective(member); + }); + } + //选手这次参加,以前未参加,添加数据 + if (joinProjectPlayer.getJoinProject() == 1 && CollectionUtil.isEmpty(teamMemberList)) { + //检查该选手报名项目数量(团队6个) + int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(), player.getId()); + if (a >= 6) { + throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName() + "团队")); + //XXX团队项目参赛次数已满 } + //查找该选手是否参加了该项目的其他组别 + int b = competeCompanyDao.getTeamNumByPlayerIdAndGroup(param.getCompeteTimeId(), player.getId(),param.getProjectId() + ,param.getCompanyId(),param.getGender(),param.getGroupRemark()); + if (b > 0) { + throw new BaseException(CodeEnum.mtJoinAuthGroup(player.getName())); + } + + //添加成员表 + CompeteTeamMember teamMember = new CompeteTeamMember(); + teamMember.setId(snowflake.nextId()); + teamMember.setCompeteTeamId(competeTeam.getId()); + teamMember.setPlayerId(player.getId()); + teamMemberMapper.insertSelective(teamMember); } + } + //查询团队内的成员,如果没有则删除团队 + CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); + memberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + if (teamMemberMapper.countByExample(memberExample) == 0) { + competeTeam.setRecStatus((byte) 2); competeTeamDao.updateByPrimaryKeySelective(competeTeam); + } else { + //当前参赛人数不符提示错误信息 + if (teamMemberMapper.countByExample(memberExample) > competeProject.getMemberMax() || teamMemberMapper.countByExample(memberExample) < competeProject.getMemberMin()) { + throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + } + //修改团队的性别组和组别备注信息 + ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); + if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { + competeTeam.setGenderGroup((byte) teamGroupRemark.getSexGroup()); + if (ObjectUtil.isNull(competeTeam.getGroupRemark()) || competeTeam.getGroupRemark() == 0) { + String groupRemark = teamGroupRemark.getGroupRemark().substring(0, teamGroupRemark.getGroupRemark().length() - 3); + Constant.COMPETE_TEAM_GROUP_REMARK remark = Constant.COMPETE_TEAM_GROUP_REMARK.phaseOf(groupRemark); + if (ObjectUtil.isNotNull(remark)) { + competeTeam.setGroupRemark((byte) remark.value); + } else { + competeTeam.setGroupRemark((byte) 0); + } + } + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + } } } } } +// /** +// * 参加个人比赛 +// */ +// private void joinTiwnProject(){ +// +// } + /** * 查找教练详细信息 */ @@ -631,16 +748,33 @@ public class ProvinceService implements IProvinceService { /** * 查找团体项目下的参赛选手信息 */ -// @Override -// public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { -// List groupAndPlayerList = null; -// //查找项目 -// CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); -// if(ObjectUtil.isNotNull(competeProject)){ -// groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); -// } -// return groupAndPlayerList; -// } + @Override + public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { + List groupAndPlayerList = new ArrayList<>(); + //查找项目 + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + if(ObjectUtil.isNotNull(competeProject)){ + if(competeProject.getJoinRule() == 0) { + groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getCompanyId(), param.getProjectId(), competeProject.getType()); + }else { + List playerInfoByGroupList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); +// groupAndPlayerList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); + ProvinceCompeteVo.GroupAndPlayer groupAndPlayer = new ProvinceCompeteVo.GroupAndPlayer(); + + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andCompanyIdEqualTo(param.getCompanyId()); + List teamList = competeTeamDao.selectByExample(teamExample); + if(CollectionUtil.isNotEmpty(teamList)){ + groupAndPlayer.setTeamId(teamList.get(0).getId()); + } + groupAndPlayer.setGroupName("不限制组别"); + groupAndPlayer.setPlayerList(playerInfoByGroupList); + groupAndPlayerList.add(groupAndPlayer); + } + } + return groupAndPlayerList; + } + /** * 查找符合参赛规则的选手信息 @@ -654,6 +788,10 @@ public class ProvinceService implements IProvinceService { //如果同单位不限组别 if(competeProject.getJoinRule() == 1){ groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId()); +// List playerInfoByGroupList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); +// ProvinceCompeteVo.GroupAndPlayer groupAndPlayer = new ProvinceCompeteVo.GroupAndPlayer(); +// groupAndPlayer.setGroupName("不限制组别"); +// groupAndPlayer.setPlayerList(playerInfoByGroupList); } //如果同单位限制组别 if(competeProject.getJoinRule() == 0){ @@ -667,5 +805,24 @@ public class ProvinceService implements IProvinceService { } return groupAndPlayerList; } + + @Override + public void delJoinTeam(ProvinceCompeteDto.DelTeam param) { + CompeteTeam competeTeam = competeTeamDao.selectByPrimaryKey(param.getTeamId()); + if(ObjectUtil.isNotNull(competeTeam)){ + competeTeam.setRecStatus((byte) 2); + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + + CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); + teamMemberExample.createCriteria().andCompeteTeamIdEqualTo(param.getTeamId()); + List teamMemberList = teamMemberMapper.selectByExample(teamMemberExample); + if(CollectionUtil.isNotEmpty(teamMemberList)){ + teamMemberList.forEach(teamMember -> { + teamMember.setRecStatus((byte) 2); + teamMemberMapper.updateByPrimaryKeySelective(teamMember); + }); + } + } + } } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 1eda459c..57baa676 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -19,6 +19,9 @@ + + + @@ -127,6 +130,7 @@ p.id as id, p.`name` as `name`, team, + p.join_rule as joinRule, member_min as memberMin, member_max as memberMax, if( @@ -233,11 +237,13 @@ + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 9d96e5ce..0806e037 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -175,6 +175,7 @@ public enum CodeEnum { CONTACTS_NAME_EMPTY(144,"联系人名称不能为空",true), MEMBER_NUM_ERROR(145,"参赛人数不满足比赛人数要求",true), GENDER_ERROR(146,"请选择正确的性别",true), + JOIN_AUTH_GROUP(147,"已参加了其他组别,无法再次报名",true), ; @@ -183,7 +184,10 @@ public enum CodeEnum { this.msg = "请上传"+msg; return this; } - + public static String mtJoinAuthGroup(String msg){ + msg = msg+"已参加了其他组别,无法再次报名"; + return msg; + } public CodeEnum mtProjectMsg(String msg){ this.msg = msg+"项目参赛次数已满"; return this;