|  | @@ -1,5 +1,24 @@
 | 
											
												
													
														|  |  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.ArrayList;
 | 
											
												
													
														|  | 
 |  | +import java.util.Date;
 | 
											
												
													
														|  | 
 |  | +import java.util.List;
 | 
											
												
													
														|  | 
 |  | +import java.util.Map;
 | 
											
												
													
														|  | 
 |  | +import java.util.concurrent.TimeUnit;
 | 
											
												
													
														|  | 
 |  | +import java.util.stream.Collectors;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import javax.annotation.Resource;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import org.redisson.api.RMap;
 | 
											
												
													
														|  | 
 |  | +import org.redisson.api.RedissonClient;
 | 
											
												
													
														|  | 
 |  | +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;
 | 
											
										
											
												
													
														|  | @@ -7,20 +26,41 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
											
												
													
														|  |  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;
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.enums.*;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.vo.MyFens;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.common.constant.SysConfigConstant;
 |  | 
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 |  |  import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 |  |  import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 |  |  import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 |  |  import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.entity.*;
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.service.*;
 |  | 
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.Student;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.StudentStar;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.Subject;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.Teacher;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.TeacherAuthMusicianRecord;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.TeacherTotal;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.entity.UserAccount;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.StudentService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.StudentStarService;
 | 
											
												
													
														|  | 
 |  | +import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 | 
											
												
													
														|  | 
 |  | +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.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.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.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;
 | 
											
												
													
														|  |  import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
 |  |  import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
 | 
											
										
											
												
													
														|  | @@ -31,25 +71,6 @@ 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.springframework.beans.BeanUtils;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.beans.factory.annotation.Autowired;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.stereotype.Service;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import org.springframework.transaction.annotation.Transactional;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import javax.annotation.Resource;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import java.util.*;
 |  | 
 | 
											
												
													
														|  | -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 {
 | 
											
												
													
														|  |      @Autowired
 |  |      @Autowired
 | 
											
										
											
												
													
														|  | @@ -76,6 +97,12 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 | 
											
												
													
														|  |      private UserFirstTimeService userFirstTimeService;
 |  |      private UserFirstTimeService userFirstTimeService;
 | 
											
												
													
														|  |      @Autowired
 |  |      @Autowired
 | 
											
												
													
														|  |      private TeacherTotalService totalService;
 |  |      private TeacherTotalService totalService;
 | 
											
												
													
														|  | 
 |  | +    
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private StudentStarDao studentStarDao;
 | 
											
												
													
														|  | 
 |  | +    
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private StudentService studentService;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public TeacherVo detail(Long userId) {
 |  |      public TeacherVo detail(Long userId) {
 | 
											
										
											
												
													
														|  | @@ -519,9 +546,24 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  | -	public List<HotTeacherVo> queryHotTeacherList() {
 |  | 
 | 
											
												
													
														|  | 
 |  | +	public List<HotTeacherVo> queryHotTeacherList(Long userId) {
 | 
											
												
													
														|  | 
 |  | +    	List<Long> watchTeacherIdList = new ArrayList<Long>();
 | 
											
												
													
														|  | 
 |  | +    	
 | 
											
												
													
														|  | 
 |  | +    	List<StudentStar> studentStarList = studentStarDao.queryByStudentId(userId);
 | 
											
												
													
														|  | 
 |  | +    	if(studentStarList != null && studentStarList.size() > 0){
 | 
											
												
													
														|  | 
 |  | +    		watchTeacherIdList = studentStarList.stream().map(StudentStar :: getTeacherId).collect(Collectors.toList());
 | 
											
												
													
														|  | 
 |  | +    	}
 | 
											
												
													
														|  | 
 |  | +    	
 | 
											
												
													
														|  | 
 |  | +    	Student student = studentService.getById(userId);
 | 
											
												
													
														|  | 
 |  | +    	
 | 
											
												
													
														|  | 
 |  | +    	List<HotTeacherVo> hotTeacherList = baseMapper.queryHotTeacherList(Long.parseLong(student.getSubjectId()));
 | 
											
												
													
														|  | 
 |  | +    	for(HotTeacherVo vo : hotTeacherList){
 | 
											
												
													
														|  | 
 |  | +    		if(watchTeacherIdList.contains(vo.getUserId())){
 | 
											
												
													
														|  | 
 |  | +    			vo.setWatch(true);
 | 
											
												
													
														|  | 
 |  | +    		}
 | 
											
												
													
														|  | 
 |  | +    	}
 | 
											
												
													
														|  |      	
 |  |      	
 | 
											
												
													
														|  | -		return baseMapper.queryHotTeacherList();
 |  | 
 | 
											
												
													
														|  | 
 |  | +		return hotTeacherList;
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	private void setTagTime(TeacherTagEnum teacherTagEnum, TeacherVo teacherVo) {
 |  |  	private void setTagTime(TeacherTagEnum teacherTagEnum, TeacherVo teacherVo) {
 |