|  | @@ -1,32 +1,10 @@
 | 
											
												
													
														|  |  package com.yonge.cooleshow.biz.dal.service.impl;
 |  |  package com.yonge.cooleshow.biz.dal.service.impl;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import java.util.*;
 |  | 
 | 
											
												
													
														|  | -import java.util.concurrent.TimeUnit;
 |  | 
 | 
											
												
													
														|  | -import java.util.stream.Collectors;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import javax.annotation.Resource;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import com.google.common.collect.Lists;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.service.*;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
 |  | 
 | 
											
												
													
														|  | -import org.redisson.api.RMap;
 |  | 
 | 
											
												
													
														|  | -import org.redisson.api.RedissonClient;
 |  | 
 | 
											
												
													
														|  | -import org.slf4j.Logger;
 |  | 
 | 
											
												
													
														|  | -import org.slf4j.LoggerFactory;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.beans.BeanUtils;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.beans.factory.annotation.Autowired;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.stereotype.Service;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.transaction.annotation.Transactional;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 |  |  import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 |  |  import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
											
												
													
														|  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
											
												
													
														|  | 
 |  | +import com.google.common.collect.Lists;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 |  |  import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 |  |  import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 |  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
											
										
											
												
													
														|  | @@ -49,12 +27,30 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 |  |  import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 |  |  import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
 |  |  import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.StudentService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.StudentStarService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.SubjectService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.TeacherService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.UserAccountService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.UserFirstTimeService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.vo.HotTeacherVo;
 |  |  import com.yonge.cooleshow.biz.dal.vo.HotTeacherVo;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.vo.MyFens;
 |  |  import com.yonge.cooleshow.biz.dal.vo.MyFens;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 |  |  import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 |  |  import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 |  |  import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
 |  |  import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.common.constant.SysConfigConstant;
 |  |  import com.yonge.cooleshow.common.constant.SysConfigConstant;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.common.entity.HttpResponseResult;
 |  |  import com.yonge.cooleshow.common.entity.HttpResponseResult;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.common.enums.CacheNameEnum;
 |  |  import com.yonge.cooleshow.common.enums.CacheNameEnum;
 | 
											
										
											
												
													
														|  | @@ -66,6 +62,28 @@ import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 | 
											
												
													
														|  |  import com.yonge.toolset.utils.date.DateUtil;
 |  |  import com.yonge.toolset.utils.date.DateUtil;
 | 
											
												
													
														|  |  import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 |  |  import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 | 
											
												
													
														|  |  import com.yonge.toolset.utils.string.ValueUtil;
 |  |  import com.yonge.toolset.utils.string.ValueUtil;
 | 
											
												
													
														|  | 
 |  | +import org.redisson.api.RMap;
 | 
											
												
													
														|  | 
 |  | +import org.redisson.api.RedissonClient;
 | 
											
												
													
														|  | 
 |  | +import org.slf4j.Logger;
 | 
											
												
													
														|  | 
 |  | +import org.slf4j.LoggerFactory;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.BeanUtils;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.stereotype.Service;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.transaction.annotation.Transactional;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import javax.annotation.Resource;
 | 
											
												
													
														|  | 
 |  | +import java.util.ArrayList;
 | 
											
												
													
														|  | 
 |  | +import java.util.Arrays;
 | 
											
												
													
														|  | 
 |  | +import java.util.Date;
 | 
											
												
													
														|  | 
 |  | +import java.util.HashMap;
 | 
											
												
													
														|  | 
 |  | +import java.util.List;
 | 
											
												
													
														|  | 
 |  | +import java.util.Map;
 | 
											
												
													
														|  | 
 |  | +import java.util.Objects;
 | 
											
												
													
														|  | 
 |  | +import java.util.concurrent.TimeUnit;
 | 
											
												
													
														|  | 
 |  | +import java.util.stream.Collectors;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  @Service
 |  |  @Service
 | 
											
												
													
														|  |  public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
 |  |  public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
 | 
											
										
											
												
													
														|  | @@ -112,6 +130,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 | 
											
												
													
														|  |      @Autowired
 |  |      @Autowired
 | 
											
												
													
														|  |      private ImGroupService imGroupService;
 |  |      private ImGroupService imGroupService;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private ImGroupCoreService imGroupCoreService;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public TeacherVo detail(Long userId) {
 |  |      public TeacherVo detail(Long userId) {
 | 
											
												
													
														|  |          TeacherVo detail = baseMapper.detail(userId);
 |  |          TeacherVo detail = baseMapper.detail(userId);
 | 
											
										
											
												
													
														|  | @@ -183,6 +204,16 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 | 
											
												
													
														|  |          TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
 |  |          TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
 | 
											
												
													
														|  |          BeanUtils.copyProperties(teacher, teacherHomeVo);
 |  |          BeanUtils.copyProperties(teacher, teacherHomeVo);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +        try {
 | 
											
												
													
														|  | 
 |  | +            ImGroupWrapper.ImUserInfo register = imGroupCoreService.register(teacher.getUserId().toString(),
 | 
											
												
													
														|  | 
 |  | +                    ClientEnum.TEACHER.getCode(),
 | 
											
												
													
														|  | 
 |  | +                    teacher.getUsername(),
 | 
											
												
													
														|  | 
 |  | +                    teacher.getAvatar());
 | 
											
												
													
														|  | 
 |  | +            teacherHomeVo.setImToken(register.getImToken());
 | 
											
												
													
														|  | 
 |  | +        } catch (Exception e) {
 | 
											
												
													
														|  | 
 |  | +            throw new BizException("获取IMToken失败");
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |          // 设置IM用户ID
 |  |          // 设置IM用户ID
 | 
											
												
													
														|  |          teacherHomeVo.setImUserId(imGroupService.getImUserId(userId.toString(),ClientEnum.TEACHER.getCode()));
 |  |          teacherHomeVo.setImUserId(imGroupService.getImUserId(userId.toString(),ClientEnum.TEACHER.getCode()));
 | 
											
												
													
														|  |  
 |  |  
 |