diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java index b6e64ca2..afc375ca 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java @@ -27,6 +27,8 @@ public class CompeteExcelVo { public static class TeamOrderPlayerList { @ApiModelProperty("团队id") private Long teamId; + @ApiModelProperty("场次") + private String startOrder; @ApiModelProperty("单位名称") private String companyName; @ApiModelProperty("团队选手名字") @@ -69,4 +71,17 @@ public class CompeteExcelVo { private String eightNames; } + @Data + @ApiModel("出场顺序表-所有项目") + public static class Project{ + @ApiModelProperty("项目Id") + private Long projectId; + @ApiModelProperty("项目名字") + private String projectName; + @ApiModelProperty("时间") + private String startTime; + @ApiModelProperty("项目信息") + private List projectList; + } + } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java index 9cc4d6f1..66f52e62 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -166,18 +166,19 @@ public class CompeteTaskService implements ICompeteTaskService { updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); updateTaskInfo.setToken(token); - log.info("修改tall的任务信息:{}", updateTaskInfo); - JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); - log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse); - //失败return - if (ObjectUtil.isNull(normalTaskJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(normalTaskJsonResponse.getCode() != 200){ - log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); - return; - } + // TODO +// log.info("修改tall的任务信息:{}", updateTaskInfo); +// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); +// log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse); +// //失败return +// if (ObjectUtil.isNull(normalTaskJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(normalTaskJsonResponse.getCode() != 200){ +// log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); +// return; +// } } log.info("修改场次信息:{}", competeStartOrder); startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); @@ -191,22 +192,23 @@ public class CompeteTaskService implements ICompeteTaskService { addTask.setEndTime(projectStartTime + orderTime); addTask.setExecutorId(tallRoleId); addTask.setToken(token); - log.info("在tall内添加任务:{}", addTask); - JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); - //异常return - log.info("添加任务后返回:{}", normalTaskJsonResponse); - if (ObjectUtil.isNull(normalTaskJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(normalTaskJsonResponse.getCode() != 200){ - log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); - return; - } - TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); - if (ObjectUtil.isNotNull(normalTask)) { - taskId = normalTask.getDetailId(); - } + // TODO +// log.info("在tall内添加任务:{}", addTask); +// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); +// //异常return +// log.info("添加任务后返回:{}", normalTaskJsonResponse); +// if (ObjectUtil.isNull(normalTaskJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(normalTaskJsonResponse.getCode() != 200){ +// log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); +// return; +// } +// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); +// if (ObjectUtil.isNotNull(normalTask)) { +// taskId = normalTask.getDetailId(); +// } //添加出场顺序信息 CompeteStartOrder competeStartOrder = new CompeteStartOrder(); competeStartOrder.setId(snowflake.nextId()); @@ -230,187 +232,6 @@ public class CompeteTaskService implements ICompeteTaskService { } } } -// //判断是团队还是个人项目 -// if (project.getTeam() == 0) { -// //个人项目查找所有参赛信息 -// CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); -// projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId()); -// List projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); -// -// if (CollectionUtil.isNotEmpty(projectPlayerList)) { -// //计算场次 -// int order = (int) Math.ceil(projectPlayerList.size() / projectConfig.getSiteNum()); -// //计算每个场次时间 -// long projectStartTime = projectConfig.getStartTime(); -// long orderTime = 0; -// if(order != 0) { -// orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); -// }else { -// log.info("场次为0的比赛:{}------{}",project,projectConfig); -// } -// //场次 -// int competeOrder = 1; -// //场地 -// int site = 1; -// for (CompeteProjectPlayer projectPlayer : projectPlayerList) { -// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); -// startOrderExample.createCriteria().andPlayerIdEqualTo(projectPlayer.getId()).andProjectIdEqualTo(project.getId()); -// List startOrderList = startOrderMapper.selectByExample(startOrderExample); -// if(CollectionUtil.isNotEmpty(startOrderList)){ -// CompeteStartOrder competeStartOrder = startOrderList.get(0); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// // 修改tall的任务 -// TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); -// updateTaskInfo.setId(competeStartOrder.getId()); -// updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); -// updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); -// updateTaskInfo.setToken(token); -// log.info("修改tall的任务信息:{}",updateTaskInfo); -// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); -// log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); -// //失败return -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ -// return; -// } -// } -// startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); -// -// }else{ -// //添加tall的任务 -// Long taskId = null; -// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); -// addTask.setProjectId(tallProjectId); -// addTask.setTaskName(project.getName() + competeOrder +"-" + site); -// addTask.setBeginTime(projectStartTime); -// addTask.setEndTime(projectStartTime + orderTime); -// addTask.setExecutorId(tallRoleId); -// addTask.setToken(token); -// log.info("在tall内添加任务:{}",addTask); -// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); -// //异常return -// log.info("添加任务后返回:{}",normalTaskJsonResponse); -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { -// return; -// } -// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); -// if (ObjectUtil.isNotNull(normalTask)) { -// taskId = normalTask.getDetailId(); -// } -// //添加出场顺序信息 -// CompeteStartOrder competeStartOrder = new CompeteStartOrder(); -// competeStartOrder.setId(snowflake.nextId()); -// competeStartOrder.setProjectId(project.getId()); -// competeStartOrder.setPlayerId(projectPlayer.getId()); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setTeam((byte) 0); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// startOrderMapper.insertSelective(competeStartOrder); -// } -// site++; -// if(site > projectConfig.getSiteNum()){ -// site = 1; -// competeOrder++; -// projectStartTime += orderTime; -// } -// } -// } -// } else { -// //团体项目查找所有参赛队伍 -// CompeteTeamExample teamExample = new CompeteTeamExample(); -// teamExample.createCriteria().andProjectIdEqualTo(project.getId()); -// List teamList = competeTeamDao.selectByExample(teamExample); -// if(CollectionUtil.isNotEmpty(teamList)){ -// //计算场次 -// int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum()); -// //计算每个场次时间 -// long projectStartTime = projectConfig.getStartTime(); -// long orderTime = 0; -// if(order != 0) { -// orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); -// } -// //场次 -// int competeOrder = 1; -// //场地 -// int site = 1; -// for (CompeteTeam competeTeam : teamList) { -// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); -// startOrderExample.createCriteria().andPlayerIdEqualTo(competeTeam.getId()).andProjectIdEqualTo(project.getId()); -// List startOrderList = startOrderMapper.selectByExample(startOrderExample); -// if(CollectionUtil.isNotEmpty(startOrderList)){ -// CompeteStartOrder competeStartOrder = startOrderList.get(0); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// //修改tall的任务 -// TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); -// updateTaskInfo.setId(competeStartOrder.getId()); -// updateTaskInfo.setBeginTime(competeStartOrder.getId()); -// updateTaskInfo.setBeginTime(competeStartOrder.getEndTime()); -// updateTaskInfo.setToken(token); -// log.info("修改tall的任务信息:{}",updateTaskInfo); -// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); -// log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); -// //失败return -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ -// return; -// } -// } -// startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); -// -// }else{ -// //添加tall的任务 -// Long taskId = null; -// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); -// addTask.setProjectId(tallProjectId); -// addTask.setTaskName(project.getName() + competeOrder +"-" + site); -// addTask.setBeginTime(projectStartTime); -// addTask.setEndTime(projectStartTime + orderTime); -// addTask.setExecutorId(tallRoleId); -// addTask.setToken(token); -// log.info("在tall内添加任务:{}",addTask); -// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); -// log.info("添加任务后返回:{}",normalTaskJsonResponse); -// //异常return -// log.info("添加任务后返回:{}",normalTaskJsonResponse); -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { -// return; -// } -// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); -// if (ObjectUtil.isNotNull(normalTask)) { -// taskId = normalTask.getDetailId(); -// } -// //添加出场顺序信息 -// CompeteStartOrder competeStartOrder = new CompeteStartOrder(); -// competeStartOrder.setId(snowflake.nextId()); -// competeStartOrder.setProjectId(project.getId()); -// competeStartOrder.setPlayerId(competeTeam.getId()); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setTeam((byte) 0); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// startOrderMapper.insertSelective(competeStartOrder); -// } -// site++; -// if(site > projectConfig.getSiteNum()){ -// site = 1; -// competeOrder++; -// projectStartTime += orderTime; -// } -// } -// } -// } -// } } } @@ -463,39 +284,6 @@ public class CompeteTaskService implements ICompeteTaskService { } } } -// -// projectJudgment.getSiteList().forEach(site-> judgmentMap.put(site.getSiteNum(),site.getSiteNum())); -// for (int i = 0; i < projectJudgment.getSiteNums(); i++) { -// if (i < projectJudgment.getSiteList().size()) { -// ProvinceCompeteVo.ProjectSite siteJudgment = projectJudgment.getSiteList().get(i); -// if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) { -// siteJudgment.setJudgmentList(new ArrayList<>()); -// }else { -// siteJudgment.getJudgmentList().forEach(judgment -> siteMap.put(judgment.getJudgmentNum(),judgment.getJudgmentNum())); -// } -// for (int j = 0; j < count; j++) { -// if(siteMap.get(j) == null) { -// ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment(); -// siteJudgment1.setJudgmentNum(j); -// siteJudgment.getJudgmentList().add(siteJudgment1); -// } -// } -// CollectionUtil.sort(siteJudgment.getJudgmentList(), Comparator.comparingInt(ProvinceCompeteVo.SiteJudgment::getJudgmentNum)); -// } else { -// int a = projectJudgment.getSiteList().size(); -// for (int j = 0; j < projectJudgment.getSiteNums(); j++) { -// ProvinceCompeteVo.ProjectSite siteJudgment = new ProvinceCompeteVo.ProjectSite(); -// siteJudgment.setSiteNum(a + j + 1); -// projectJudgment.getSiteList().add(siteJudgment); -// int b = siteJudgment.getJudgmentList().size(); -// for (int x = 0; x < count - b; x++) { -// ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment(); -// siteJudgment1.setJudgmentNum(b + x); -// siteJudgment.getJudgmentList().add(siteJudgment1); -// } -// } -// } -// } }); } return queryJudgmentList; @@ -555,159 +343,160 @@ public class CompeteTaskService implements ICompeteTaskService { //修改成员 //修改任务 } else { - //添加角色 - MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); - saveRole.setProjectId(tallProjectId); - String jdgmentNum = ""; - if (judgmentInfo.getJudgmentNum() == 0) { - jdgmentNum = "主裁判"; - } else { - jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum(); - } - saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum); - Long roleId = null; - saveRole.setToken(token); - log.info("在tall内添加角色:{}", saveRole); - JsonResponse roleJsonResponse = tallFeignClient.saveRole(saveRole); - log.info("添加角色后返回:{}", roleJsonResponse); - //失败return - if (ObjectUtil.isNull(roleJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if( roleJsonResponse.getCode() != 200) { - log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg()); - return; - } - MemberVo.RoleInfo roleInfo = roleJsonResponse.getData(); - if (ObjectUtil.isNotNull(roleInfo)) { - roleId = roleInfo.getRoleId(); - } - //添加成员 - MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember(); - saveMember.setMemberName(judgmentInfo.getJudgmentName()); - saveMember.setProjectId(tallProjectId); - saveMember.setPhone(judgmentInfo.getJudgmentPhone()); - saveMember.setRoleId(Arrays.asList(roleId)); - saveMember.setToken(token); - log.info("在tall内添加成员:{}", saveMember); - JsonResponse memberJsonResponse = tallFeignClient.saveMember(saveMember); - log.info("添加成员后返回:{}", memberJsonResponse); - //如果成员已存在,查询成员信息然后添加至角色内 - Long memberId = null; - Long userId = null; - //失败return - if (ObjectUtil.isNull(memberJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){ - log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); - return; - } - if(roleJsonResponse.getCode() == 200){ - MemberVo.Member member = memberJsonResponse.getData(); - if(ObjectUtil.isNotNull(member)){ - userId = member.getUserId(); - } - } - //code等于21代表成员已存在 - if (memberJsonResponse.getCode() == 21) { - log.info("该成员已存在:{}", memberJsonResponse.getMsg()); - //查询该手机号在项目内的成员的id - MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone(); - getMemberByPhone.setProjectId(tallProjectId); - getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone()); - getMemberByPhone.setToken(token); - log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone()); - JsonResponse memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone); - log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse); - //失败return - if (ObjectUtil.isNull(memberListJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(memberListJsonResponse.getCode() != 200){ - log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); - return; - } - - MemberVo.MemberList memberList = memberListJsonResponse.getData(); - if (ObjectUtil.isNotNull(memberList)) { - memberId = memberList.getMemberId(); - userId = memberList.getUserId(); - } - - //将该成员添加至角色下 - if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) { - MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole(); - saveMemberInRole.setRoleId(roleId); - saveMemberInRole.setMemberId(memberId); - saveMemberInRole.setToken(token); - log.info("将该成员添加至角色内"); - JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole); - if (ObjectUtil.isNull(jsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(jsonResponse.getCode() != 200){ - log.info("调用tall异常后返回:{}", jsonResponse.getMsg()); - return; - } - } - } - - //添加任务 - //查找场次信息表 - CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); - startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()) - .andSiteEqualTo((byte) siteJudgment.getSite()); - List startOrderList = startOrderMapper.selectByExample(startOrderExample); - if (CollectionUtil.isNotEmpty(startOrderList)) { - for (CompeteStartOrder startOrder : startOrderList) { - TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); - addTask.setProjectId(tallProjectId); - addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-" - + startOrder.getSite() + "-" + jdgmentNum); - addTask.setBeginTime(startOrder.getStartTime()); - addTask.setEndTime(startOrder.getEndTime()); - addTask.setExecutorId(roleId); - addTask.setParentTaskId(startOrder.getTaskId()); - addTask.setToken(token); - log.info("在tall内添加任务:{}", addTask); - JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); - log.info("添加任务后返回:{}", normalTaskJsonResponse); - if (ObjectUtil.isNull(normalTaskJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(normalTaskJsonResponse.getCode() != 200){ - log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); - return; - } - if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { - TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); - if (ObjectUtil.isNotNull(normalTask)) { - //修改任务插件配置信息 - TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig(); - updatePluginConfig.setWebPath("/home/osct/video-score"); - updatePluginConfig.setTaskId(normalTask.getDetailId()); - updatePluginConfig.setToken(token); - log.info("修改tall内任务插件配置:{}", updatePluginConfig); - JsonResponse pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig); - log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse); - if (ObjectUtil.isNull(pluginVoJsonResponse)) { - log.info("调用tall返回null"); - return; - } - if(pluginVoJsonResponse.getCode() != 200){ - log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg()); - return; - } - } - } - } - } + // TODO +// //添加角色 +// MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); +// saveRole.setProjectId(tallProjectId); +// String jdgmentNum = ""; +// if (judgmentInfo.getJudgmentNum() == 0) { +// jdgmentNum = "主裁判"; +// } else { +// jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum(); +// } +// saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum); +// Long roleId = null; +// saveRole.setToken(token); +// log.info("在tall内添加角色:{}", saveRole); +// JsonResponse roleJsonResponse = tallFeignClient.saveRole(saveRole); +// log.info("添加角色后返回:{}", roleJsonResponse); +// //失败return +// if (ObjectUtil.isNull(roleJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if( roleJsonResponse.getCode() != 200) { +// log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg()); +// return; +// } +// MemberVo.RoleInfo roleInfo = roleJsonResponse.getData(); +// if (ObjectUtil.isNotNull(roleInfo)) { +// roleId = roleInfo.getRoleId(); +// } +// //添加成员 +// MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember(); +// saveMember.setMemberName(judgmentInfo.getJudgmentName()); +// saveMember.setProjectId(tallProjectId); +// saveMember.setPhone(judgmentInfo.getJudgmentPhone()); +// saveMember.setRoleId(Arrays.asList(roleId)); +// saveMember.setToken(token); +// log.info("在tall内添加成员:{}", saveMember); +// JsonResponse memberJsonResponse = tallFeignClient.saveMember(saveMember); +// log.info("添加成员后返回:{}", memberJsonResponse); +// //如果成员已存在,查询成员信息然后添加至角色内 +// Long memberId = null; +// Long userId = null; +// //失败return +// if (ObjectUtil.isNull(memberJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){ +// log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); +// return; +// } +// if(roleJsonResponse.getCode() == 200){ +// MemberVo.Member member = memberJsonResponse.getData(); +// if(ObjectUtil.isNotNull(member)){ +// userId = member.getUserId(); +// } +// } +// //code等于21代表成员已存在 +// if (memberJsonResponse.getCode() == 21) { +// log.info("该成员已存在:{}", memberJsonResponse.getMsg()); +// //查询该手机号在项目内的成员的id +// MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone(); +// getMemberByPhone.setProjectId(tallProjectId); +// getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone()); +// getMemberByPhone.setToken(token); +// log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone()); +// JsonResponse memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone); +// log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse); +// //失败return +// if (ObjectUtil.isNull(memberListJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(memberListJsonResponse.getCode() != 200){ +// log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); +// return; +// } +// +// MemberVo.MemberList memberList = memberListJsonResponse.getData(); +// if (ObjectUtil.isNotNull(memberList)) { +// memberId = memberList.getMemberId(); +// userId = memberList.getUserId(); +// } +// +// //将该成员添加至角色下 +// if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) { +// MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole(); +// saveMemberInRole.setRoleId(roleId); +// saveMemberInRole.setMemberId(memberId); +// saveMemberInRole.setToken(token); +// log.info("将该成员添加至角色内"); +// JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole); +// if (ObjectUtil.isNull(jsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(jsonResponse.getCode() != 200){ +// log.info("调用tall异常后返回:{}", jsonResponse.getMsg()); +// return; +// } +// } +// } +// +// //添加任务 +// //查找场次信息表 +// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); +// startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()) +// .andSiteEqualTo((byte) siteJudgment.getSite()); +// List startOrderList = startOrderMapper.selectByExample(startOrderExample); +// if (CollectionUtil.isNotEmpty(startOrderList)) { +// for (CompeteStartOrder startOrder : startOrderList) { +// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); +// addTask.setProjectId(tallProjectId); +// addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-" +// + startOrder.getSite() + "-" + jdgmentNum); +// addTask.setBeginTime(startOrder.getStartTime()); +// addTask.setEndTime(startOrder.getEndTime()); +// addTask.setExecutorId(roleId); +// addTask.setParentTaskId(startOrder.getTaskId()); +// addTask.setToken(token); +// log.info("在tall内添加任务:{}", addTask); +// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); +// log.info("添加任务后返回:{}", normalTaskJsonResponse); +// if (ObjectUtil.isNull(normalTaskJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(normalTaskJsonResponse.getCode() != 200){ +// log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); +// return; +// } +// if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { +// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); +// if (ObjectUtil.isNotNull(normalTask)) { +// //修改任务插件配置信息 +// TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig(); +// updatePluginConfig.setWebPath("/home/osct/video-score"); +// updatePluginConfig.setTaskId(normalTask.getDetailId()); +// updatePluginConfig.setToken(token); +// log.info("修改tall内任务插件配置:{}", updatePluginConfig); +// JsonResponse pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig); +// log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse); +// if (ObjectUtil.isNull(pluginVoJsonResponse)) { +// log.info("调用tall返回null"); +// return; +// } +// if(pluginVoJsonResponse.getCode() != 200){ +// log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg()); +// return; +// } +// } +// } +// } +// } //添加裁判 competeJudgment = new CompeteJudgment(); competeJudgment.setId(snowflake.nextId()); @@ -718,9 +507,9 @@ public class CompeteTaskService implements ICompeteTaskService { competeJudgment.setProjectId(project.getId()); competeJudgment.setSite(siteJudgment.getSite()); competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); - competeJudgment.setRoleId(roleId); - competeJudgment.setMemberId(memberId); - competeJudgment.setUserId(userId); +// competeJudgment.setRoleId(roleId); +// competeJudgment.setMemberId(memberId); +// competeJudgment.setUserId(userId); competeJudgmentDao.insertSelective(competeJudgment); } diff --git a/mt/src/main/resources/application-common.yml b/mt/src/main/resources/application-common.yml index 40efee80..b870f11f 100644 --- a/mt/src/main/resources/application-common.yml +++ b/mt/src/main/resources/application-common.yml @@ -25,6 +25,6 @@ spring: max-file-size: 10MB max-request-size: 100MB snowflake: - datacenterId: 1 - workerId: 1 + datacenterId: 2 + workerId: 2 diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 4ecd13fd..b9b264a7 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: common, util-dev + active: prod + include: common, util-prod diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java index 2f99736e..3496c018 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java @@ -10,6 +10,7 @@ import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @Data public class TaskDto { @@ -45,6 +46,38 @@ public class TaskDto { private TaskRemindByAdd taskRemind; } + @ApiModel("批量添加任务") + @Data + public static class AddTaskList { + @NotNull(message = "任务id不能为空") + @ApiModelProperty("任务id") + private Long id; + @NotNull(message = "项目id不能为空") + @ApiModelProperty("关联项目Id") + private Long projectId; + @ApiModelProperty("关联的任务id(detailId)") + private Long parentId; + @ApiModelProperty("任务名称") + @NotEmpty(message = "任务名不能为空") + private String name; + @ApiModelProperty("任务描述") + private String description; + @ApiModelProperty("负责人id") + @NotNull(message = "请选择负责人") + private Long executorRole; + @ApiModelProperty("开始时间") + private Long beginTime; + @ApiModelProperty("结束时间") + private Long endTime; + @ApiModelProperty("重复周期") + private String cycle; + @ApiModelProperty("交付物") + private String taskDeliver; + @ApiModelProperty("任务等级") + private Byte level; + + } + @Data @ApiModel("添加时设置任务提醒") public static class TaskRemindByAdd{ diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index a59e7fef..69fa31fa 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -53,4 +53,16 @@ public interface TaskDetailDao extends ProTaskDetailMapper { * @return */ List getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime); + +// /** +// * 批量添加任务详情表 +// * @param taskDetailList +// */ +// void saveTaskList(List taskDetailList); +// +// /** +// * 批量添加subtime +// * @param subList +// */ +// void saveSubTimeTaskList(List subList); } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index 536d849a..0d9b5653 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -15,6 +15,7 @@ import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.util.TallConstant; import com.ccsens.util.CodeEnum; import com.ccsens.util.JacksonUtil; +import com.ccsens.util.TransactionUtil; import com.ccsens.util.WebConstant; import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.MessageConstant; @@ -492,6 +493,131 @@ public class TaskSubTimeService implements ITaskSubTimeService { } + /** + * 批量添加任务 + */ +// @Override + public void addTaskList(Long currentUserId, List addTaskList) throws Exception { + if(CollectionUtil.isEmpty(addTaskList)){ + return; + } + List taskDetailList = new ArrayList<>(); + List proTaskSubTimeList = new ArrayList<>(); + addTaskList.forEach(addTask -> { + if(!(ObjectUtil.isNotNull(addTask.getBeginTime()) && ObjectUtil.isNotNull(addTask.getEndTime())) && StrUtil.isEmpty(addTask.getCycle())){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } + ProTaskDetail detail = new ProTaskDetail(); + BeanUtil.copyProperties(addTask,detail); +// taskDetailDao.insertSelective(detail); + taskDetailList.add(detail); + //cycle为空,只加一条数据 + if (StrUtil.isEmpty(detail.getCycle())) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(detail.getId()); + proTaskSubTime.setBeginTime(detail.getBeginTime()); + proTaskSubTime.setEndTime(detail.getEndTime()); +// taskSubTimeDao.insertSelective(proTaskSubTime); + proTaskSubTimeList.add(proTaskSubTime); + } else { + Date startDate = new Date(detail.getBeginTime()); + Date endDate = new Date(detail.getEndTime()); + List taskDateList = + NatureToDate.generateDates(detail.getCycle(), startDate, endDate); + if (CollectionUtil.isNotEmpty(taskDateList)) { + for (CronConstant.TaskDate taskDate : taskDateList) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(detail.getId()); + proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); + proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); +// taskSubTimeDao.insertSelective(proTaskSubTime); + proTaskSubTimeList.add(proTaskSubTime); + } + } + } + }); +// for (int i = 0; i < taskDetailList.size(); i+=100) { +// int end = Math.min(i + 100, taskDetailList.size()); +// TransactionStatus transactionStatus = TransactionUtil.getTransactionStatus(transactionManager); +// taskDetailDao.saveTaskList(taskDetailList.subList(i, end)); +// transactionManager.commit(transactionStatus); +// } +// for (int i = 0; i < proTaskSubTimeList.size(); i+=100) { +// int end = Math.min(i + 100, taskDetailList.size()); +// TransactionStatus transactionStatus = TransactionUtil.getTransactionStatus(transactionManager); +// taskDetailDao.saveSubTimeTaskList(proTaskSubTimeList.subList(i, end)); +// transactionManager.commit(transactionStatus); +// } +// taskDetailDao.saveTaskList(taskDetailList); + //批量添加 +// SysProject project; +// if (ObjectUtil.isNotNull(addTask.getProjectId())) { +// project = sysProjectDao.selectByPrimaryKey(addTask.getProjectId()); +// if (ObjectUtil.isNotNull(project)) { +// detail.setProjectId(addTask.getProjectId()); +// detail.setBeginTime(project.getBeginTime()); +// detail.setEndTime(project.getEndTime()); +// detail.setLevel((byte) 2); +// } else { +// throw new BaseException("项目信息不正确"); +// } +// } else { +// throw new BaseException(CodeEnum.PARAM_ERROR); +// } +// if (ObjectUtil.isNotNull(addTask.getParentTaskId())) { +// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(addTask.getParentTaskId()); +// if (ObjectUtil.isNotNull(taskDetail)) { +// detail.setBeginTime(taskDetail.getBeginTime()); +// detail.setEndTime(taskDetail.getEndTime()); +// detail.setLevel((byte) (taskDetail.getLevel() + 1)); +//// if (taskDetail.getLevel() == 1) { +//// detail.setBeginTime(System.currentTimeMillis()); +//// detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime()); +//// } +// } else { +// throw new BaseException("任务信息不正确"); +// } +// } else { +// detail.setLevel((byte) 1); +// } +// if (ObjectUtil.isNotNull(addTask.getBeginTime())) { +// detail.setBeginTime(addTask.getBeginTime()); +// } +// if (ObjectUtil.isNotNull(addTask.getEndTime())) { +// detail.setEndTime(addTask.getEndTime()); +// } + +// //修改项目时间 +// if (ObjectUtil.isNotNull(addTask.getProjectId())) { +// if (ObjectUtil.isNotNull(project)) { +// if (detail.getBeginTime() < project.getBeginTime()) { +// project.setBeginTime(detail.getBeginTime()); +// } +// if (detail.getEndTime() > project.getEndTime()) { +// project.setEndTime(detail.getEndTime()); +// } +// sysProjectDao.updateByPrimaryKeySelective(project); +// } +// } + //TaskSubTime + + + +// //交付物 +// if (StrUtil.isNotEmpty(addTask.getTaskDeliver())) { +// ProTaskDeliver deliver = new ProTaskDeliver(); +// deliver.setId(snowflake.nextId()); +// deliver.setTaskDetailId(detail.getId()); +// deliver.setName(addTask.getTaskDeliver()); +// deliver.setIsInput(0); +// taskDeliverDao.insertSelective(deliver); +// } + } + + + /** * 清空项目下所有任务的实际开始结束时间,和运行状态 * @param projectId 项目id diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b5408a3a..e75cc2c3 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: util-dev,common + active: prod + include: util-prod,common diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index 323ed68f..76c06b71 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -57,6 +57,7 @@ +