|  | @@ -1,27 +1,26 @@
 | 
	
		
			
				|  |  |  package com.yonge.cooleshow.biz.dal.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.enums.SysUserType;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.dto.req.UserSetReq;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.Subject;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.entity.TeacherAuthEntryRecord;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.service.EmployeeService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 | 
	
		
			
				|  |  | +import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 | 
	
		
			
				|  |  | -import com.yonge.cooleshow.biz.dal.vo.UserSetVo;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.common.entity.HttpResponseResult;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.common.exception.BizException;
 | 
	
		
			
				|  |  |  import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 | 
	
	
		
			
				|  | @@ -32,9 +31,10 @@ import com.yonge.cooleshow.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.service.TeacherService;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | +import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.util.Date;
 | 
	
		
			
				|  |  | -import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Service
 | 
	
	
		
			
				|  | @@ -42,11 +42,15 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private TeacherStyleVideoService teacherStyleVideoService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private EmployeeDao employeeDao;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  |      private SysUserFeignService userFeignService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private TeacherAuthEntryRecordService entryRecordService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private EmployeeDao employeeDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private StudentStarDao studentStarDao;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private CourseScheduleDao courseScheduleDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -96,6 +100,45 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 | 
	
		
			
				|  |  |          return baseMapper.querySubject(userId);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<TeacherTotalVo> queryTotalList() {
 | 
	
		
			
				|  |  | +        List<Teacher> teachers = baseMapper.selectList(Wrappers.<Teacher>emptyWrapper()
 | 
	
		
			
				|  |  | +                .select("userId"));
 | 
	
		
			
				|  |  | +        //查询粉丝数
 | 
	
		
			
				|  |  | +        List<TeacherTotalVo> teacherStarTotal = studentStarDao.queryTeacherHomeTotal();
 | 
	
		
			
				|  |  | +        Map<Long, TeacherTotalVo> teacherStarMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(teacherStarTotal)) {
 | 
	
		
			
				|  |  | +            teacherStarMap = teacherStarTotal.stream().collect(Collectors.toMap(TeacherTotalVo::getUserId, o -> o));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //查询已上未上课时数
 | 
	
		
			
				|  |  | +        List<TeacherTotalVo> teacherCourseTotal = courseScheduleDao.queryTeacherHomeTotal();
 | 
	
		
			
				|  |  | +        Map<Long, TeacherTotalVo> teacherCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        if (!CollectionUtils.isEmpty(teacherCourseTotal)) {
 | 
	
		
			
				|  |  | +            teacherCourseMap = teacherCourseTotal.stream().collect(Collectors.toMap(TeacherTotalVo::getUserId, o -> o));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<TeacherTotalVo> resultList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        for (Teacher teacher : teachers) {
 | 
	
		
			
				|  |  | +            TeacherTotalVo totalVo = new TeacherTotalVo();
 | 
	
		
			
				|  |  | +            totalVo.setUserId(teacher.getUserId());
 | 
	
		
			
				|  |  | +            TeacherTotalVo fansTotal= teacherStarMap.get(teacher.getUserId());
 | 
	
		
			
				|  |  | +            if(null != fansTotal){
 | 
	
		
			
				|  |  | +                totalVo.setFansNum(fansTotal.getFansNum());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            TeacherTotalVo courseTotal= teacherCourseMap.get(teacher.getUserId());
 | 
	
		
			
				|  |  | +            if(null != courseTotal){
 | 
	
		
			
				|  |  | +                totalVo.setExpTime(courseTotal.getExpTime());
 | 
	
		
			
				|  |  | +                totalVo.setUnExpTime(courseTotal.getUnExpTime());
 | 
	
		
			
				|  |  | +                Double starGrade = courseTotal.getStarGrade();
 | 
	
		
			
				|  |  | +                if(null != starGrade){
 | 
	
		
			
				|  |  | +                    Long round = Math.round(starGrade);
 | 
	
		
			
				|  |  | +                    totalVo.setStarGrade(round.doubleValue());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            resultList.add(totalVo);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return resultList;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private HttpResponseResult<Boolean> doCreate(TeacherSubmitReq teacherSubmitReq) throws BizException {
 | 
	
		
			
				|  |  |          //判断手机号
 | 
	
		
			
				|  |  |          SysUser sysUser = employeeDao.queryByPhone(teacherSubmitReq.getPhone());
 |