|
@@ -320,11 +320,11 @@ public class CrowdTestProject {
|
|
|
//判断是否为区域管理员
|
|
//判断是否为区域管理员
|
|
|
RegionalManager regionalManager = user.getRegionalManager();
|
|
RegionalManager regionalManager = user.getRegionalManager();
|
|
|
if(regionalManager == null){
|
|
if(regionalManager == null){
|
|
|
- throw new UserNotExistException("当前用户不是区域管理员,没有权限接收此项目");
|
|
|
|
|
|
|
+ throw new UserNotExistException("当前用户不是区域管理员,没有权限接收项目");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//判断项目状态
|
|
//判断项目状态
|
|
|
- if(this.getStatus() != (CrowdTestProjectStatus.HAS_RECEIVED-1)){
|
|
|
|
|
|
|
+ if(this.getStatus() != CrowdTestProjectStatus.HAS_RELEASED){
|
|
|
throw new CrowdTestProjectException("项目不能被接收,项目状态为: " + this.getStatus());
|
|
throw new CrowdTestProjectException("项目不能被接收,项目状态为: " + this.getStatus());
|
|
|
}else{
|
|
}else{
|
|
|
//项目是定向发布
|
|
//项目是定向发布
|
|
@@ -620,34 +620,28 @@ public class CrowdTestProject {
|
|
|
|
|
|
|
|
//判断是否是当前项目的区域管理员
|
|
//判断是否是当前项目的区域管理员
|
|
|
if(!this.regionalManagerId.equals(user.getId())){
|
|
if(!this.regionalManagerId.equals(user.getId())){
|
|
|
- throw new CrowdTestProjectException("当前用户没有权限提交项目!");
|
|
|
|
|
|
|
+ throw new CrowdTestProjectException("当前用户没有权限操作此项目!");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//项目状态判断
|
|
//项目状态判断
|
|
|
- if(this.getStatus() != (CrowdTestProjectStatus.HAS_COMMITED-1)){
|
|
|
|
|
|
|
+ if(this.getStatus() != CrowdTestProjectStatus.HAS_RECEIVED){
|
|
|
throw new CrowdTestProjectException("当前项目状态不可提交项目!状态为:"+this.getStatus());
|
|
throw new CrowdTestProjectException("当前项目状态不可提交项目!状态为:"+this.getStatus());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//判断项目下是否有任务
|
|
//判断项目下是否有任务
|
|
|
- List<CrowdTestTask> crowdTestTaskList = this.getCrowdTestTaskList();
|
|
|
|
|
- if(crowdTestTaskList.size() < 1){
|
|
|
|
|
|
|
+ if(this.getCrowdTestTaskList()==null || this.getCrowdTestTaskList().size() < 1){
|
|
|
throw new CrowdTestProjectException("还未创建任务,项目不能被提交");
|
|
throw new CrowdTestProjectException("还未创建任务,项目不能被提交");
|
|
|
}else{
|
|
}else{
|
|
|
//结束项目时查看是否已结束任务
|
|
//结束项目时查看是否已结束任务
|
|
|
- for(CrowdTestTask crowdTestTask : crowdTestTaskList){
|
|
|
|
|
- if(crowdTestTask.getStatus() != CrowdTestTaskStatus.HAS_FINISHED){
|
|
|
|
|
- throw new CrowdTestTaskException("存在未结束的任务,项目不能被提交");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if(this.getCrowdTestTaskList().stream().anyMatch(task -> task.getStatus()!=CrowdTestTaskStatus.HAS_FINISHED)){
|
|
|
|
|
+ throw new CrowdTestTaskException("存在未结束的任务,项目不能被提交");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
//判断项目下是否有项目报告
|
|
//判断项目下是否有项目报告
|
|
|
if(this.getCrowdTestReportForProject() == null){
|
|
if(this.getCrowdTestReportForProject() == null){
|
|
|
throw new CrowdTestProjectException("还未创建项目报告,项目不能被提交");
|
|
throw new CrowdTestProjectException("还未创建项目报告,项目不能被提交");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
this.setStatus(CrowdTestProjectStatus.HAS_COMMITED);
|
|
this.setStatus(CrowdTestProjectStatus.HAS_COMMITED);
|
|
|
- this.setEndTime(new Timestamp(System.currentTimeMillis()));
|
|
|
|
|
return this;
|
|
return this;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -665,12 +659,21 @@ public class CrowdTestProject {
|
|
|
throw new CrowdTestProjectException("当前用户没有权限结束项目!");
|
|
throw new CrowdTestProjectException("当前用户没有权限结束项目!");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(this.getStatus() != (CrowdTestProjectStatus.HAS_FINISHED - 1)){
|
|
|
|
|
- throw new CrowdTestProjectException("项目不能被提交,当前状态为:"+this.getStatus());
|
|
|
|
|
|
|
+ if(this.getStatus() != CrowdTestProjectStatus.HAS_COMMITED){
|
|
|
|
|
+ throw new CrowdTestProjectException("项目不能确认结束,当前状态为:"+this.getStatus());
|
|
|
}else{
|
|
}else{
|
|
|
this.setStatus(CrowdTestProjectStatus.HAS_FINISHED);
|
|
this.setStatus(CrowdTestProjectStatus.HAS_FINISHED);
|
|
|
this.setEndTime(new Timestamp(System.currentTimeMillis()));
|
|
this.setEndTime(new Timestamp(System.currentTimeMillis()));
|
|
|
}
|
|
}
|
|
|
return this;
|
|
return this;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public void reject(Long userId) {
|
|
|
|
|
+ if (this.getProjectDistributionTypeId()!=0
|
|
|
|
|
+ || this.getStatus() != CrowdTestProjectStatus.HAS_RELEASED
|
|
|
|
|
+ || !this.getRegionalManagerId().equals(userId)){
|
|
|
|
|
+ throw new CrowdTestProjectException("非法的操作");
|
|
|
|
|
+ }
|
|
|
|
|
+ this.setStatus(CrowdTestProjectStatus.HAS_REJECTED);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|