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 {
@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<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.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)) {
log.info("调用tall返回null");
return;
}
if(normalTaskJsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
return;
}
// TODO
// log.info("修改tall的任务信息:{}", updateTaskInfo);
// JsonResponse<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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<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;
@ -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<MemberVo.RoleInfo> 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<MemberVo.Member> 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<MemberVo.MemberList> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.PluginVo> 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<MemberVo.RoleInfo> 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<MemberVo.Member> 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<MemberVo.MemberList> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.PluginVo> 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);
}

4
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

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

@ -1,5 +1,5 @@
spring:
profiles:
active: dev
include: common, util-dev
active: prod
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.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{

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

@ -53,4 +53,16 @@ public interface TaskDetailDao extends ProTaskDetailMapper {
* @return
*/
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.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<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

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

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

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

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

Loading…
Cancel
Save