Browse Source

修改调用众测时detailToToken中包含roleId,用于区分学生和教师

郭超 4 years ago
parent
commit
b418d3ba91
22 changed files with 44 additions and 25 deletions
  1. 2 0
      core/src/main/java/com/mooctest/crowd/domain/dao/UserToRoleDao.java
  2. 1 0
      core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java
  3. 1 1
      core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/AuthType.java
  4. 1 1
      core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/DistributeType.java
  5. 1 1
      core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/JudgeType.java
  6. 1 1
      core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/RoleType.java
  7. 0 1
      core/src/main/java/com/mooctest/crowd/domain/repository/ApplicationTypeRepo.java
  8. 1 0
      core/src/main/java/com/mooctest/crowd/domain/repository/CommonRepo.java
  9. 1 0
      core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java
  10. 2 1
      core/src/main/java/com/mooctest/crowd/domain/repository/EvaluationAgencyRepo.java
  11. 11 4
      core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java
  12. 1 1
      site/src/main/java/com/mooctest/crowd/site/anticorruption/impl/UserAntiCorruptionImpl.java
  13. 0 1
      site/src/main/java/com/mooctest/crowd/site/controller/UserController.java
  14. 1 1
      site/src/main/java/com/mooctest/crowd/site/controller/interceptor/SysAdminCheckInterceptor.java
  15. 1 1
      site/src/main/java/com/mooctest/crowd/site/mediator/impl/OperationMediatorImpl.java
  16. 3 1
      site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java
  17. 1 1
      site/src/main/java/com/mooctest/crowd/site/service/impl/AgencyServiceImpl.java
  18. 1 1
      site/src/main/java/com/mooctest/crowd/site/service/impl/AuthCheckServiceImpl.java
  19. 2 1
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java
  20. 1 0
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdReportServiceImpl.java
  21. 11 7
      site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java
  22. 0 0
      site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java

+ 2 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/UserToRoleDao.java

@@ -13,6 +13,8 @@ public interface UserToRoleDao extends CrudRepository<UserToRolePO,Long> {
     @Override
     Optional<UserToRolePO> findById(Long id);
 
+    Optional<UserToRolePO> findByUserIdAndRoleId(Long userID, Long roleId);
+
     List<UserToRolePO> findByUserId(Long userId);
 
     List<UserToRolePO> findByRoleId(Long roleId);

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.domain.domainobject;
 
+import com.mooctest.crowd.domain.domainobject.enums.DistributeType;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskException;
 import lombok.Data;
 

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/domainobject/AuthType.java → core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/AuthType.java

@@ -1,4 +1,4 @@
-package com.mooctest.crowd.domain.domainobject;
+package com.mooctest.crowd.domain.domainobject.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/domainobject/DistributeType.java → core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/DistributeType.java

@@ -1,4 +1,4 @@
-package com.mooctest.crowd.domain.domainobject;
+package com.mooctest.crowd.domain.domainobject.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/domainobject/JudgeType.java → core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/JudgeType.java

@@ -1,4 +1,4 @@
-package com.mooctest.crowd.domain.domainobject;
+package com.mooctest.crowd.domain.domainobject.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/data/enums/RoleType.java → core/src/main/java/com/mooctest/crowd/domain/domainobject/enums/RoleType.java

@@ -1,4 +1,4 @@
-package com.mooctest.crowd.site.data.enums;
+package com.mooctest.crowd.domain.domainobject.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;

+ 0 - 1
core/src/main/java/com/mooctest/crowd/domain/repository/ApplicationTypeRepo.java

@@ -1,7 +1,6 @@
 package com.mooctest.crowd.domain.repository;
 
 import com.mooctest.crowd.domain.dao.ApplicationTypeDao;
-import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
 import com.mooctest.crowd.domain.domainobject.ApplicationType;
 import com.mooctest.crowd.domain.model.ApplicationTypePO;
 import com.mooctest.crowd.domain.util.Converter;

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/CommonRepo.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.domain.repository;
 
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.ApplicationType;
 import com.mooctest.crowd.domain.exception.ApplicationTypeNoExistException;
 import com.mooctest.crowd.domain.exception.BadRequestException;
 import com.mooctest.crowd.domain.exception.HttpBadRequestException;

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.domain.repository;
 
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.enums.JudgeType;
 import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
 import com.mooctest.crowd.domain.exception.HttpBadRequestException;
 import com.mooctest.crowd.domain.model.*;

+ 2 - 1
core/src/main/java/com/mooctest/crowd/domain/repository/EvaluationAgencyRepo.java

@@ -5,6 +5,7 @@ import com.mooctest.crowd.domain.dao.AgencyResourceDao;
 import com.mooctest.crowd.domain.dao.EvaluationAgencyDao;
 import com.mooctest.crowd.domain.dao.PersonalAuthenticationDao;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.enums.AuthType;
 import com.mooctest.crowd.domain.exception.EvaluationAgencyResourceNotExist;
 import com.mooctest.crowd.domain.model.EvaluationAgencyAbilityPO;
 import com.mooctest.crowd.domain.model.EvaluationAgencyPO;
@@ -90,7 +91,7 @@ public class EvaluationAgencyRepo implements IEvaluationAgencyRepo {
     @Override
     public List<EvaluationAgency> findAllAuthenticatedReceivable() {
         List<EvaluationAgency> evaluationAgencyList = new ArrayList<>();
-        Iterable<EvaluationAgencyPO> agencyPOS = evaluationAgencyDao.findAllByIsAuthenticationAndTypeLikeAndIsDeleted(AuthenticationStatus.isAuthenticated, "%"+AuthType.RECEIVABLE.getId()+"%", DeletedStatus.isNotDeleted);
+        Iterable<EvaluationAgencyPO> agencyPOS = evaluationAgencyDao.findAllByIsAuthenticationAndTypeLikeAndIsDeleted(AuthenticationStatus.isAuthenticated, "%"+ AuthType.RECEIVABLE.getId()+"%", DeletedStatus.isNotDeleted);
         agencyPOS.forEach(agencyPO -> evaluationAgencyList.add(Converter.convert(EvaluationAgency.class, agencyPO)));
         return evaluationAgencyList;
     }

+ 11 - 4
core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.domain.repository;
 
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.domain.exception.RoleNotFoundException;
 import com.mooctest.crowd.domain.exception.UserNotExistException;
 import com.mooctest.crowd.domain.model.*;
@@ -455,20 +456,26 @@ public class UserRepo implements IUserRepo {
     }
 
     private void getRegionalInfo(User user) {
+	    Optional<UserToRolePO> userToRolePOOptional = userToRoleDao.findByUserIdAndRoleId(user.getId(), RoleType.REGIONAL_MANAGER.getId());
+	    if(userToRolePOOptional.isPresent()){
+		   this.getRegionalInfos(user);
+	    }
+	}
+
+	private void getRegionalInfos(User user) {
 		/*获取区域管理员信息*/
-		List<RegionalManagerToRegionalPO> regionalManagerToRegionalPOList = regionalManagerToRegionalDao.findByUserIdAndIsDeleted(user.getId(), DeletedStatus.isNotDeleted);
-		if (regionalManagerToRegionalPOList.size() > 0) {
+		List<RegionalManagerToRegionalPO> managerToRegionalPOList = regionalManagerToRegionalDao.findByUserIdAndIsDeleted(user.getId(), DeletedStatus.isNotDeleted);
+		if (managerToRegionalPOList.size() > 0) {
 			List<RegionalManagerToRegional> regionalList = new ArrayList<>();
 			RegionalManager regionalManager = new RegionalManager();
 			regionalManager.setUserId(user.getId());
-			for (RegionalManagerToRegionalPO regionalManagerToRegionalPO : regionalManagerToRegionalPOList) {
+			for (RegionalManagerToRegionalPO regionalManagerToRegionalPO : managerToRegionalPOList) {
 				if (regionalManagerToRegionalPO != null) {
 					regionalManager.setId(regionalManagerToRegionalPO.getId());
 					/*获取区域管理员管理的区域信息*/
 					RegionalManagerToRegional regionalResult = Converter.convert(RegionalManagerToRegional.class, regionalManagerToRegionalPO);
 					regionalList.add(regionalResult);
 				}
-
 			}
 			regionalManager.setRegionalList(regionalList);
 			user.setRegionalManager(regionalManager);

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/anticorruption/impl/UserAntiCorruptionImpl.java

@@ -9,7 +9,7 @@ import com.mooctest.crowd.domain.factory.UserFactory;
 import com.mooctest.crowd.domain.repository.UserRepo;
 import com.mooctest.crowd.site.anticorruption.UserAntiCorruption;
 import com.mooctest.crowd.site.anticorruption.impl.data.UserInfo;
-import com.mooctest.crowd.site.data.enums.RoleType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.site.util.EncryptionUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;

+ 0 - 1
site/src/main/java/com/mooctest/crowd/site/controller/UserController.java

@@ -68,7 +68,6 @@ public class UserController extends BaseController{
         return userService.getUser(userId);
     }
 
-
     /**
      * 获取用户头像接口
      * @param userId

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/controller/interceptor/SysAdminCheckInterceptor.java

@@ -4,7 +4,7 @@ import com.mooctest.crowd.domain.domainobject.User;
 import com.mooctest.crowd.domain.exception.UnauthorizedException;
 import com.mooctest.crowd.domain.repository.UserRepo;
 import com.mooctest.crowd.site.annotation.SysAdminRequired;
-import com.mooctest.crowd.site.data.enums.RoleType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/mediator/impl/OperationMediatorImpl.java

@@ -2,7 +2,7 @@ package com.mooctest.crowd.site.mediator.impl;
 
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
-import com.mooctest.crowd.domain.domainobject.DistributeType;
+import com.mooctest.crowd.domain.domainobject.enums.DistributeType;
 import com.mooctest.crowd.domain.repository.CommonRepo;
 import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 import com.mooctest.crowd.site.command.CrowdTestProjectCommand;

+ 3 - 1
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.ApplicationType;
+import com.mooctest.crowd.domain.domainobject.enums.DistributeType;
 import com.mooctest.crowd.domain.exception.*;
 import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
 import com.mooctest.crowd.domain.model.*;
@@ -15,7 +17,7 @@ import com.mooctest.crowd.site.configuration.DataCache;
 import com.mooctest.crowd.site.data.ProjectOperationControl;
 import com.mooctest.crowd.site.data.TaskOperationControl;
 import com.mooctest.crowd.site.data.dto.*;
-import com.mooctest.crowd.site.data.enums.RoleType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.site.data.vo.*;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.CrowdTaskService;

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/AgencyServiceImpl.java

@@ -13,7 +13,7 @@ import com.mooctest.crowd.site.command.AgencyResourceCommand;
 import com.mooctest.crowd.site.command.ApplyAgencyAuthCommand;
 import com.mooctest.crowd.site.command.GenerateAgencyCommand;
 import com.mooctest.crowd.site.data.dto.UserDTO;
-import com.mooctest.crowd.site.data.enums.RoleType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.site.data.vo.*;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.AgencyService;

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/AuthCheckServiceImpl.java

@@ -1,7 +1,7 @@
 package com.mooctest.crowd.site.service.impl;
 
 import com.mooctest.crowd.domain.domainobject.User;
-import com.mooctest.crowd.site.data.enums.RoleType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 

+ 2 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdProjectServiceImpl.java

@@ -6,6 +6,7 @@ import com.mooctest.crowd.domain.dao.FieldDao;
 import com.mooctest.crowd.domain.dao.TestTypeDao;
 import com.mooctest.crowd.domain.dao.UserTaskCountDao;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.enums.DistributeType;
 import com.mooctest.crowd.domain.exception.BadRequestException;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.Excel2ProjectException;
@@ -22,7 +23,7 @@ import com.mooctest.crowd.site.configuration.DataCache;
 import com.mooctest.crowd.site.data.ColumnFilter;
 import com.mooctest.crowd.site.data.dto.ProjectDetailsDTO;
 import com.mooctest.crowd.site.data.enums.ProjectType;
-import com.mooctest.crowd.site.data.enums.RoleType;
+import com.mooctest.crowd.domain.domainobject.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;

+ 1 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdReportServiceImpl.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.site.service.impl;
 
 import com.mooctest.crowd.domain.dao.EndPointDao;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.enums.JudgeType;
 import com.mooctest.crowd.domain.exception.BaseException;
 import com.mooctest.crowd.domain.exception.CrowdTestReportNotExistException;
 import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;

+ 11 - 7
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdTaskServiceImpl.java

@@ -5,6 +5,8 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
+import com.mooctest.crowd.domain.domainobject.enums.DistributeType;
+import com.mooctest.crowd.domain.domainobject.enums.RoleType;
 import com.mooctest.crowd.domain.exception.*;
 import com.mooctest.crowd.domain.model.ApplicationTypePO;
 import com.mooctest.crowd.domain.model.EndPointPO;
@@ -246,11 +248,6 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
         task.setEndPoint(endPoint);
         project.addTask(task);
         projectRepo.saveCrowdTestProject(project);
-        TaskDetailsDTO taskDetailsDTO = new TaskDetailsDTO();
-//        CrowdTaskVO crowdTaskVO = new CrowdTaskVO();
-//        crowdTaskVO.setId(taskCode);
-//        taskDetailsDTO.setCrowdTaskVO(crowdTaskVO);
-//        return taskDetailsDTO;
         return getTaskDetails(projectCode, taskCode, userId);
     }
 
@@ -284,9 +281,16 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
     }
 
     @NotNull
-    public String getForEntityReportUrl(Long userId, CrowdTestTask task, EndPoint endPoint) {
+    private String getForEntityReportUrl(Long userId, CrowdTestTask task, EndPoint endPoint) {
+        int roleId = 0; // 默认为0学生 1为教师
+        User user = userRepo.getInfoAndRolesByID(userId);
+        if(user.getRoleList().stream().anyMatch(role -> role.getName().equals(RoleType.REGIONAL_MANAGER.getName())
+                || role.getName().equals(RoleType.SYSTEM_ADMIN.getName()))){
+            roleId = 1;
+        }
         String url = crowdServiceBaseUrl  + "/Bug/api/analyze/detailToToken?examId=" + endPoint.getExamId() + "&caseId=" + endPoint.getCaseId() +
-                "&userId=" + String.valueOf(userId) + "&beginTime=" + String.valueOf(task.getCreateTime().getTime()) + "&endTime=" + String.valueOf(task.getDeadTime().getTime());
+                "&userId=" + String.valueOf(userId) + "&roleId=" + roleId + "&beginTime=" + String.valueOf(task.getCreateTime().getTime()) +
+                "&endTime=" + String.valueOf(task.getDeadTime().getTime());
 
         log.info("调用众测服务接口,Get请求:" + url);
         ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);

File diff suppressed because it is too large
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java


Some files were not shown because too many files changed in this diff