diff --git a/backend/src/views/competition/components/task.vue b/backend/src/views/competition/components/task.vue index cc8a753..bdfed7b 100644 --- a/backend/src/views/competition/components/task.vue +++ b/backend/src/views/competition/components/task.vue @@ -178,7 +178,7 @@
+ 搜索 添加团队 批量导入 - + + 复制团队及队员
@@ -237,6 +239,7 @@ export default { }, data(){ return { + toTeamId: 0, dialogVisable: false, stageColor: [ '#1490ce', @@ -354,6 +357,26 @@ export default { this.listMember2() }, methods: { + copyTeam(){ + if(this.toTeamId>0){ + teamApi.copyTeam(this.cmpId, this.toTeamId ).then(res=>{ + this.$notify({ + title: '提示信息', + message: res.msg, + type: 'warning', + duration: 2000 + }) + }) + + }else{ + this.$notify({ + title: '提示信息', + message: "请先设置新大赛ID", + type: 'warning', + duration: 2000 + }) + } + }, changeTab(index,id){ this.tabId = index this.stageId = id diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/CompetitionTeamController.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/CompetitionTeamController.java index dca564b..bb8a2b0 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/CompetitionTeamController.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/CompetitionTeamController.java @@ -7,10 +7,7 @@ import com.tz.platform.competitiion.pc.dto.PageTeamDTO; import com.tz.platform.competitiion.pc.dto.PageTeamMemberDTO; import com.tz.platform.competitiion.pc.vo.*; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @RequestMapping(value = "/pc/competition/team") @@ -49,5 +46,9 @@ public class CompetitionTeamController extends BaseController { return teamBiz.listTeamMember(vo); } + @GetMapping(value = "copy" ) + public Result copyTeamAndMemberToCompeition(@RequestParam("from") Long from,@RequestParam("to") Long to){ + return teamBiz.copyTeamAndMemberToCompetion(from,to); + } } diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java index 2d8b948..2e2f3ac 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/PCCompetitionBiz.java @@ -62,7 +62,9 @@ public class PCCompetitionBiz { competition.setStageList(vo.getStageList()); } - + if(competition.getStageList()==null| competition.getStageList().size() ==0 ){ + return Result.error("赛段不能为空"); + } Date startTime=competition.getStageList().get(0).getStartTime(); Date endTime =competition.getStageList().get(competition.getStageList().size()-1).getEndTime(); Stage signupStage = competition.getStageList().stream().filter(stage -> stage.isEnableSignUp()).findFirst().orElse(null); diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/TeamBiz.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/TeamBiz.java index a3cadbf..d1361f9 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/TeamBiz.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/pc/biz/TeamBiz.java @@ -5,6 +5,7 @@ import com.tz.platform.common.core.bo.MemberInfo; import com.tz.platform.competitiion.pc.dto.PageTeamDTO; import com.tz.platform.competitiion.pc.dto.PageTeamMemberDTO; import com.tz.platform.competitiion.pc.vo.*; +import com.tz.platform.entity.Competition; import com.tz.platform.entity.CompetitionMember; import com.tz.platform.entity.CompetitionTeam; import com.tz.platform.feign.user.IFeignUser; @@ -253,4 +254,30 @@ public class TeamBiz { return Result.success(dto); } + + public Result copyTeamAndMemberToCompetion(Long from,Long to){ + List teamList = teamDao.findAllByCompetitionId(from); + teamList.forEach(team->{ + Integer teamId = team.getId(); + team.setId(null); + team.setCompetitionId(to); + CompetitionTeam newTeam = teamDao.save(team); + List memberList = memberDao.findAllByTeamId(teamId); + memberList.forEach(m->{ + CompetitionMember member = new CompetitionMember(); + member.setLevelId(m.getLevelId()); + member.setName(m.getName()); + member.setSchool(m.getSchool()); + member.setStudentNo(m.getStudentNo()); + member.setTeacher(m.getTeacher()); + member.setTeamId(newTeam.getId()); + member.setTeamName(newTeam.getTeamName()); + member.setUserId(m.getUserId()); + member.setProvinceId(m.getProvinceId()); + member.setCompetitionId(to); + memberDao.save(member); + }); + }); + return Result.error("操作成功"); + } } diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java index af26567..43147d5 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java @@ -26,8 +26,12 @@ public interface CompetitionMemberDao extends JpaRepository findAllByUserIdAndCompetitionIdAndStageIdIn(Long userId,Long compId,List stageId); + List findAllByTeamId(Integer teamId); + Page findAllByCompetitionIdAndStageId(Long cmpid, Integer stageId , Pageable pageable); + + Page findAllByStudentNoOrName(String studentNo,String name,Pageable pageable); int countByCompetitionId(Long competitionId); diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionTeamDao.java b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionTeamDao.java index 2652166..7a86054 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionTeamDao.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionTeamDao.java @@ -16,6 +16,7 @@ public interface CompetitionTeamDao extends JpaRepository findAllByCompetitionId(Long cmpid); List findAllByTeamName(String teamName); int countByCompetitionId(Long competitionId); List findAllByTeamNameAndSchoolAndCompetitionIdAndStageId(String teamName,String school,Long compId,Integer stageId);