|
@@ -8,6 +8,7 @@ import com.mooctest.crowd.domain.exception.BaseException;
|
|
|
import com.mooctest.crowd.domain.exception.Excel2ProjectException;
|
|
|
import com.mooctest.crowd.domain.exception.HaveNotPartAuthException;
|
|
|
import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
|
|
|
+import com.mooctest.crowd.domain.model.ResourceTokenPO;
|
|
|
import com.mooctest.crowd.domain.model.UserTaskCountPO;
|
|
|
import com.mooctest.crowd.domain.repository.CommonRepo;
|
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
@@ -16,11 +17,10 @@ import com.mooctest.crowd.domain.util.Converter;
|
|
|
import com.mooctest.crowd.site.command.CrowdTestProjectCommand;
|
|
|
import com.mooctest.crowd.site.command.GenerateProjectCommand;
|
|
|
import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
|
|
|
+import com.mooctest.crowd.site.data.dto.UserProjectDTO;
|
|
|
import com.mooctest.crowd.site.data.enums.ProjectType;
|
|
|
import com.mooctest.crowd.site.data.enums.RoleType;
|
|
|
-import com.mooctest.crowd.site.data.vo.CrowdProjectVO;
|
|
|
-import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
|
|
|
-import com.mooctest.crowd.site.data.vo.RegionalManagerVO;
|
|
|
+import com.mooctest.crowd.site.data.vo.*;
|
|
|
import com.mooctest.crowd.site.mediator.OperationMediator;
|
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
|
import com.mooctest.crowd.site.service.CrowdProjectService;
|
|
@@ -88,6 +88,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
@Autowired
|
|
|
private UserTaskCountDao userTaskCountDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ResourceTokenDao resourceTokenDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ThemeSchedulerService themeSchedulerService;
|
|
|
|
|
@@ -486,7 +489,27 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
return projectRepo.getByProject();
|
|
|
}
|
|
|
|
|
|
- private List<CrowdTestProject> transferExcel2Projects(MultipartFile file) {
|
|
|
+ @Override
|
|
|
+ public UserProjectDTO getProjectByToken(String projectCode, String taskCode, Long userId, String token) {
|
|
|
+ Optional<ResourceTokenPO> resourceTokenPOOptional = resourceTokenDao.findByProjectCodeAndTaskCodeAndUserId(projectCode, taskCode, userId);
|
|
|
+ if(resourceTokenPOOptional.isPresent()){
|
|
|
+ if(!resourceTokenPOOptional.get().getToken().equals(token)){
|
|
|
+ throw new BaseException("token 无效");
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ throw new BaseException("token 无效");
|
|
|
+ }
|
|
|
+ UserProjectDTO userProjectDTO = new UserProjectDTO();
|
|
|
+ User user = userRepo.getByIDJustInfo(userId);
|
|
|
+ userProjectDTO.setUserVO(new UserVO(user));
|
|
|
+ ProjectDetailsDTO projectDetails = this.getProjectDetails(projectCode, userId);
|
|
|
+ userProjectDTO.setProjectDetails(projectDetails.getProjectDetails());
|
|
|
+ List<CrowdTaskVO> taskVOS = projectDetails.getTaskList().stream().filter(crowdTaskVO -> crowdTaskVO.getCode().equals(taskCode)).collect(Collectors.toList());
|
|
|
+ userProjectDTO.setTaskList(taskVOS);
|
|
|
+ return userProjectDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<CrowdTestProject> transferExcel2Projects(MultipartFile file) {
|
|
|
List<String> logList = new ArrayList<>();
|
|
|
List<CrowdTestProject> projects = new ArrayList<>();
|
|
|
Workbook workbook = null;
|