فهرست منبع

武汉大学教研分析用户账号调整新需求

caozixuan 3 سال پیش
والد
کامیت
d32bc5cb32

+ 13 - 10
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBTeacherServiceImpl.java

@@ -129,23 +129,28 @@ public class TBTeacherServiceImpl extends ServiceImpl<TBTeacherMapper, TBTeacher
         // 基础教师表
         List<TBTeacher> teacherList = this.list(new QueryWrapper<TBTeacher>().lambda().eq(TBTeacher::getSchoolId,schoolId));
         List<SysUser> dbUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId,schoolId));
-
-        List<SysUser> sysUserUpdateList = new ArrayList<>();
         for (TBTeacher tbTeacher : teacherList) {
             List<SysUser> dbFilter = dbUserList.stream().filter(e -> tbTeacher.getTeacherName().equals(e.getRealName())).collect(Collectors.toList());
+            SysRole teacherRole = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, tbTeacher.getRoleType())).get(0);
+            List<Long> roleIds = new ArrayList<>();
+            roleIds.add(teacherRole.getId());
             if (dbFilter.size() > 1){
                 throw ExceptionResultEnum.ERROR.exception("找到相同名称用户警告");
             }else if (dbFilter.size() == 1){
                 // 更新教师账号
                 SysUser dbUser = dbFilter.get(0);
-                dbUser.setLoginName(tbTeacher.getTeacherCode());
-                sysUserUpdateList.add(dbUser);
+                UserSaveParams userSaveParams = new UserSaveParams();
+                userSaveParams.setId(dbUser.getId());
+                userSaveParams.setSchoolId(tbTeacher.getSchoolId());
+                userSaveParams.setLoginName(tbTeacher.getTeacherCode());
+                userSaveParams.setRealName(tbTeacher.getTeacherName());
+                userSaveParams.setPassword(SystemConstant.DEFAULT_PASSWORD);
+                userSaveParams.setOrgId(tbTeacher.getOrgId());
+                userSaveParams.setEnable(true);
+                userSaveParams.setRoleIds(roleIds.toArray(new Long[0]));
+                sysUserService.saveUserNoAuth(userSaveParams);
             }else {
                 // 新增教师
-                SysRole teacherRole = sysRoleService.list(new QueryWrapper<SysRole>().lambda().eq(SysRole::getType, tbTeacher.getRoleType())).get(0);
-                List<Long> roleIds = new ArrayList<>();
-                roleIds.add(teacherRole.getId());
-
                 UserSaveParams userSaveParams = new UserSaveParams();
                 userSaveParams.setSchoolId(tbTeacher.getSchoolId());
                 userSaveParams.setLoginName(tbTeacher.getTeacherCode());
@@ -156,8 +161,6 @@ public class TBTeacherServiceImpl extends ServiceImpl<TBTeacherMapper, TBTeacher
                 userSaveParams.setRoleIds(roleIds.toArray(new Long[0]));
                 sysUserService.saveUserNoAuth(userSaveParams);
             }
-
         }
-        sysUserService.updateBatchById(sysUserUpdateList);
     }
 }