Browse Source

20201125v1.1

tiaosheng
zy_Java 5 years ago
parent
commit
7b38abbf12
  1. 15
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java
  2. 585
      mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java
  3. 4
      mt/src/main/resources/application-common.yml
  4. 4
      mt/src/main/resources/application.yml
  5. 33
      tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
  6. 12
      tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java
  7. 126
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java
  8. 4
      tall/src/main/resources/application.yml
  9. 1
      tall/src/main/resources/mapper_dao/TaskDetailDao.xml

15
mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java

@ -27,6 +27,8 @@ public class CompeteExcelVo {
public static class TeamOrderPlayerList { public static class TeamOrderPlayerList {
@ApiModelProperty("团队id") @ApiModelProperty("团队id")
private Long teamId; private Long teamId;
@ApiModelProperty("场次")
private String startOrder;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String companyName; private String companyName;
@ApiModelProperty("团队选手名字") @ApiModelProperty("团队选手名字")
@ -69,4 +71,17 @@ public class CompeteExcelVo {
private String eightNames; 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<TeamOrderPlayer> projectList;
}
} }

585
mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java

@ -166,18 +166,19 @@ public class CompeteTaskService implements ICompeteTaskService {
updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); updateTaskInfo.setBeginTime(competeStartOrder.getStartTime());
updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); updateTaskInfo.setEndTime(competeStartOrder.getEndTime());
updateTaskInfo.setToken(token); updateTaskInfo.setToken(token);
log.info("修改tall的任务信息:{}", updateTaskInfo); // TODO
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); // log.info("修改tall的任务信息:{}", updateTaskInfo);
log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse); // JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo);
//失败return // log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse);
if (ObjectUtil.isNull(normalTaskJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(normalTaskJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(normalTaskJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); // if(normalTaskJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
} // return;
// }
} }
log.info("修改场次信息:{}", competeStartOrder); log.info("修改场次信息:{}", competeStartOrder);
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
@ -191,22 +192,23 @@ public class CompeteTaskService implements ICompeteTaskService {
addTask.setEndTime(projectStartTime + orderTime); addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(tallRoleId); addTask.setExecutorId(tallRoleId);
addTask.setToken(token); addTask.setToken(token);
log.info("在tall内添加任务:{}", addTask); // TODO
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask); // log.info("在tall内添加任务:{}", addTask);
//异常return // JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
log.info("添加任务后返回:{}", normalTaskJsonResponse); // //异常return
if (ObjectUtil.isNull(normalTaskJsonResponse)) { // log.info("添加任务后返回:{}", normalTaskJsonResponse);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(normalTaskJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(normalTaskJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); // if(normalTaskJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
} // return;
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); // }
if (ObjectUtil.isNotNull(normalTask)) { // TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
taskId = normalTask.getDetailId(); // if (ObjectUtil.isNotNull(normalTask)) {
} // taskId = normalTask.getDetailId();
// }
//添加出场顺序信息 //添加出场顺序信息
CompeteStartOrder competeStartOrder = new CompeteStartOrder(); CompeteStartOrder competeStartOrder = new CompeteStartOrder();
competeStartOrder.setId(snowflake.nextId()); 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<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();
// 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;
// }
// }
// }
// }
// }
} }
} }
@ -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; return queryJudgmentList;
@ -555,159 +343,160 @@ public class CompeteTaskService implements ICompeteTaskService {
//修改成员 //修改成员
//修改任务 //修改任务
} else { } else {
//添加角色 // TODO
MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); // //添加角色
saveRole.setProjectId(tallProjectId); // MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole();
String jdgmentNum = ""; // saveRole.setProjectId(tallProjectId);
if (judgmentInfo.getJudgmentNum() == 0) { // String jdgmentNum = "";
jdgmentNum = "主裁判"; // if (judgmentInfo.getJudgmentNum() == 0) {
} else { // jdgmentNum = "主裁判";
jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum(); // } else {
} // jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum();
saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum); // }
Long roleId = null; // saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum);
saveRole.setToken(token); // Long roleId = null;
log.info("在tall内添加角色:{}", saveRole); // saveRole.setToken(token);
JsonResponse<MemberVo.RoleInfo> roleJsonResponse = tallFeignClient.saveRole(saveRole); // log.info("在tall内添加角色:{}", saveRole);
log.info("添加角色后返回:{}", roleJsonResponse); // JsonResponse<MemberVo.RoleInfo> roleJsonResponse = tallFeignClient.saveRole(saveRole);
//失败return // log.info("添加角色后返回:{}", roleJsonResponse);
if (ObjectUtil.isNull(roleJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(roleJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if( roleJsonResponse.getCode() != 200) { // }
log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg()); // if( roleJsonResponse.getCode() != 200) {
return; // log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg());
} // return;
MemberVo.RoleInfo roleInfo = roleJsonResponse.getData(); // }
if (ObjectUtil.isNotNull(roleInfo)) { // MemberVo.RoleInfo roleInfo = roleJsonResponse.getData();
roleId = roleInfo.getRoleId(); // if (ObjectUtil.isNotNull(roleInfo)) {
} // roleId = roleInfo.getRoleId();
//添加成员 // }
MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember(); // //添加成员
saveMember.setMemberName(judgmentInfo.getJudgmentName()); // MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember();
saveMember.setProjectId(tallProjectId); // saveMember.setMemberName(judgmentInfo.getJudgmentName());
saveMember.setPhone(judgmentInfo.getJudgmentPhone()); // saveMember.setProjectId(tallProjectId);
saveMember.setRoleId(Arrays.asList(roleId)); // saveMember.setPhone(judgmentInfo.getJudgmentPhone());
saveMember.setToken(token); // saveMember.setRoleId(Arrays.asList(roleId));
log.info("在tall内添加成员:{}", saveMember); // saveMember.setToken(token);
JsonResponse<MemberVo.Member> memberJsonResponse = tallFeignClient.saveMember(saveMember); // log.info("在tall内添加成员:{}", saveMember);
log.info("添加成员后返回:{}", memberJsonResponse); // JsonResponse<MemberVo.Member> memberJsonResponse = tallFeignClient.saveMember(saveMember);
//如果成员已存在,查询成员信息然后添加至角色内 // log.info("添加成员后返回:{}", memberJsonResponse);
Long memberId = null; // //如果成员已存在,查询成员信息然后添加至角色内
Long userId = null; // Long memberId = null;
//失败return // Long userId = null;
if (ObjectUtil.isNull(memberJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(memberJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){ // }
log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); // if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){
return; // log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
} // return;
if(roleJsonResponse.getCode() == 200){ // }
MemberVo.Member member = memberJsonResponse.getData(); // if(roleJsonResponse.getCode() == 200){
if(ObjectUtil.isNotNull(member)){ // MemberVo.Member member = memberJsonResponse.getData();
userId = member.getUserId(); // if(ObjectUtil.isNotNull(member)){
} // userId = member.getUserId();
} // }
//code等于21代表成员已存在 // }
if (memberJsonResponse.getCode() == 21) { // //code等于21代表成员已存在
log.info("该成员已存在:{}", memberJsonResponse.getMsg()); // if (memberJsonResponse.getCode() == 21) {
//查询该手机号在项目内的成员的id // log.info("该成员已存在:{}", memberJsonResponse.getMsg());
MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone(); // //查询该手机号在项目内的成员的id
getMemberByPhone.setProjectId(tallProjectId); // MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone();
getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone()); // getMemberByPhone.setProjectId(tallProjectId);
getMemberByPhone.setToken(token); // getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone());
log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone()); // getMemberByPhone.setToken(token);
JsonResponse<MemberVo.MemberList> memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone); // log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone());
log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse); // JsonResponse<MemberVo.MemberList> memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone);
//失败return // log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse);
if (ObjectUtil.isNull(memberListJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(memberListJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(memberListJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); // if(memberListJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
} // return;
// }
MemberVo.MemberList memberList = memberListJsonResponse.getData(); //
if (ObjectUtil.isNotNull(memberList)) { // MemberVo.MemberList memberList = memberListJsonResponse.getData();
memberId = memberList.getMemberId(); // if (ObjectUtil.isNotNull(memberList)) {
userId = memberList.getUserId(); // memberId = memberList.getMemberId();
} // userId = memberList.getUserId();
// }
//将该成员添加至角色下 //
if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) { // //将该成员添加至角色下
MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole(); // if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) {
saveMemberInRole.setRoleId(roleId); // MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole();
saveMemberInRole.setMemberId(memberId); // saveMemberInRole.setRoleId(roleId);
saveMemberInRole.setToken(token); // saveMemberInRole.setMemberId(memberId);
log.info("将该成员添加至角色内"); // saveMemberInRole.setToken(token);
JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole); // log.info("将该成员添加至角色内");
if (ObjectUtil.isNull(jsonResponse)) { // JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(jsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(jsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", jsonResponse.getMsg()); // if(jsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", jsonResponse.getMsg());
} // return;
} // }
} // }
// }
//添加任务 //
//查找场次信息表 // //添加任务
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); // //查找场次信息表
startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()) // CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
.andSiteEqualTo((byte) siteJudgment.getSite()); // startOrderExample.createCriteria().andProjectIdEqualTo(project.getId())
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample); // .andSiteEqualTo((byte) siteJudgment.getSite());
if (CollectionUtil.isNotEmpty(startOrderList)) { // List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
for (CompeteStartOrder startOrder : startOrderList) { // if (CollectionUtil.isNotEmpty(startOrderList)) {
TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); // for (CompeteStartOrder startOrder : startOrderList) {
addTask.setProjectId(tallProjectId); // TallTaskDto.AddTask addTask = new TallTaskDto.AddTask();
addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-" // addTask.setProjectId(tallProjectId);
+ startOrder.getSite() + "-" + jdgmentNum); // addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-"
addTask.setBeginTime(startOrder.getStartTime()); // + startOrder.getSite() + "-" + jdgmentNum);
addTask.setEndTime(startOrder.getEndTime()); // addTask.setBeginTime(startOrder.getStartTime());
addTask.setExecutorId(roleId); // addTask.setEndTime(startOrder.getEndTime());
addTask.setParentTaskId(startOrder.getTaskId()); // addTask.setExecutorId(roleId);
addTask.setToken(token); // addTask.setParentTaskId(startOrder.getTaskId());
log.info("在tall内添加任务:{}", addTask); // addTask.setToken(token);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask); // log.info("在tall内添加任务:{}", addTask);
log.info("添加任务后返回:{}", normalTaskJsonResponse); // JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
if (ObjectUtil.isNull(normalTaskJsonResponse)) { // log.info("添加任务后返回:{}", normalTaskJsonResponse);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(normalTaskJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(normalTaskJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); // if(normalTaskJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
} // return;
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { // }
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); // if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
if (ObjectUtil.isNotNull(normalTask)) { // TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
//修改任务插件配置信息 // if (ObjectUtil.isNotNull(normalTask)) {
TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig(); // //修改任务插件配置信息
updatePluginConfig.setWebPath("/home/osct/video-score"); // TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig();
updatePluginConfig.setTaskId(normalTask.getDetailId()); // updatePluginConfig.setWebPath("/home/osct/video-score");
updatePluginConfig.setToken(token); // updatePluginConfig.setTaskId(normalTask.getDetailId());
log.info("修改tall内任务插件配置:{}", updatePluginConfig); // updatePluginConfig.setToken(token);
JsonResponse<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig); // log.info("修改tall内任务插件配置:{}", updatePluginConfig);
log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse); // JsonResponse<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig);
if (ObjectUtil.isNull(pluginVoJsonResponse)) { // log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(pluginVoJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(pluginVoJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg()); // if(pluginVoJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg());
} // return;
} // }
} // }
} // }
} // }
// }
//添加裁判 //添加裁判
competeJudgment = new CompeteJudgment(); competeJudgment = new CompeteJudgment();
competeJudgment.setId(snowflake.nextId()); competeJudgment.setId(snowflake.nextId());
@ -718,9 +507,9 @@ public class CompeteTaskService implements ICompeteTaskService {
competeJudgment.setProjectId(project.getId()); competeJudgment.setProjectId(project.getId());
competeJudgment.setSite(siteJudgment.getSite()); competeJudgment.setSite(siteJudgment.getSite());
competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum());
competeJudgment.setRoleId(roleId); // competeJudgment.setRoleId(roleId);
competeJudgment.setMemberId(memberId); // competeJudgment.setMemberId(memberId);
competeJudgment.setUserId(userId); // competeJudgment.setUserId(userId);
competeJudgmentDao.insertSelective(competeJudgment); competeJudgmentDao.insertSelective(competeJudgment);
} }

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

@ -25,6 +25,6 @@ spring:
max-file-size: 10MB max-file-size: 10MB
max-request-size: 100MB max-request-size: 100MB
snowflake: snowflake:
datacenterId: 1 datacenterId: 2
workerId: 1 workerId: 2

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

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

33
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.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
public class TaskDto { public class TaskDto {
@ -45,6 +46,38 @@ public class TaskDto {
private TaskRemindByAdd taskRemind; 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 @Data
@ApiModel("添加时设置任务提醒") @ApiModel("添加时设置任务提醒")
public static class TaskRemindByAdd{ public static class TaskRemindByAdd{

12
tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java

@ -53,4 +53,16 @@ public interface TaskDetailDao extends ProTaskDetailMapper {
* @return * @return
*/ */
List<TaskVo.TaskListByProjectId> getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime); List<TaskVo.TaskListByProjectId> getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime);
// /**
// * 批量添加任务详情表
// * @param taskDetailList
// */
// void saveTaskList(List<ProTaskDetail> taskDetailList);
//
// /**
// * 批量添加subtime
// * @param subList
// */
// void saveSubTimeTaskList(List<ProTaskSubTime> subList);
} }

126
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.tall.util.TallConstant;
import com.ccsens.util.CodeEnum; import com.ccsens.util.CodeEnum;
import com.ccsens.util.JacksonUtil; import com.ccsens.util.JacksonUtil;
import com.ccsens.util.TransactionUtil;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant; import com.ccsens.util.bean.message.common.MessageConstant;
@ -492,6 +493,131 @@ public class TaskSubTimeService implements ITaskSubTimeService {
} }
/**
* 批量添加任务
*/
// @Override
public void addTaskList(Long currentUserId, List<TaskDto.AddTaskList> addTaskList) throws Exception {
if(CollectionUtil.isEmpty(addTaskList)){
return;
}
List<ProTaskDetail> taskDetailList = new ArrayList<>();
List<ProTaskSubTime> 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<CronConstant.TaskDate> 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 * @param projectId 项目id

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

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

1
tall/src/main/resources/mapper_dao/TaskDetailDao.xml

@ -57,6 +57,7 @@
<result column="sId" property="subTimeId" /> <result column="sId" property="subTimeId" />
</resultMap> </resultMap>
<select id="selectTaskByRoleAndAllMembers" parameterType="java.util.Map" <select id="selectTaskByRoleAndAllMembers" parameterType="java.util.Map"
resultMap="secondTask"> resultMap="secondTask">
SELECT SELECT

Loading…
Cancel
Save