Lihong@123456 5 years ago
parent
commit
ae659213e4
  1. 2
      mt/src/main/java/com/ccsens/mt/api/ProvinceController.java
  2. 2
      mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java
  3. 11
      mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java
  4. 9
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  5. 2
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java
  6. 7
      mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java
  7. 2
      mt/src/main/java/com/ccsens/mt/service/IProvinceService.java
  8. 233
      mt/src/main/java/com/ccsens/mt/service/ProvinceService.java
  9. 4
      mt/src/main/resources/application.yml
  10. 13
      mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml
  11. 20
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  12. 4
      tall/src/main/resources/application.yml

2
mt/src/main/java/com/ccsens/mt/api/ProvinceController.java

@ -109,7 +109,7 @@ public class ProvinceController {
@RequestMapping(value = "/save/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/save/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProvinceCompeteVo.CompeteCompany> saveCompany(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteCompany> params) { public JsonResponse<ProvinceCompeteVo.CompeteCompany> saveCompany(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteCompany> params) {
log.info("添加/修改单位信息:{}",params); log.info("添加/修改单位信息:{}",params);
ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.changeCompany(params.getParam()); ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.changeCompany(params.getParam(),params.getUserId());
log.info("添加/修改单位信息:{}",competeCompany); log.info("添加/修改单位信息:{}",competeCompany);
return JsonResponse.newInstance().ok(competeCompany); return JsonResponse.newInstance().ok(competeCompany);
} }

2
mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java

@ -230,6 +230,8 @@ public class CompeteDto {
@Data @Data
@ApiModel("当前用户参赛单位基本信息") @ApiModel("当前用户参赛单位基本信息")
public static class CompeteCompany{ public static class CompeteCompany{
@ApiModelProperty("大赛id")
private Long competeTimeId;
@ApiModelProperty("参赛单位id") @ApiModelProperty("参赛单位id")
private Long companyId; private Long companyId;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")

11
mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java

@ -92,7 +92,16 @@ public class ProvinceCompeteDto {
@ApiModelProperty("单位id") @ApiModelProperty("单位id")
private Long companyId; private Long companyId;
@ApiModelProperty("选手id") @ApiModelProperty("选手id")
private List<Long> playerId; private List<JoinProjectPlayer> players;
}
@Data
@ApiModel("选手是否参加项目")
public static class JoinProjectPlayer{
@NotNull
@ApiModelProperty("选手id")
private Long playerId ;
@ApiModelProperty("是否参加此项目 0否 1是")
private int joinProject;
} }
@Data @Data

9
mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java

@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.servlet.http.Part;
import java.util.List; import java.util.List;
@ -165,12 +164,12 @@ public class ProvinceCompeteVo {
@ApiModelProperty("身份证反面照片(浏览路径)") @ApiModelProperty("身份证反面照片(浏览路径)")
private String idCardBack; private String idCardBack;
@ApiModelProperty("一寸证件照(浏览路径)") @ApiModelProperty("一寸证件照(浏览路径)")
private Long idPhone; private String idPhone;
@ApiModelProperty("学籍证明(浏览路径)") @ApiModelProperty("学籍证明(浏览路径)")
private Long studentRecord; private String studentRecord;
@ApiModelProperty("体检证明(浏览路径)") @ApiModelProperty("体检证明(浏览路径)")
private Long healthRecord; private String healthRecord;
@ApiModelProperty("保险证明(浏览路径)") @ApiModelProperty("保险证明(浏览路径)")
private Long insuranceRecord; private String insuranceRecord;
} }
} }

2
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java

@ -30,7 +30,7 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper {
* @param projectId 项目id * @param projectId 项目id
* @return 返回选手信息 * @return 返回选手信息
*/ */
List<ProvinceCompeteVo.GroupAndPlayer> queryPlayerByGroupId(@Param("companyId")Long companyId,@Param("groupId")Long groupId,@Param("projectId")Long projectId); List<ProvinceCompeteVo.GroupAndPlayer> queryPlayerByGroupId(@Param("type")int type,@Param("companyId")Long companyId,@Param("groupId")Long groupId,@Param("projectId")Long projectId);
/** /**
* 查找大赛所有的比赛项目 * 查找大赛所有的比赛项目

7
mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java

@ -53,4 +53,11 @@ public interface CompetePlayerDao extends CompetePlayerMapper {
* @return 返回成员列表 * @return 返回成员列表
*/ */
List<ProvinceCompeteVo.PlayerByCompanyId> queryPlayerByCompanyId(@Param("companyId")Long companyId); List<ProvinceCompeteVo.PlayerByCompanyId> queryPlayerByCompanyId(@Param("companyId")Long companyId);
/**
* 查找选手详细信息
* @param playerId 选手id
* @return 返回详细信息
*/
ProvinceCompeteVo.PlayerInfo getPlayerByPlayerId(@Param("playerId")Long playerId);
} }

2
mt/src/main/java/com/ccsens/mt/service/IProvinceService.java

@ -72,7 +72,7 @@ public interface IProvinceService {
* @param * @param
* @return * @return
*/ */
ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param); ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param, Long userId);
/** /**
* 添加/修改领队或教练 * 添加/修改领队或教练

233
mt/src/main/java/com/ccsens/mt/service/ProvinceService.java

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

4
mt/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: dev active: test
include: common, util-dev include: common, util-test

13
mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml

@ -50,8 +50,8 @@
if(pp.id is null and a.mId is null,0,1) as joinProject if(pp.id is null and a.mId is null,0,1) as joinProject
FROM FROM
t_compete_group cg t_compete_group cg
LEFT JOIN t_compete_player p on cg.id = p.group_id 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 = 1 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 LEFT JOIN
( SELECT ( SELECT
m.id as mId, m.id as mId,
@ -65,12 +65,13 @@
and m.rec_status = 0 and m.rec_status = 0
) a on a.mPlayerId = p.id ) a on a.mPlayerId = p.id
WHERE WHERE
p.company_id = #{companyId} cg.type = #{type}
and cg.rec_status = 0
<if test="groupId != null"> <if test="groupId != null">
AND p.compete_group_id = #{groupId} and(p.company_id = #{companyId} or p.company_id is null)
</if> </if>
and p.rec_status = 0 AND (p.compete_group_id =#{groupId} or p.compete_group_id is null)
and pp.rec_status = 0 AND (p.rec_status = 0 or p.rec_status is null)
</select> </select>
<select id="queryProjectByCompeteTimeId" resultMap="compete_project"> <select id="queryProjectByCompeteTimeId" resultMap="compete_project">
SELECT SELECT

20
mt/src/main/resources/mapper_dao/CompetePlayerDao.xml

@ -163,4 +163,24 @@
WHERE p.company_id = #{companyId} WHERE p.company_id = #{companyId}
and p.rec_status = 0 and p.rec_status = 0
</select> </select>
<select id="getPlayerByPlayerId" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$PlayerInfo">
SELECT
id as playerId,
`name` as playerName,
gender,
id_card as idCard,
company_id as competeId,
compete_group_id as groupId,
(SELECT visit_location FROM t_common_file WHERE id = id_card_front_file) as idCardFront,
(SELECT visit_location FROM t_common_file WHERE id = id_card_back_file) as idCardBack,
(SELECT visit_location FROM t_common_file WHERE id = id_photo_file) as idPhone,
(SELECT visit_location FROM t_common_file WHERE id = student_record_file) as studentRecord,
(SELECT visit_location FROM t_common_file WHERE id = health_record_file) as healthRecord,
(SELECT visit_location FROM t_common_file WHERE id = insurance_record_file) as insuranceRecord
FROM
t_compete_player
WHERE
id = #{playerId}
and rec_status = 0
</select>
</mapper> </mapper>

4
tall/src/main/resources/application.yml

@ -1,5 +1,5 @@
spring: spring:
profiles: profiles:
active: test active: dev
include: util-test,common include: util-dev,common

Loading…
Cancel
Save