Explorar o código

老师直播,老师入驻,音乐人入驻逻辑补全

weifanli %!s(int64=3) %!d(string=hai) anos
pai
achega
8495d49ed4

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java

@@ -51,7 +51,7 @@ public interface TeacherService extends IService<Teacher>  {
      * @updateTime 2022/3/28 16:49
      * @return: com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo
      */
-    TeacherHomeVo queryUserInfo(SysUser user);
+    HttpResponseResult<TeacherHomeVo> queryUserInfo(SysUser user);
     /***
      * 开通直播
      * @author liweifan

+ 5 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java

@@ -65,7 +65,11 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         if (hasApply(sysUser.getId())) {
             return HttpResponseResult.failed("已经提交过申请");
         }
-        //todo 判断用户是否已经通过申请
+        //判断用户是否已经通过申请
+        Teacher teacher = teacherDao.selectById(sysUser.getId());
+        if (teacher.getEntryFlag().equals(YesOrNoEnum.YES)) {
+            return HttpResponseResult.failed("已经通过审批");
+        }
         //修改用户表
         baseMapper.updateUserCard(teacherApplyDetailDto);
         //新增申请记录

+ 8 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthMusicianRecordServiceImpl.java

@@ -45,15 +45,19 @@ public class TeacherAuthMusicianRecordServiceImpl extends ServiceImpl<TeacherAut
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public HttpResponseResult<Boolean> doApply(Long id) {
+    public HttpResponseResult<Boolean> doApply(Long userId) {
         //判断用户是否已经提交申请
-        if (hasApply(id)) {
+        if (hasApply(userId)) {
             return HttpResponseResult.failed("已经提交过申请");
         }
-        //todo 判断用户是否已经通过申请
+        //判断用户是否已经通过申请
+        Teacher teacher = teacherDao.selectById(userId);
+        if(teacher.getMusicianFlag().equals(YesOrNoEnum.YES)){
+            return HttpResponseResult.failed("已经通过审批");
+        }
 
         TeacherAuthMusicianRecord record = new TeacherAuthMusicianRecord();
-        record.setUserId(id);
+        record.setUserId(userId);
         record.setTeacherAuthStatus(AuthStatusEnum.DOING);
         return HttpResponseResult.status(baseMapper.insert(record) > 0);
     }

+ 24 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -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);

+ 4 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherTotalVo.java

@@ -39,7 +39,7 @@ public class TeacherTotalVo {
     }
 
     public Integer getFansNum() {
-        return fansNum;
+        return null == fansNum ? 0 : fansNum;
     }
 
     public void setFansNum(Integer fansNum) {
@@ -47,7 +47,7 @@ public class TeacherTotalVo {
     }
 
     public Integer getExpTime() {
-        return expTime;
+        return null == expTime ? 0 : expTime;
     }
 
     public void setExpTime(Integer expTime) {
@@ -55,7 +55,7 @@ public class TeacherTotalVo {
     }
 
     public Integer getUnExpTime() {
-        return unExpTime;
+        return null == unExpTime ? 0 : unExpTime;
     }
 
     public void setUnExpTime(Integer unExpTime) {
@@ -63,7 +63,7 @@ public class TeacherTotalVo {
     }
 
     public Double getStarGrade() {
-        return starGrade;
+        return null == starGrade ? 0.0 : starGrade;
     }
 
     public void setStarGrade(Double starGrade) {

+ 1 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

@@ -36,8 +36,7 @@ public class TeacherController extends BaseController {
         if (user == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        TeacherHomeVo teacherHomeVo= teacherService.queryUserInfo(user);
-		return succeed(teacherHomeVo);
+        return teacherService.queryUserInfo(user);
     }
 
     @ApiOperation(value = "开通直播")