|
@@ -7,7 +7,6 @@ import com.mooctest.crowd.domain.exception.BadRequestException;
|
|
|
import com.mooctest.crowd.domain.exception.BaseException;
|
|
|
import com.mooctest.crowd.domain.exception.Excel2ProjectException;
|
|
|
import com.mooctest.crowd.domain.factory.CrowdTestProjectFactory;
|
|
|
-import com.mooctest.crowd.domain.model.RolePO;
|
|
|
import com.mooctest.crowd.domain.model.UserTaskCountPO;
|
|
|
import com.mooctest.crowd.domain.model.UserToRolePO;
|
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
@@ -133,37 +132,11 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
|
|
|
@Override
|
|
|
public ProjectDetailsDTO createCrowdProject(CrowdTestProjectCommand command, long userId) {
|
|
|
- boolean canCreateProject = false;//当前用户是否能接包
|
|
|
// 获取用户所有角色
|
|
|
- List<UserToRolePO> usertoRole = userToRoleDao.findByUserId(userId);
|
|
|
- //用户所有角色PO
|
|
|
- List<RolePO> rolePOS = new ArrayList<>();//用户所有角色列表
|
|
|
- //用户所有角色id
|
|
|
- long rolIdArray[] = new long[usertoRole.size()];
|
|
|
- for (int i = 0; i < rolIdArray.length; i++) {
|
|
|
- rolIdArray[i] = usertoRole.get(i).getRoleId();
|
|
|
- Optional<RolePO> role = roleDao.findById(rolIdArray[i]);
|
|
|
- rolePOS.add(role.get());
|
|
|
- }
|
|
|
- //获取用户角色列表所有的角色name;
|
|
|
- List<String> roleNames = new ArrayList<>();
|
|
|
- for (int i = 0; i < rolePOS.size(); i++) {
|
|
|
- roleNames.add(rolePOS.get(i).getName());
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < roleNames.size(); i++) {
|
|
|
- if (roleNames.get(i).equals("RegionalManager") || roleNames.get(i).equals("SystemAdministrator")
|
|
|
- || roleNames.get(i).equals("enterpriseUser") || roleNames.get(i).equals("partyUser") || roleNames.get(i).equals("partyAgency")) {
|
|
|
- canCreateProject = true;
|
|
|
- } else {
|
|
|
- canCreateProject = false;
|
|
|
- throw new BaseException("用户权限不足无法创建项目");
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if (canCreateProject) {
|
|
|
+ List<UserToRolePO> userToRole = userToRoleDao.findByUserId(userId);
|
|
|
+ if(userToRole.stream().anyMatch(userToRolePO -> userToRolePO.getRoleId().equals(RoleType.PARTY_USER.getId()) ||
|
|
|
+ userToRolePO.getRoleId().equals(RoleType.PARTY_AGENCY.getId()) || userToRolePO.getRoleId().equals(RoleType.AGENCY.getId()) ||
|
|
|
+ userToRolePO.getRoleId().equals(RoleType.REGIONAL_MANAGER.getId()) || userToRolePO.getRoleId().equals(RoleType.SYSTEM_ADMIN.getId()))){
|
|
|
CrowdTestProject project = command.toCrowdProject();
|
|
|
project.setStatus(CrowdTestProjectStatus.HAS_RELEASED);
|
|
|
log.info("\n" + project.toString() + "\n");
|
|
@@ -177,8 +150,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
|
|
|
projectDetailsDTO.setProjectDetails(new CrowdProjectVO(project));
|
|
|
themeSchedulerService.createNewThemeScheduler(project);
|
|
|
return projectDetailsDTO;
|
|
|
+ }else{
|
|
|
+ throw new BaseException("用户权限不足无法创建项目");
|
|
|
}
|
|
|
- return null;
|
|
|
}
|
|
|
|
|
|
@Override
|