Jelajahi Sumber

老师标签

liujunchi 3 tahun lalu
induk
melakukan
1204da40ab

+ 1 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherStyleVideoController.java

@@ -55,6 +55,6 @@ public class TeacherStyleVideoController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('teacherAuthMusicianRecord/doAuth')")
     public HttpResponseResult<Boolean> doAuth(@Valid @RequestBody AuthOperaReq authOperaReq) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        return teacherStyleVideoService.doAuth(authOperaReq, sysUser);
+        return succeed(teacherStyleVideoService.doAuth(authOperaReq, sysUser));
     }
 }

+ 12 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/RoomInfoCache.java

@@ -49,9 +49,12 @@ public class RoomInfoCache implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createRoomTime;
 
-    @ApiModelProperty(value = "结束时间后最多延迟分钟数")
+    @ApiModelProperty(value = "开始提前进入分钟数")
     private Integer expiredMinute;
 
+    @ApiModelProperty(value = "结束时间后最多延迟分钟数")
+    private Integer expiredCloseMinute;
+
     @ApiModelProperty(value = "主讲人进入房间时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date joinRoomTime;
@@ -69,6 +72,14 @@ public class RoomInfoCache implements Serializable {
     @ApiModelProperty(value = "当前观看人数")
     private Integer lookNum;
 
+    public Integer getExpiredCloseMinute() {
+        return expiredCloseMinute;
+    }
+
+    public void setExpiredCloseMinute(Integer expiredCloseMinute) {
+        this.expiredCloseMinute = expiredCloseMinute;
+    }
+
     public Long getCourseId() {
         return courseId;
     }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java

@@ -103,6 +103,11 @@ public class Teacher implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date entryAuthDate;
 
+
+    @ApiModelProperty("老师点亮图标 STYLE:个人风采 VIDEO:视频课 LIVE:直播课,MUSIC:曲目 ")
+    @TableField(value = "tag_")
+    private String tag;
+
     /** 
     * 音乐人  0 否 1 是
     */
@@ -140,6 +145,14 @@ public class Teacher implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
 
+    public String getTag() {
+        return tag;
+    }
+
+    public void setTag(String tag) {
+        this.tag = tag;
+    }
+
     public Long getUserId() {
         return userId;
     }

+ 37 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/TeacherTagEnum.java

@@ -0,0 +1,37 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+import com.yonge.toolset.base.enums.BaseEnum;
+import com.yonge.toolset.base.util.StringUtil;
+
+/***
+ * 老师类型枚举
+ * @author liweifan
+ * @updateTime 2022/3/23 17:01
+ */
+
+public enum TeacherTagEnum implements BaseEnum<String, TeacherTagEnum> {
+    STYLE("个人风采"),
+    VIDEO("视频课"),
+    MUSIC("曲目"),
+    LIVE("直播课");
+    @EnumValue
+    private String code;
+    private String msg;
+
+    TeacherTagEnum(String msg) {
+        this.code = this.name();
+        this.msg = msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+
+    public String getMsg() {
+        return this.msg;
+    }
+
+}

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

@@ -7,6 +7,7 @@ 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.Teacher;
+import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 
@@ -126,4 +127,11 @@ public interface TeacherService extends IService<Teacher> {
      */
     IPage<MyFens> queryMyFans(IPage<MyFens> page, Long teacherId);
 
+    /**
+     * 设置老师标签
+     *
+     * @param userId 老师id
+     * @param teacherTagEnum 标签
+     */
+    void setTeacherTag(Long userId, TeacherTagEnum teacherTagEnum);
 }

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

@@ -42,7 +42,7 @@ public interface TeacherStyleVideoService extends IService<TeacherStyleVideo>  {
      * @updateTime 2022/3/22 20:06
      * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
      */
-    HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) throws Exception;
+    Boolean doAuth(AuthOperaReq authOperaReq, SysUser sysUser) throws Exception;
 
     /***
      * 查询用户的风采视频

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -342,7 +342,9 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         roomCache.setLiveEndTime(room.getLiveEndTime());
         roomCache.setCreateRoomTime(new Date());
         String configValue = sysConfigService.findConfigValue(PRE_CREATE_LIVE_ROOM_MINUTE);
+        String expireCloseMinute = sysConfigService.findConfigValue(DESTROY_EXPIRED_LIVE_ROOM_MINUTE);
         roomCache.setExpiredMinute(Integer.parseInt(configValue));
+        roomCache.setExpiredCloseMinute(Integer.parseInt(expireCloseMinute));
         roomCache.setRoomType(room.getType());
         roomCache.setCourseId(room.getCourseId());
         roomCache.setCourseGroupId(room.getCourseGroupId());

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

@@ -333,6 +333,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
             musicSheet.setUpdateTime(new Date());
             if (AuthStatusEnum.PASS.getCode().equals(param.getAuthStatus().getCode())) {
                 musicSheet.setState(YesOrNoEnum.YES);
+
+                // 修改老师标签
+                teacherService.setTeacherTag(musicSheet.getUserId(), TeacherTagEnum.MUSIC);
+
             }
             flag =  this.updateById(musicSheet);
         }

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

@@ -179,6 +179,10 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacher.setLiveDate(new Date());
             teacher.setUpdateTime(new Date());
             baseMapper.updateById(teacher);
+
+            // 添加标签
+            this.setTeacherTag(id,TeacherTagEnum.LIVE);
+
             return HttpResponseResult.status(true);
         } else {
             return HttpResponseResult.failed("不满足开通条件");
@@ -425,4 +429,21 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         return page.setRecords(teacherVos);
     }
 
+    @Override
+    public void setTeacherTag(Long userId, TeacherTagEnum teacherTagEnum) {
+        TeacherVo teacherVo = this.detail(userId);
+        if (teacherVo == null) {
+            return;
+        }
+        if (StringUtil.isEmpty(teacherVo.getTag())) {
+            teacherVo.setTag(teacherTagEnum.getCode());
+        } else  if (teacherVo.getTag().contains(teacherTagEnum.getCode())) {
+            return;
+        } else {
+            teacherVo.setTag(teacherVo.getTag() + "," + teacherTagEnum.getCode());
+        }
+
+        this.updateById(teacherVo);
+    }
+
 }

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

@@ -4,26 +4,28 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dao.TeacherStyleVideoDao;
 import com.yonge.cooleshow.biz.dal.dto.req.AuthOperaReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherStyleSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherStyleVideoSearch;
+import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo;
+import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.string.StringPool;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
-import com.yonge.toolset.utils.http.HttpUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
-import com.yonge.cooleshow.biz.dal.dao.TeacherStyleVideoDao;
-import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
@@ -41,6 +43,9 @@ public class TeacherStyleVideoServiceImpl extends ServiceImpl<TeacherStyleVideoD
     private SysMessageService sysMessageService;
 
     @Autowired
+    private TeacherService teacherService;
+
+    @Autowired
     private SysUserFeignService sysUserFeignService;
 
     @Override
@@ -55,7 +60,7 @@ public class TeacherStyleVideoServiceImpl extends ServiceImpl<TeacherStyleVideoD
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser sysUser) throws Exception {
+    public Boolean doAuth(AuthOperaReq authOperaReq, SysUser sysUser) throws Exception {
         Long[] ids = StringUtil.toLongArray(StringPool.COMMA, authOperaReq.getId());
         for (Long id : ids) {
             TeacherStyleVideo build = baseMapper.selectById(id);
@@ -66,12 +71,15 @@ public class TeacherStyleVideoServiceImpl extends ServiceImpl<TeacherStyleVideoD
             build.setReason(authOperaReq.getReason());
             build.setVerifyUserId(sysUser.getId());
             build.setUpdateTime(new Date());
-            HttpResponseResult<Boolean> result = HttpResponseResult.succeed(baseMapper.updateById(build) > 0);
-            if (result.getStatus()) {
+            boolean b = baseMapper.updateById(build) > 0;
+            if (b) {
                 sendAuthMessage(authOperaReq.getPass(), build.getUserId(), authOperaReq.getReason());
+                if (authOperaReq.getPass()) {
+                    teacherService.setTeacherTag(build.getUserId(), TeacherTagEnum.STYLE);
+                }
             }
         }
-        return HttpResponseResult.succeed(true);
+        return true;
     }
 
     /**

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

@@ -20,7 +20,9 @@ import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.service.SysMessageService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
@@ -61,6 +63,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     private TeacherDao teacherDao;
     @Autowired
     private SysMessageService sysMessageService;
+
+    @Autowired
+    private TeacherService teacherService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
@@ -115,6 +120,7 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //改主表
         videoLessonGroupDao.updateExamine(examineVo);
 
+        VideoLessonGroup lessonGroup = baseMapper.selectById(examineVo.getId());
         //插从表
         VideoLessonAuthRecord record = new VideoLessonAuthRecord();
         record.setAuditStatus(examineVo.getAuditStatus());
@@ -129,8 +135,12 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
                 .eq(VideoLessonAuthRecord::getVideoGroupId, examineVo.getId())
                 .eq(VideoLessonAuthRecord::getAuditStatus, AuthStatusEnum.DOING));
 
+        // 设置标签
+        if (AuthStatusEnum.PASS.getCode().equals(examineVo.getAuditStatus())) {
+            teacherService.setTeacherTag(lessonGroup.getTeacherId(), TeacherTagEnum.VIDEO);
+        }
+
         //推送
-        VideoLessonGroup lessonGroup = baseMapper.selectById(examineVo.getId());
         String status = examineVo.getAuditStatus();
         Map<Long, String> receivers = new HashMap<>();
         SysUser teacher = sysUserFeignService.queryUserById(lessonGroup.getTeacherId());

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -46,6 +46,7 @@
         , t.live_date_ as "liveDate"
         , t.browse_ as "browse"
         , t.memo_ as "memo"
+        , t.tag_ as "tag"
         , t.create_time_ as "createTime"
         , t.update_time_ as "updateTime"
         </sql>