diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java index d796b2b..bcffdc8 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/controller/ProjectGroupController.java @@ -6,6 +6,7 @@ import cn.edu.hfut.rmdjzz.projectmanagement.entity.vo.GroupPositionVO; import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException; import cn.edu.hfut.rmdjzz.projectmanagement.exception.ForbiddenException; import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService; +import cn.edu.hfut.rmdjzz.projectmanagement.service.IStaffService; import cn.edu.hfut.rmdjzz.projectmanagement.service.ITaskService; import cn.edu.hfut.rmdjzz.projectmanagement.utils.TokenUtils; import cn.edu.hfut.rmdjzz.projectmanagement.utils.ValidateUtils; @@ -63,11 +64,14 @@ public class ProjectGroupController { if (projectGroupService.getProjectAccessLevel(token, projectId) == 0) { throw new ForbiddenException(IProjectGroupService.UNABLE_TO_ACCESS_PROJECT); } - return ResponseMap.ofSuccess(projectGroupService.getOne( + ProjectGroup designatedStaff = projectGroupService.getOne( Wrappers.lambdaQuery() .eq(ProjectGroup::getStaffId, staffId) - .eq(ProjectGroup::getProjectId, projectId) - )); + .eq(ProjectGroup::getProjectId, projectId)); + if (designatedStaff == null) { //说明是超级管理员 + designatedStaff = new ProjectGroup(staffId, projectId, IStaffService.LEVEL_1, 1); + } + return ResponseMap.ofSuccess(designatedStaff); } @Operation(description = "body中只传staffUsername和projectStaffPosition") diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IStaffService.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IStaffService.java index 965eb06..09b4db0 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IStaffService.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/IStaffService.java @@ -16,6 +16,7 @@ import java.util.Map; public interface IStaffService extends IService { String STAFF_DOES_NOT_EXIST = "用户不存在"; + String LEVEL_1 = "超级管理员"; Map login(String requestIpAddress, String username, String password) throws BadRequestException, TokenException, ForbiddenException; diff --git a/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/ExcelTests.java b/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/ExcelTests.java index da56d5e..f8e2ebc 100644 --- a/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/ExcelTests.java +++ b/src/test/java/cn/edu/hfut/rmdjzz/projectmanagement/ExcelTests.java @@ -7,6 +7,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.web.MockMultipartFile; +import org.springframework.util.DigestUtils; import org.springframework.web.multipart.MultipartFile; /** @@ -23,7 +24,8 @@ public class ExcelTests { @Test public void importTest() { MultipartFile excelFile = new MockMultipartFile("账户导入模板.xlsx", - FileUtils.class.getClassLoader().getResourceAsStream("static/public/账户导入模板.xlsx")); - staffService.multiImport("", excelFile); + FileUtils.class.getClassLoader().getResourceAsStream("/static/public/账户导入模板.xlsx")); + //staffService.multiImport("", excelFile); + System.out.println(DigestUtils.md5DigestAsHex(excelFile.getBytes())); } }