|
@@ -7,6 +7,7 @@ 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.constant.SysConfigConstant;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
|
|
@@ -17,9 +18,7 @@ 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.service.*;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
|
|
@@ -33,7 +32,6 @@ 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 com.yonge.cooleshow.biz.dal.service.TeacherService;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
@@ -58,6 +56,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
private CourseScheduleDao courseScheduleDao;
|
|
|
@Autowired
|
|
|
private RedissonClient redissonClient;
|
|
|
+ @Autowired
|
|
|
+ private SysConfigService sysConfigService;
|
|
|
|
|
|
@Override
|
|
|
public TeacherVo detail(Long userId) {
|
|
@@ -90,8 +90,11 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TeacherHomeVo queryUserInfo(SysUser user) {
|
|
|
+ public HttpResponseResult<TeacherHomeVo> queryUserInfo(SysUser user) {
|
|
|
Teacher teacher = getById(user.getId());
|
|
|
+ if (null == teacher) {
|
|
|
+ return HttpResponseResult.failed("未查询到老师信息");
|
|
|
+ }
|
|
|
TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
|
|
|
teacherHomeVo.setUserId(user.getId());
|
|
|
teacherHomeVo.setHeardUrl(user.getAvatar());
|
|
@@ -99,34 +102,42 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
teacherHomeVo.setLiveFlag(teacher.getLiveFlag());
|
|
|
|
|
|
TeacherAuthEntryRecord entryRecord = entryRecordService.getLastRecordByUserId(user.getId());
|
|
|
- if(null == entryRecord){
|
|
|
+ if (null == entryRecord) {
|
|
|
teacherHomeVo.setEntryStatus(AuthStatusEnum.UNPAALY);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
teacherHomeVo.setEntryStatus(entryRecord.getTeacherAuthStatus());
|
|
|
}
|
|
|
|
|
|
TeacherAuthMusicianRecord musicianRecord = musicianRecordService.getLastRecordByUserId(user.getId());
|
|
|
- if(null == musicianRecord){
|
|
|
+ if (null == musicianRecord) {
|
|
|
teacherHomeVo.setMusicianAuthStatus(AuthStatusEnum.UNPAALY);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
teacherHomeVo.setMusicianAuthStatus(musicianRecord.getTeacherAuthStatus());
|
|
|
}
|
|
|
|
|
|
TeacherTotalVo totalVo = (TeacherTotalVo) redissonClient.getBucket(CacheNameEnum.TEACHER_HOME_TOTAL.getRedisKey(user.getId())).get();
|
|
|
- if (null != totalVo) {
|
|
|
+ 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;
|
|
|
+ return HttpResponseResult.succeed(teacherHomeVo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public HttpResponseResult<Boolean> openLive(Long id) {
|
|
|
- //todo 根据老师规则,判断老师直播权限
|
|
|
- if (true) {
|
|
|
+ TeacherTotalVo totalVo = (TeacherTotalVo) redissonClient.getBucket(CacheNameEnum.TEACHER_HOME_TOTAL.getRedisKey(id)).get();
|
|
|
+ if (null == totalVo) {
|
|
|
+ return HttpResponseResult.succeed(false);
|
|
|
+ }
|
|
|
+ //开通直播需要粉丝数
|
|
|
+ Integer fansNum = Integer.parseInt(sysConfigService.findByParamName(SysConfigConstant.OPEN_LIVE_FANS_NUM).getParamValue());
|
|
|
+ //开通直播需要已完成课时数
|
|
|
+ Integer overClass = Integer.parseInt(sysConfigService.findByParamName(SysConfigConstant.OPEN_LIVE_OVER_CLASS).getParamValue());
|
|
|
+ //根据老师规则,判断老师直播权限
|
|
|
+ if (totalVo.getFansNum() > fansNum && totalVo.getExpTime() > overClass) {
|
|
|
Teacher teacher = new Teacher();
|
|
|
teacher.setUserId(id);
|
|
|
teacher.setLiveFlag(YesOrNoEnum.YES);
|