|
@@ -599,7 +599,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
List<SysUser> requestUserList = this.list(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).like(SysUser::getLoginName, "admin"));
|
|
List<SysUser> requestUserList = this.list(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).like(SysUser::getLoginName, "admin"));
|
|
if (requestUserList.size() == 0 && !Objects.equals(userSaveParams.getRealName(), "学校管理员")) {
|
|
if (requestUserList.size() == 0 && !Objects.equals(userSaveParams.getRealName(), "学校管理员")) {
|
|
- throw ExceptionResultEnum.ERROR.exception("该学校没有内置的学校管理员");
|
|
|
|
|
|
+ this.buildAdministratorForSchool(schoolId);
|
|
}
|
|
}
|
|
Long requestUserId = 1L;
|
|
Long requestUserId = 1L;
|
|
if (requestUserList.size() > 0) {
|
|
if (requestUserList.size() > 0) {
|
|
@@ -1000,16 +1000,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
- public void buildAdministratorForSchool() {
|
|
|
|
|
|
+ public void buildAdministratorForSchool(Long schoolId) {
|
|
// 为没有学校管理员的学校自动创建一个学校管理员
|
|
// 为没有学校管理员的学校自动创建一个学校管理员
|
|
- List<BasicSchool> basicSchoolList = basicSchoolService.list();
|
|
|
|
|
|
+ QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ if (SystemConstant.longNotNull(schoolId)){
|
|
|
|
+ basicSchoolQueryWrapper.lambda().eq(BasicSchool::getId,schoolId);
|
|
|
|
+ }
|
|
|
|
+ List<BasicSchool> basicSchoolList = basicSchoolService.list(basicSchoolQueryWrapper);
|
|
SysRole role = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, RoleTypeEnum.SCHOOL_ADMIN)).get(0);
|
|
SysRole role = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, RoleTypeEnum.SCHOOL_ADMIN)).get(0);
|
|
List<Long> roleIds = new ArrayList<>();
|
|
List<Long> roleIds = new ArrayList<>();
|
|
roleIds.add(role.getId());
|
|
roleIds.add(role.getId());
|
|
for (BasicSchool basicSchool : basicSchoolList) {
|
|
for (BasicSchool basicSchool : basicSchoolList) {
|
|
- Long schoolId = basicSchool.getId();
|
|
|
|
|
|
+ Long cellSchoolId = basicSchool.getId();
|
|
SysOrg schoolOrg = sysOrgService.getOne(new QueryWrapper<SysOrg>().lambda()
|
|
SysOrg schoolOrg = sysOrgService.getOne(new QueryWrapper<SysOrg>().lambda()
|
|
- .eq(SysOrg::getSchoolId, schoolId)
|
|
|
|
|
|
+ .eq(SysOrg::getSchoolId, cellSchoolId)
|
|
.eq(SysOrg::getType, OrgTypeEnum.SCHOOL));
|
|
.eq(SysOrg::getType, OrgTypeEnum.SCHOOL));
|
|
if (Objects.isNull(schoolOrg)) {
|
|
if (Objects.isNull(schoolOrg)) {
|
|
throw ExceptionResultEnum.ERROR.exception("未找到学校对应的顶级机构");
|
|
throw ExceptionResultEnum.ERROR.exception("未找到学校对应的顶级机构");
|
|
@@ -1022,7 +1026,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
.distinct().collect(Collectors.toList());
|
|
.distinct().collect(Collectors.toList());
|
|
if (adminUserIdList.size() > 0) {
|
|
if (adminUserIdList.size() > 0) {
|
|
List<SysUser> adminUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda()
|
|
List<SysUser> adminUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda()
|
|
- .eq(SysUser::getSchoolId, schoolId)
|
|
|
|
|
|
+ .eq(SysUser::getSchoolId, cellSchoolId)
|
|
.in(SysUser::getId, adminUserIdList));
|
|
.in(SysUser::getId, adminUserIdList));
|
|
if (adminUserList.size() > 0) {
|
|
if (adminUserList.size() > 0) {
|
|
// 存在管理员
|
|
// 存在管理员
|
|
@@ -1030,7 +1034,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
}
|
|
}
|
|
UserSaveParams userSaveParams = new UserSaveParams();
|
|
UserSaveParams userSaveParams = new UserSaveParams();
|
|
- userSaveParams.setSchoolId(schoolId);
|
|
|
|
|
|
+ userSaveParams.setSchoolId(cellSchoolId);
|
|
userSaveParams.setLoginName("admin");
|
|
userSaveParams.setLoginName("admin");
|
|
userSaveParams.setRealName("学校管理员");
|
|
userSaveParams.setRealName("学校管理员");
|
|
userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
|
|
userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
|