zouxuan 5 ماه پیش
والد
کامیت
240502a508

+ 8 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -53,6 +53,7 @@ import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.string.ValueUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.kafka.common.protocol.types.Field;
 import org.redisson.api.RMap;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.BeanUtils;
@@ -665,8 +666,11 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         if (org.apache.commons.collections.CollectionUtils.isNotEmpty(updateUsers)) {
             sysUserMapper.batchUpdate(updateUsers);
         }
+        List<SysUser> userByPhones = sysUserMapper.findUserByPhones(studentImports.stream()
+                .map(StudentImportWrapper.StudentImport::getPhone).collect(Collectors.toList()));
+        Map<String, Long> userByPhoneMap = userByPhones.stream().collect(Collectors.toMap(SysUser::getPhone, SysUser::getId));
         //获取所有用户编号
-        List<Long> userIds = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
+        List<Long> userIds = userByPhones.stream().map(SysUser::getId).collect(Collectors.toList());
         //机构学员添加机构绑定记录
         List<UserTenantBindRecord> userTenantBindRecords = userTenantBindRecordService.lambdaQuery().in(UserTenantBindRecord::getUserId, userIds).list();
         Map<Long, UserTenantBindRecord> userTenantBindRecordMap = userTenantBindRecords.stream().collect(Collectors.toMap(UserTenantBindRecord::getUserId, o -> o));
@@ -676,9 +680,11 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 .collect(Collectors.toMap(StudentImportWrapper.StudentImport::getPhone, o -> o));
         List<Student> students = new ArrayList<>();
         for (SysUser sysUser : sysUsers) {
+            Long userId = userByPhoneMap.get(sysUser.getPhone());
+            sysUser.setId(userId);
             StudentImportWrapper.StudentImport studentImport = studentImportMap.get(sysUser.getPhone());
             Student student = new Student();
-            student.setUserId(sysUser.getId());
+            student.setUserId(userId);
             student.setTenantId(sysUser.getTenantId());
             student.setSubjectId(studentImport.getSubjectId().toString());
             student.setAvatar(sysUser.getAvatar());

+ 9 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -26,6 +26,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.im.EImUserFriendSourceForm;
+import com.yonge.cooleshow.biz.dal.execl.entity.StudentImportWrapper;
 import com.yonge.cooleshow.biz.dal.execl.entity.TeacherImportWrapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper;
 import com.yonge.cooleshow.biz.dal.mapper.UserTenantBindRecordMapper;
@@ -1740,9 +1741,13 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             sysUserMapper.batchUpdate(updateUsers);
         }
         //保存老师信息
-        Map<String,TeacherImportWrapper.TeacherImport> teacherImportMap = teacherImports.stream().collect(Collectors.toMap(TeacherImportWrapper.TeacherImport::getPhone, o -> o));
+        Map<String,TeacherImportWrapper.TeacherImport> teacherImportMap = teacherImports.stream()
+                .collect(Collectors.toMap(TeacherImportWrapper.TeacherImport::getPhone, o -> o));
+        List<SysUser> userByPhones = sysUserMapper.findUserByPhones(teacherImports.stream()
+                .map(TeacherImportWrapper.TeacherImport::getPhone).collect(Collectors.toList()));
+        Map<String, Long> userByPhoneMap = userByPhones.stream().collect(Collectors.toMap(SysUser::getPhone, SysUser::getId));
         //获取所有用户编号
-        List<Long> userIds = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
+        List<Long> userIds = userByPhones.stream().map(SysUser::getId).collect(Collectors.toList());
         //获取所有老师账户表
         List<UserAccount> userAccounts = userAccountService.lambdaQuery().in(UserAccount::getUserId, userIds).list();
         Map<Long, UserAccount> userAccountMap = userAccounts.stream().collect(Collectors.toMap(UserAccount::getUserId, o -> o));
@@ -1755,6 +1760,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
         List<Teacher> teachers = new ArrayList<>();
         for (SysUser sysUser : sysUsers) {
+            Long userId = userByPhoneMap.get(sysUser.getPhone());
+            sysUser.setId(userId);
             //老师表初始化
             TeacherImportWrapper.TeacherImport teacherImport = teacherImportMap.get(sysUser.getPhone());
             teacherImport.setUserId(sysUser.getId());