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 d4dfd051..255bcdb5 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -120,7 +120,6 @@ public class ProvinceService implements IProvinceService { player.setId(snowflake.nextId()); player.setName(param.getPlayerName()); - if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.NOT_COMPANY); } //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} @@ -159,7 +158,7 @@ public class ProvinceService implements IProvinceService { //判断各种证件是否为空 if(ObjectUtil.isNull(param.getIdCardFront()) && ObjectUtil.isNotNull(param.getIdCardBack())){ param.setIdCardFront(param.getIdCardBack()); - param.setIdCardBack(null); + param.setIdCardBack(0L); } if(ObjectUtil.isNull(param.getIdCardFront())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("身份证/户口本信息")); } if(ObjectUtil.isNull(param.getIdPhone())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("证件照")); } @@ -184,7 +183,7 @@ public class ProvinceService implements IProvinceService { CompetePlayer player = competePlayerDao.selectByPrimaryKey(param.getPlayerId()); log.info("查找需要修改的选手信息:{}",player); if(ObjectUtil.isNull(player)){ throw new BaseException(CodeEnum.PARAM_ERROR); } - //身份证不能为空,且正确 + //身份证正确 if(!IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 CompetePlayerExample competePlayerExample = new CompetePlayerExample(); @@ -211,14 +210,24 @@ public class ProvinceService implements IProvinceService { } //字段不为空则修改 if(StrUtil.isNotEmpty(param.getPlayerName())){player.setName(param.getPlayerName());} - if(StrUtil.isNotEmpty(param.getIdCard())){player.setIdCard(param.getIdCard());} - if(ObjectUtil.isNotNull(param.getGender())){player.setGender((byte) param.getGender());} - if(ObjectUtil.isNotNull(competeGroup)){player.setCompeteGroupId(competeGroup.getId());} - if(ObjectUtil.isNotNull(param.getGroupRemark())){player.setGroupRemark((byte) param.getGroupRemark());} + + if(getJoinProject(player.getId()) && (!param.getIdCard().equalsIgnoreCase(player.getIdCard()) + || param.getGroupRemark() != player.getGroupRemark())){ + throw new BaseException(CodeEnum.ALREADY_JOIN_PROJECT); + } +// if(StrUtil.isNotEmpty(param.getIdCard())){player.setIdCard(param.getIdCard());} +// if(ObjectUtil.isNotNull(param.getGender())){player.setGender((byte) param.getGender());} +// if(ObjectUtil.isNotNull(competeGroup)){player.setCompeteGroupId(competeGroup.getId());} +// if(ObjectUtil.isNotNull(param.getGroupRemark())){player.setGroupRemark((byte) param.getGroupRemark());} + if(ObjectUtil.isNotNull(param.getCompeteId())){player.setCompanyId(param.getCompeteId());} - if(ObjectUtil.isNotNull(param.getIdCardFront())){player.setIdCardFrontFile(param.getIdCardFront());} - if(ObjectUtil.isNotNull(param.getIdCardBack())){player.setIdCardBackFile(param.getIdCardBack());} +// if(ObjectUtil.isNotNull(param.getIdCardFront())){ + player.setIdCardFrontFile(param.getIdCardFront() == null ? 0 : param.getIdCardFront()); +// } +// if(ObjectUtil.isNotNull(param.getIdCardBack())){ + player.setIdCardBackFile(param.getIdCardBack() == null ? 0 : param.getIdCardBack()); +// } if(ObjectUtil.isNotNull(param.getIdPhone())){player.setIdPhotoFile(param.getIdPhone());} if(ObjectUtil.isNotNull(param.getStudentRecord())){player.setStudentRecordFile(param.getStudentRecord());} if(ObjectUtil.isNotNull(param.getHealthRecord())){player.setHealthRecordFile(param.getHealthRecord());} @@ -399,28 +408,31 @@ public class ProvinceService implements IProvinceService { Long playerId = param.getPlayerId(); CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); if (ObjectUtil.isNotNull(competePlayer)){ + if(getJoinProject(playerId)){ + throw new BaseException(CodeEnum.ALREADY_JOIN_PROJECT_DEL); + } competePlayer.setRecStatus((byte) 2); competePlayerMapper.updateByPrimaryKeySelective(competePlayer); - //删除成员报名的信息 - CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); - projectPlayerExample.createCriteria().andPlayerIdEqualTo(playerId); - List 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 memberList = teamMemberMapper.selectByExample(memberExample); - if(CollectionUtil.isNotEmpty(memberList)){ - memberList.forEach(member -> { - member.setRecStatus((byte) 2); - teamMemberMapper.updateByPrimaryKeySelective(member); - }); - } +// //删除成员报名的信息 +// CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); +// projectPlayerExample.createCriteria().andPlayerIdEqualTo(playerId); +// List 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 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); @@ -824,5 +836,20 @@ public class ProvinceService implements IProvinceService { } } } + + + /** + * 查询运动员是否参加了比赛 + */ + private boolean getJoinProject(Long playerId){ + CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); + projectPlayerExample.createCriteria().andPlayerIdEqualTo(playerId); + if(projectPlayerMapper.countByExample(projectPlayerExample) == 0){ + return false; + } + CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); + teamMemberExample.createCriteria().andPlayerIdEqualTo(playerId); + return teamMemberMapper.countByExample(teamMemberExample) != 0; + } } diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..d082c0ea 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: prod + include: common, util-prod \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index d5432af9..c48a4f4c 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -60,7 +60,7 @@ if(pp.id is null and a.mId is null,0,1) as joinProject FROM t_compete_group cg - LEFT JOIN t_compete_player p on (cg.id = p.compete_group_id or (cg.sex = p.gender and cg.group_remark = p.group_remark)) + LEFT JOIN t_compete_player p on cg.id = p.compete_group_id LEFT JOIN t_compete_project_player pp on p.id = pp.player_id and pp.project_id = #{projectId} and pp.rec_status = 0 LEFT JOIN ( SELECT diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 0806e037..6fcb0eb5 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -176,6 +176,8 @@ public enum CodeEnum { MEMBER_NUM_ERROR(145,"参赛人数不满足比赛人数要求",true), GENDER_ERROR(146,"请选择正确的性别",true), JOIN_AUTH_GROUP(147,"已参加了其他组别,无法再次报名",true), + ALREADY_JOIN_PROJECT(148,"该选手已经参加了比赛,不可修改身份证组别等信息",true), + ALREADY_JOIN_PROJECT_DEL(149,"取消报名后可删除",true), ;