|
@@ -12,22 +12,26 @@ import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
|
|
|
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.TeacherStyleVideo;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.CacheNameEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
|
import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
|
+import org.redisson.api.RedissonClient;
|
|
|
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.entity.Teacher;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherService;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -36,7 +40,6 @@ import org.springframework.util.CollectionUtils;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-
|
|
|
@Service
|
|
|
public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
|
|
|
@Autowired
|
|
@@ -46,12 +49,15 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
@Autowired
|
|
|
private TeacherAuthEntryRecordService entryRecordService;
|
|
|
@Autowired
|
|
|
+ private TeacherAuthMusicianRecordService musicianRecordService;
|
|
|
+ @Autowired
|
|
|
private EmployeeDao employeeDao;
|
|
|
@Autowired
|
|
|
private StudentStarDao studentStarDao;
|
|
|
@Autowired
|
|
|
private CourseScheduleDao courseScheduleDao;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private RedissonClient redissonClient;
|
|
|
|
|
|
@Override
|
|
|
public TeacherVo detail(Long userId) {
|
|
@@ -84,6 +90,40 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public TeacherHomeVo queryUserInfo(SysUser user) {
|
|
|
+ Teacher teacher = getById(user.getId());
|
|
|
+ TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
|
|
|
+ teacherHomeVo.setUserId(user.getId());
|
|
|
+ teacherHomeVo.setHeardUrl(user.getAvatar());
|
|
|
+ teacherHomeVo.setUsername(user.getUsername());
|
|
|
+ teacherHomeVo.setLiveFlag(teacher.getLiveFlag());
|
|
|
+
|
|
|
+ TeacherAuthEntryRecord entryRecord = entryRecordService.getLastRecordByUserId(user.getId());
|
|
|
+ if(null == entryRecord){
|
|
|
+ teacherHomeVo.setEntryStatus(AuthStatusEnum.UNPAALY);
|
|
|
+ }else{
|
|
|
+ teacherHomeVo.setEntryStatus(entryRecord.getTeacherAuthStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ TeacherAuthMusicianRecord musicianRecord = musicianRecordService.getLastRecordByUserId(user.getId());
|
|
|
+ if(null == musicianRecord){
|
|
|
+ teacherHomeVo.setMusicianAuthStatus(AuthStatusEnum.UNPAALY);
|
|
|
+ }else{
|
|
|
+ teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
|
|
|
+ }
|
|
|
+
|
|
|
+ TeacherTotalVo totalVo = (TeacherTotalVo) redissonClient.getBucket(CacheNameEnum.TEACHER_HOME_TOTAL.getRedisKey(user.getId())).get();
|
|
|
+ if (null != totalVo) {
|
|
|
+ totalVo = new TeacherTotalVo();
|
|
|
+ }
|
|
|
+ teacherHomeVo.setStarGrade((null == totalVo.getStarGrade()) ? 0 : totalVo.getStarGrade().intValue());
|
|
|
+ teacherHomeVo.setFansNum((null == totalVo.getFansNum()) ? 0 : totalVo.getFansNum());
|
|
|
+ teacherHomeVo.setExpTime((null == totalVo.getExpTime()) ? 0 : totalVo.getExpTime());
|
|
|
+ teacherHomeVo.setUnExpTime((null == totalVo.getUnExpTime()) ? 0 : totalVo.getUnExpTime());
|
|
|
+ return teacherHomeVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public HttpResponseResult<Boolean> openLive(Long id) {
|
|
|
//todo 根据老师规则,判断老师直播权限
|
|
|
if (true) {
|
|
@@ -120,21 +160,23 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
for (Teacher teacher : teachers) {
|
|
|
TeacherTotalVo totalVo = new TeacherTotalVo();
|
|
|
totalVo.setUserId(teacher.getUserId());
|
|
|
- TeacherTotalVo fansTotal= teacherStarMap.get(teacher.getUserId());
|
|
|
- if(null != fansTotal){
|
|
|
+ TeacherTotalVo fansTotal = teacherStarMap.get(teacher.getUserId());
|
|
|
+ if (null != fansTotal) {
|
|
|
totalVo.setFansNum(fansTotal.getFansNum());
|
|
|
}
|
|
|
- TeacherTotalVo courseTotal= teacherCourseMap.get(teacher.getUserId());
|
|
|
- if(null != courseTotal){
|
|
|
+ TeacherTotalVo courseTotal = teacherCourseMap.get(teacher.getUserId());
|
|
|
+ if (null != courseTotal) {
|
|
|
totalVo.setExpTime(courseTotal.getExpTime());
|
|
|
totalVo.setUnExpTime(courseTotal.getUnExpTime());
|
|
|
Double starGrade = courseTotal.getStarGrade();
|
|
|
- if(null != starGrade){
|
|
|
+ if (null != starGrade) {
|
|
|
Long round = Math.round(starGrade);
|
|
|
totalVo.setStarGrade(round.doubleValue());
|
|
|
}
|
|
|
}
|
|
|
resultList.add(totalVo);
|
|
|
+ redissonClient.getBucket(CacheNameEnum.TEACHER_HOME_TOTAL.getRedisKey(totalVo.getUserId()))
|
|
|
+ .set(totalVo);
|
|
|
}
|
|
|
return resultList;
|
|
|
}
|