|  | @@ -1,6 +1,7 @@
 | 
	
		
			
				|  |  |  package com.mooctest.crowd.site.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.domainobject.CrowdTestReport;
 | 
	
	
		
			
				|  | @@ -96,15 +97,15 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 | 
	
		
			
				|  |  |          CrowdTestProject project = command.toCrowdProject();
 | 
	
		
			
				|  |  |          project.setCode(GenerateFlowCodeUtil.generateProjCode());
 | 
	
		
			
				|  |  |          List<CrowdTestTask> tasks = new ArrayList<>();
 | 
	
		
			
				|  |  | -        command.getType().forEach(integer -> {
 | 
	
		
			
				|  |  | +        command.getType().forEach(type -> {
 | 
	
		
			
				|  |  |              CrowdTestTask task = CrowdTestProjectFactory.defaultFinishedCrowdTask();
 | 
	
		
			
				|  |  | -            task.setType(integer);
 | 
	
		
			
				|  |  | -            task.setCode(GenerateFlowCodeUtil.generateTaskCode(ProjectType.getCode(integer)));
 | 
	
		
			
				|  |  | +            task.setType(type);
 | 
	
		
			
				|  |  | +            task.setCode(GenerateFlowCodeUtil.generateTaskCode(ProjectType.getCode(type)));
 | 
	
		
			
				|  |  |              task.setCrowdTestProjectCode(project.getCode());
 | 
	
		
			
				|  |  |              task.setEndTime(command.getDatetime());
 | 
	
		
			
				|  |  |              task.setDeadTime(command.getDatetime());
 | 
	
		
			
				|  |  |              task.setRequirementFile(command.getFile());
 | 
	
		
			
				|  |  | -            task.setName(command.getName()+"-"+ProjectType.getName(integer));
 | 
	
		
			
				|  |  | +            task.setName(command.getName()+"-"+type);
 | 
	
		
			
				|  |  |              task.setQuotedPrice(command.getPrice()/command.getType().size());
 | 
	
		
			
				|  |  |              task.setFixedPrice(command.getPrice()/command.getType().size());
 | 
	
		
			
				|  |  |              tasks.add(task);
 | 
	
	
		
			
				|  | @@ -130,19 +131,20 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 | 
	
		
			
				|  |  |          return dtos;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  |      public List<CrowdTestProject> generateProjectByExcel(MultipartFile file){
 | 
	
		
			
				|  |  |          List<CrowdTestProject> projects = transferExcel2Projects(file);
 | 
	
		
			
				|  |  |          projects.forEach(project -> {
 | 
	
		
			
				|  |  |              project.setCode(GenerateFlowCodeUtil.generateProjCode());
 | 
	
		
			
				|  |  |              List<CrowdTestTask> tasks = new ArrayList<>();
 | 
	
		
			
				|  |  |              CrowdTestTask task = CrowdTestProjectFactory.defaultFinishedCrowdTask();
 | 
	
		
			
				|  |  | -            task.setType(((List<Integer>) JSONArray.parse(project.getType())).get(0));
 | 
	
		
			
				|  |  | +            task.setType(((List<String>) JSONArray.parse(project.getType())).get(0));
 | 
	
		
			
				|  |  |              task.setCode(GenerateFlowCodeUtil.generateTaskCode(ProjectType.getCode(task.getType())));
 | 
	
		
			
				|  |  |              task.setCrowdTestProjectCode(project.getCode());
 | 
	
		
			
				|  |  |              task.setEndTime(project.getEndTime());
 | 
	
		
			
				|  |  |              task.setDeadTime(project.getDeadTime());
 | 
	
		
			
				|  |  |              task.setRequirementFile(project.getRequirementFile());
 | 
	
		
			
				|  |  | -            task.setName(project.getName()+"-"+ProjectType.getName(task.getType()));
 | 
	
		
			
				|  |  | +            task.setName(project.getName()+"-"+task.getType());
 | 
	
		
			
				|  |  |              task.setQuotedPrice(project.getQuotedPrice());
 | 
	
		
			
				|  |  |              task.setFixedPrice(project.getFixedPrice());
 | 
	
		
			
				|  |  |              tasks.add(task);
 | 
	
	
		
			
				|  | @@ -204,7 +206,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 | 
	
		
			
				|  |  |                              logList.add("错误 - 行: " + (i + 1) + "; 列: " + (j + 1) + "; 原因: " + "测试平台数据不合法:"+cell.getStringCellValue());
 | 
	
		
			
				|  |  |                              break;
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | -                        project.setPlatform("["+cell.getStringCellValue().trim()+"]");
 | 
	
		
			
				|  |  | +                        List<String> platforms = new ArrayList<>();
 | 
	
		
			
				|  |  | +                        platforms.add(cell.getStringCellValue().trim());
 | 
	
		
			
				|  |  | +                        project.setPlatform(JSONObject.toJSONString(platforms));
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                      case 2:
 | 
	
		
			
				|  |  |                          project.setLinkMan(cell.getStringCellValue().trim());
 | 
	
	
		
			
				|  | @@ -221,7 +225,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
 | 
	
		
			
				|  |  |                              logList.add("错误 - 行: " + (i + 1) + "; 列: " + (j + 1) + "; 原因: " + "错误的测试服务类型:"+cell.getStringCellValue());
 | 
	
		
			
				|  |  |                              break;
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | -                        project.setType("["+cell.getStringCellValue().trim()+"]");
 | 
	
		
			
				|  |  | +                        List<String> types = new ArrayList<>();
 | 
	
		
			
				|  |  | +                        types.add(cell.getStringCellValue().trim());
 | 
	
		
			
				|  |  | +                        project.setType(JSONObject.toJSONString(types));
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                      case 5:
 | 
	
		
			
				|  |  |                          project.setDescription(cell.getStringCellValue().trim());
 |