|
|
@ -80,9 +80,9 @@ public class CompeteTaskService implements ICompeteTaskService{ |
|
|
|
} |
|
|
|
param.getUpdateCompeteTaskList().forEach(projectConfig -> { |
|
|
|
//判断时间和时长是否正确
|
|
|
|
if(ObjectUtil.isNotNull(projectConfig.getStartTime()) || projectConfig.getStartTime() == 0 |
|
|
|
|| ObjectUtil.isNotNull(projectConfig.getEndTime()) || projectConfig.getEndTime() == 0 || |
|
|
|
ObjectUtil.isNotNull(projectConfig.getDuration()) || projectConfig.getDuration() == 0){ |
|
|
|
if(ObjectUtil.isNull(projectConfig.getStartTime()) || projectConfig.getStartTime() == 0 |
|
|
|
|| ObjectUtil.isNull(projectConfig.getEndTime()) || projectConfig.getEndTime() == 0 || |
|
|
|
ObjectUtil.isNull(projectConfig.getDuration()) || projectConfig.getDuration() == 0){ |
|
|
|
return; |
|
|
|
} |
|
|
|
//获取项目
|
|
|
@ -103,6 +103,7 @@ public class CompeteTaskService implements ICompeteTaskService{ |
|
|
|
competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime()); |
|
|
|
competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime()); |
|
|
|
projectConfigDao.updateByPrimaryKeySelective(competeProjectConfig); |
|
|
|
log.info("修改比赛日程配置:{}",competeProjectConfig); |
|
|
|
}else { |
|
|
|
//没有则添加
|
|
|
|
competeProjectConfig = new CompeteProjectConfig(); |
|
|
@ -113,6 +114,7 @@ public class CompeteTaskService implements ICompeteTaskService{ |
|
|
|
competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime()); |
|
|
|
competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime()); |
|
|
|
projectConfigDao.insertSelective(competeProjectConfig); |
|
|
|
log.info("添加比赛日程配置:{}",competeProjectConfig); |
|
|
|
} |
|
|
|
//生成出场顺序表,存入数据库。在tall内添加对应的任务
|
|
|
|
setStartOrder(competeProjectConfig,param.getProjectId(),param.getTallRoleId(),token); |
|
|
@ -129,188 +131,276 @@ public class CompeteTaskService implements ICompeteTaskService{ |
|
|
|
CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); |
|
|
|
if (ObjectUtil.isNotNull(project)) { |
|
|
|
//查询项目下的参赛人数或队伍
|
|
|
|
// List<Long> projectPlayerIdList = competeProjectDao.queryJoinNum(project.getId());
|
|
|
|
//判断是团队还是个人项目
|
|
|
|
if (project.getTeam() == 0) { |
|
|
|
//个人项目查找所有参赛信息
|
|
|
|
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); |
|
|
|
projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId()); |
|
|
|
List<CompeteProjectPlayer> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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); |
|
|
|
List<Long> playerIdOrTeamIdList = competeProjectDao.queryJoinNum(project.getTeam(),project.getId()); |
|
|
|
log.info("本项目参加的人数:{}",playerIdOrTeamIdList); |
|
|
|
if (CollectionUtil.isNotEmpty(playerIdOrTeamIdList)) { |
|
|
|
//计算场次
|
|
|
|
int order = (int) Math.ceil(playerIdOrTeamIdList.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 (Long playerIdOrTeamId : playerIdOrTeamIdList) { |
|
|
|
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); |
|
|
|
startOrderExample.createCriteria().andPlayerIdEqualTo(playerIdOrTeamId).andProjectIdEqualTo(project.getId()); |
|
|
|
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample); |
|
|
|
log.info("当前选手或团队参加的场次信息:{}",startOrderList); |
|
|
|
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); |
|
|
|
startOrderMapper.insertSelective(competeStartOrder); |
|
|
|
} |
|
|
|
site++; |
|
|
|
if(site > projectConfig.getSiteNum()){ |
|
|
|
site = 1; |
|
|
|
competeOrder++; |
|
|
|
projectStartTime += orderTime; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
//团体项目查找所有参赛队伍
|
|
|
|
CompeteTeamExample teamExample = new CompeteTeamExample(); |
|
|
|
teamExample.createCriteria().andProjectIdEqualTo(project.getId()); |
|
|
|
List<CompeteTeam> teamList = competeTeamDao.selectByExample(teamExample); |
|
|
|
if(CollectionUtil.isNotEmpty(teamList)){ |
|
|
|
//计算场次
|
|
|
|
int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum()); |
|
|
|
//计算每个场次时间
|
|
|
|
long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME; |
|
|
|
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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask); |
|
|
|
log.info("添加任务后返回:{}",normalTaskJsonResponse); |
|
|
|
//异常return
|
|
|
|
log.info("添加任务后返回:{}",normalTaskJsonResponse); |
|
|
|
if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { |
|
|
|
// 修改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<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); |
|
|
|
log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); |
|
|
|
//失败return
|
|
|
|
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; |
|
|
|
log.info("修改场次信息:{}",competeStartOrder); |
|
|
|
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<TaskVo.NormalTask> 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(playerIdOrTeamId); |
|
|
|
competeStartOrder.setSite((byte) site); |
|
|
|
competeStartOrder.setTeam((byte) 0); |
|
|
|
competeStartOrder.setCompeteOrder((byte) competeOrder); |
|
|
|
competeStartOrder.setTaskId(taskId); |
|
|
|
competeStartOrder.setStartTime(projectStartTime); |
|
|
|
competeStartOrder.setEndTime(projectStartTime + orderTime); |
|
|
|
log.info("添加场次信息:{}",competeStartOrder); |
|
|
|
startOrderMapper.insertSelective(competeStartOrder); |
|
|
|
} |
|
|
|
site++; |
|
|
|
if(site > projectConfig.getSiteNum()){ |
|
|
|
site = 1; |
|
|
|
competeOrder++; |
|
|
|
projectStartTime += orderTime; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// //判断是团队还是个人项目
|
|
|
|
// if (project.getTeam() == 0) {
|
|
|
|
// //个人项目查找所有参赛信息
|
|
|
|
// CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample();
|
|
|
|
// projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId());
|
|
|
|
// List<CompeteProjectPlayer> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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<CompeteTeam> teamList = competeTeamDao.selectByExample(teamExample);
|
|
|
|
// if(CollectionUtil.isNotEmpty(teamList)){
|
|
|
|
// //计算场次
|
|
|
|
// int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum());
|
|
|
|
// //计算每个场次时间
|
|
|
|
// long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME;
|
|
|
|
// 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -428,7 +518,6 @@ public class CompeteTaskService implements ICompeteTaskService{ |
|
|
|
competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); |
|
|
|
competeJudgmentDao.insertSelective(competeJudgment); |
|
|
|
|
|
|
|
|
|
|
|
//添加角色
|
|
|
|
MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); |
|
|
|
saveRole.setProjectId(tallProjectId); |
|
|
@ -522,6 +611,9 @@ public class CompeteTaskService implements ICompeteTaskService{ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
competeJudgment.setRoleId(roleId); |
|
|
|
competeJudgment.setMemberId(memberId); |
|
|
|
competeJudgmentDao.updateByPrimaryKeySelective(competeJudgment); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|