fix school admin profile lookup

main
chenyuan 2 months ago
parent bb7ebef4c3
commit 266859de16

@ -965,17 +965,17 @@ public class UserController {
String schoolFacultyId = userInfo.getSchoolFacultyId();
String schoolMajorId = userInfo.getSchoolMajorId();
String schoolName = schoolMapper.selectSchoolNameById(schoolId);
String schoolFacultyName = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId).getSchoolFacultyName();
String schoolMajorName = schoolMajorMapper.selectByPrimaryKey(schoolMajorId).getSchoolMajorName();
String schoolName = safeSchoolName(schoolId);
String schoolFacultyName = safeFacultyName(schoolFacultyId);
String schoolMajorName = safeMajorName(schoolMajorId);
userInfo.setSchoolId(schoolName);
userInfo.setSchoolName(schoolName);
userInfo.setSchoolFacultyId(schoolFacultyName);
userInfo.setSchoolMajorId(schoolMajorName);
if (userInfo.getRole() == 4) { //查看学生信息
if (Integer.valueOf(4).equals(userInfo.getRole())) { //查看学生信息
String schoolClassId = userInfo.getSchoolClassId();
String className = schoolClassMapper.selectByPrimaryKey(schoolClassId).getClassName();
String className = safeClassName(schoolClassId);
userInfo.setSchoolClassId(className);
userInfo.setClassName(className);
}
@ -983,6 +983,38 @@ public class UserController {
return new ResultEntity<>(HttpStatus.OK, "个人中心-查看用户数据成功!",userInfo);
}
private String safeSchoolName(String schoolId) {
if (StringUtils.isBlank(schoolId)) {
return "";
}
String schoolName = schoolMapper.selectSchoolNameById(schoolId);
return schoolName == null ? "" : schoolName;
}
private String safeFacultyName(String schoolFacultyId) {
if (StringUtils.isBlank(schoolFacultyId)) {
return "";
}
SchoolFaculty schoolFaculty = schoolFacultyMapper.selectByPrimaryKey(schoolFacultyId);
return schoolFaculty == null ? "" : schoolFaculty.getSchoolFacultyName();
}
private String safeMajorName(String schoolMajorId) {
if (StringUtils.isBlank(schoolMajorId)) {
return "";
}
SchoolMajor schoolMajor = schoolMajorMapper.selectByPrimaryKey(schoolMajorId);
return schoolMajor == null ? "" : schoolMajor.getSchoolMajorName();
}
private String safeClassName(String schoolClassId) {
if (StringUtils.isBlank(schoolClassId)) {
return "";
}
SchoolClass schoolClass = schoolClassMapper.selectByPrimaryKey(schoolClassId);
return schoolClass == null ? "" : schoolClass.getClassName();
}
@ApiOperation("开放接口,自动同步学生信息")
@PostMapping("synchronizationStudentInfoByAuto")
@AnonymousAccess

@ -0,0 +1,47 @@
package com.sztzjy.linkCommerce.controller.stu;
import com.sztzjy.linkCommerce.entity.Userinfo;
import com.sztzjy.linkCommerce.mapper.SchoolClassMapper;
import com.sztzjy.linkCommerce.mapper.SchoolFacultyMapper;
import com.sztzjy.linkCommerce.mapper.SchoolMapper;
import com.sztzjy.linkCommerce.mapper.SchoolMajorMapper;
import com.sztzjy.linkCommerce.mapper.UserinfoMapper;
import com.sztzjy.linkCommerce.util.ResultEntity;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
class UserControllerTest {
@Test
void selectPersonInfoAllowsSchoolAdminWithoutFacultyMajorOrClass() {
UserController controller = new UserController();
controller.userinfoMapper = mock(UserinfoMapper.class);
controller.schoolMapper = mock(SchoolMapper.class);
controller.schoolFacultyMapper = mock(SchoolFacultyMapper.class);
controller.schoolMajorMapper = mock(SchoolMajorMapper.class);
controller.schoolClassMapper = mock(SchoolClassMapper.class);
Userinfo userinfo = new Userinfo();
userinfo.setUserId("admin-1");
userinfo.setRole(2);
userinfo.setSchoolId("school-1");
when(controller.userinfoMapper.selectByPrimaryKey("admin-1")).thenReturn(userinfo);
when(controller.schoolMapper.selectSchoolNameById("school-1")).thenReturn("测试学校");
ResultEntity<Userinfo> result = controller.selectPersonInfo("admin-1");
assertEquals(HttpStatus.OK, result.getStatusCode());
assertNotNull(result.getBody());
assertEquals("测试学校", result.getBody().getData().getSchoolId());
assertEquals("测试学校", result.getBody().getData().getSchoolName());
assertEquals("", result.getBody().getData().getSchoolFacultyId());
assertEquals("", result.getBody().getData().getSchoolMajorId());
verifyNoInteractions(controller.schoolFacultyMapper, controller.schoolMajorMapper, controller.schoolClassMapper);
}
}
Loading…
Cancel
Save