浏览代码

update:首页内容按声部过滤

yonge 3 年之前
父节点
当前提交
de4f7d136c
共有 19 个文件被更改,包括 223 次插入68 次删除
  1. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleDao.java
  2. 9 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentStarDao.java
  3. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java
  4. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherSearch.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java
  6. 12 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  7. 3 20
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java
  8. 9 8
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  9. 69 27
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  10. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HotTeacherVo.java
  11. 6 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  12. 4 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentStarMapper.xml
  13. 4 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  14. 13 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicAlbumController.java
  15. 9 0
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java
  16. 10 2
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentLiveRoomController.java
  17. 16 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/TeacherController.java
  18. 19 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicAlbumController.java
  19. 14 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleDao.java

@@ -131,10 +131,10 @@ public interface CourseScheduleDao extends BaseMapper<CourseSchedule> {
     void courseAdjust(CourseAdjustVo adjustVo);
 
     //学生端-首页-直播课
-    List<StudentHomePage.Live> selectLive(YesOrNoEnum appAuditVersion);
+    List<StudentHomePage.Live> selectLive(@Param("appAuditVersion") YesOrNoEnum appAuditVersion, @Param("subjectId") Long subjectId);
 
     //学生端-首页-视频课
-    List<StudentHomePage.Video> selectVideo(YesOrNoEnum appAuditVersion);
+    List<StudentHomePage.Video> selectVideo(@Param("appAuditVersion") YesOrNoEnum appAuditVersion, @Param("subjectId") Long subjectId);
 
     //学生端-首页-最近一堂课
     StudentHomePage.RecentCourses selectRecentCourses(Long studentId);

+ 9 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentStarDao.java

@@ -2,13 +2,12 @@ package com.yonge.cooleshow.biz.dal.dao;
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.StudentStar;
 import com.yonge.cooleshow.biz.dal.vo.StudentTotalVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
-import org.apache.ibatis.annotations.Param;
-import org.springframework.security.core.parameters.P;
 
 public interface StudentStarDao extends BaseMapper<StudentStar>{
 	/***
@@ -34,4 +33,11 @@ public interface StudentStarDao extends BaseMapper<StudentStar>{
 	 * @return: com.yonge.cooleshow.biz.dal.entity.StudentStar
 	 */
     StudentStar getByStudentIdAndTeacherId(@Param("studentId") Long studentId,@Param("teacherId") Long teacherId);
+    
+    /**
+     * 根据学生编号查询对象
+     * @param studentId
+     * @return
+     */
+    List<StudentStar> queryByStudentId(Long studentId);
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java

@@ -97,5 +97,5 @@ public interface TeacherDao extends BaseMapper<Teacher> {
      * 查询热门老师
      * @return
      */
-    List<HotTeacherVo> queryHotTeacherList();
+    List<HotTeacherVo> queryHotTeacherList(Long subjectId);
 }

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherSearch.java

@@ -31,6 +31,9 @@ public class TeacherSearch extends QueryInfo{
     
     @ApiModelProperty("用户状态")
     private String userStatus;
+    
+    @ApiModelProperty("声部编号")
+    private Long subjectId;
 
     public String getSearch() {
         return search;
@@ -87,4 +90,12 @@ public class TeacherSearch extends QueryInfo{
 	public void setDelFlag(YesOrNoEnum delFlag) {
 		this.delFlag = delFlag;
 	}
+
+	public Long getSubjectId() {
+		return subjectId;
+	}
+
+	public void setSubjectId(Long subjectId) {
+		this.subjectId = subjectId;
+	}
 }

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

@@ -140,5 +140,5 @@ public interface TeacherService extends IService<Teacher> {
      * 按照老师粉丝数按降序排列,且标记老师是否真正临时直播
      * @return
      */
-    List<HotTeacherVo> queryHotTeacherList();
+    List<HotTeacherVo> queryHotTeacherList(Long userId);
 }

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

@@ -37,6 +37,7 @@ import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.obj.ObjectUtil;
+
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RLock;
@@ -121,6 +122,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     private UserAccountRecordService userAccountRecordService;
     @Autowired
     private UserOrderService userOrderService;
+    
+    @Autowired
+    private StudentService studentService;
 
     @Override
     public CourseScheduleDao getDao() {
@@ -1308,8 +1312,14 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             appAuditVersion = YesOrNoEnum.NO;
         }
         if (teacherId == null) {
-            homePage.setLiveList(baseMapper.selectLive(appAuditVersion));
-            homePage.setVideoList(baseMapper.selectVideo(appAuditVersion));
+        	Student student = studentService.getById(studentId);
+        	Long subjectId = null;
+            if (student != null) {
+            	subjectId = Long.parseLong(student.getSubjectId());
+            }
+            
+            homePage.setLiveList(baseMapper.selectLive(appAuditVersion, subjectId));
+            homePage.setVideoList(baseMapper.selectVideo(appAuditVersion, subjectId));
             homePage.setRecentCourses(baseMapper.selectRecentCourses(studentId));
         }
         if (studentId == null) {

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

@@ -30,26 +30,6 @@ import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.LiveRoomDao;
-import com.yonge.cooleshow.biz.dal.entity.*;
-import com.yonge.cooleshow.biz.dal.enums.*;
-import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.biz.dal.support.IMHelper;
-import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
-import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
-import com.yonge.cooleshow.common.enums.YesOrNoEnum;
-import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.mybatis.support.PageUtil;
-import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
-import com.yonge.toolset.utils.date.DateUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RBucket;
@@ -82,6 +62,7 @@ import com.yonge.cooleshow.biz.dal.entity.StudentAttendance;
 import com.yonge.cooleshow.biz.dal.entity.TeacherAttendance;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
+import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.RoomTypeEnum;
@@ -90,6 +71,7 @@ import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
 import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
 import com.yonge.cooleshow.biz.dal.service.CourseScheduleStudentPaymentService;
 import com.yonge.cooleshow.biz.dal.service.CourseScheduleTeacherSalaryService;
+import com.yonge.cooleshow.biz.dal.service.LiveBroadcastRoomMemberService;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
 import com.yonge.cooleshow.biz.dal.service.StudentAttendanceService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
@@ -100,6 +82,7 @@ import com.yonge.cooleshow.biz.dal.support.IMHelper;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.TeacherLivingInfoVo;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;

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

@@ -1043,14 +1043,15 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
             musicSheet.setTopFlag(YesOrNoEnum.NO);
             return this.saveOrUpdate(musicSheet);
         }
-        Integer count = this.lambdaQuery()
-                            .eq(MusicSheet::getDelFlag, YesOrNoEnum.NO)
-                            .eq(MusicSheet::getTopFlag, YesOrNoEnum.YES)
-                            .eq(MusicSheet::getState, YesOrNoEnum.YES)
-                            .count();
-        if (count >=20) {
-            throw new BizException("首页推荐数量达到[20]上限,请先取消其他曲谱推荐");
-        }
+        String subjectIdsStr = musicSheet.getMusicSubject();
+        
+		for (String subjectId : subjectIdsStr.split(",")) {
+			Integer count = this.lambdaQuery().eq(MusicSheet::getDelFlag, YesOrNoEnum.NO).eq(MusicSheet::getTopFlag, YesOrNoEnum.YES)
+					.eq(MusicSheet::getState, YesOrNoEnum.YES).apply(!subjectId.isEmpty(), "FIND_IN_SET ('" + subjectId + "',music_subject_)").count();
+			if (count >= 20) {
+				throw new BizException("首页推荐数量达到[20]上限,请先取消其他曲谱推荐");
+			}
+		}
         musicSheet.setTopFlag(YesOrNoEnum.YES);
         return this.saveOrUpdate(musicSheet);
     }

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

@@ -1,5 +1,24 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import org.redisson.api.RMap;
+import org.redisson.api.RedissonClient;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -7,20 +26,41 @@ 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.biz.dal.enums.*;
-import com.yonge.cooleshow.biz.dal.vo.MyFens;
-import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
-import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
+import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
+import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 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.*;
-import com.yonge.cooleshow.biz.dal.service.*;
+import com.yonge.cooleshow.biz.dal.entity.Student;
+import com.yonge.cooleshow.biz.dal.entity.StudentStar;
+import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
+import com.yonge.cooleshow.biz.dal.entity.TeacherAuthMusicianRecord;
+import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
+import com.yonge.cooleshow.biz.dal.entity.TeacherTotal;
+import com.yonge.cooleshow.biz.dal.entity.UserAccount;
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
+import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.StudentStarService;
+import com.yonge.cooleshow.biz.dal.service.SysConfigService;
+import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
+import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
+import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
+import com.yonge.cooleshow.biz.dal.service.UserAccountService;
+import com.yonge.cooleshow.biz.dal.service.UserFirstTimeService;
 import com.yonge.cooleshow.biz.dal.vo.HotTeacherVo;
+import com.yonge.cooleshow.biz.dal.vo.MyFens;
 import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
+import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
 import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
@@ -31,25 +71,6 @@ import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.string.ValueUtil;
 
-import org.redisson.api.RMap;
-import org.redisson.api.RedissonClient;
-import org.springframework.beans.BeanUtils;
-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 org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
-
 @Service
 public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
     @Autowired
@@ -76,6 +97,12 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     private UserFirstTimeService userFirstTimeService;
     @Autowired
     private TeacherTotalService totalService;
+    
+    @Autowired
+    private StudentStarDao studentStarDao;
+    
+    @Autowired
+    private StudentService studentService;
 
     @Override
     public TeacherVo detail(Long userId) {
@@ -519,9 +546,24 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     }
 
     @Override
-	public List<HotTeacherVo> queryHotTeacherList() {
+	public List<HotTeacherVo> queryHotTeacherList(Long userId) {
+    	List<Long> watchTeacherIdList = new ArrayList<Long>();
+    	
+    	List<StudentStar> studentStarList = studentStarDao.queryByStudentId(userId);
+    	if(studentStarList != null && studentStarList.size() > 0){
+    		watchTeacherIdList = studentStarList.stream().map(StudentStar :: getTeacherId).collect(Collectors.toList());
+    	}
+    	
+    	Student student = studentService.getById(userId);
+    	
+    	List<HotTeacherVo> hotTeacherList = baseMapper.queryHotTeacherList(Long.parseLong(student.getSubjectId()));
+    	for(HotTeacherVo vo : hotTeacherList){
+    		if(watchTeacherIdList.contains(vo.getUserId())){
+    			vo.setWatch(true);
+    		}
+    	}
     	
-		return baseMapper.queryHotTeacherList();
+		return hotTeacherList;
 	}
 
 	private void setTagTime(TeacherTagEnum teacherTagEnum, TeacherVo teacherVo) {

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HotTeacherVo.java

@@ -19,6 +19,9 @@ public class HotTeacherVo extends Teacher {
     
     @ApiModelProperty("是否正在直播")
     private boolean isLiving;
+    
+    @ApiModelProperty("是否关注")
+    private boolean isWatch;
 
 	public String getAvatar() {
 		return avatar;
@@ -43,4 +46,12 @@ public class HotTeacherVo extends Teacher {
 	public void setIsLiving(boolean isLiving) {
 		this.isLiving = isLiving;
 	}
+
+	public boolean isWatch() {
+		return isWatch;
+	}
+
+	public void setWatch(boolean isWatch) {
+		this.isWatch = isWatch;
+	}
 }

+ 6 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -597,6 +597,9 @@
         LEFT JOIN sys_user u ON g.teacher_id_=u.id_
         LEFT JOIN subject s ON g.subject_id_=s.id_
         WHERE u.del_flag_ = 0 and type_='LIVE' and g.status_ = 'APPLY' and #{appAuditVersion} = g.audit_version_
+        <if test="subjectId != null">
+        	and g.subject_id_ = #{subjectId}
+        </if>
         ORDER BY courseStartTime DESC LIMIT 4
     </select>
     <select id="selectVideo" resultType="com.yonge.cooleshow.biz.dal.vo.StudentHomePage$Video">
@@ -619,6 +622,9 @@
         LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
         LEFT JOIN (SELECT video_lesson_group_id_ ,COUNT(1) AS count_ FROM video_lesson_purchase_record WHERE order_status_='PAID' GROUP BY video_lesson_group_id_) r ON g.id_= r.video_lesson_group_id_
         WHERE u.del_flag_ = 0 and g.audit_status_='PASS' and g.shelves_flag_ = 1 and #{appAuditVersion} = g.audit_version_
+        <if test="subjectId != null">
+        	and g.subject_id_ = #{subjectId}
+        </if>
         ORDER BY buyCount DESC LIMIT 10
     </select>
     <select id="selectRecentCourses" resultType="com.yonge.cooleshow.biz.dal.vo.StudentHomePage$RecentCourses">

+ 4 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentStarMapper.xml

@@ -45,4 +45,8 @@
 		where us.del_flag_ = 0 and ut.del_flag_ = 0
 		and t.student_id_ = #{studentId} and t.teacher_id_ = #{teacherId}
 	</select>
+	
+	<select id="queryByStudentId" resultMap="BaseResultMap">
+		select * from student_star ss where ss.student_id_ = #{studentId}
+	</select>
 </mapper>

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

@@ -137,6 +137,9 @@
             <if test="null != param.delFlag">
                 and u.del_flag_ = #{param.delFlag}
             </if>
+            <if test="param.subjectId != null">
+            	and find_in_set(#{param.subjectId},t.subject_id_)
+            </if>
         </where>
         order by t.create_time_ desc
     </select>
@@ -255,7 +258,7 @@
 		left join sys_user u on t.user_id_ = u.id_   
 		left join teacher_total tt on tt.user_id_ = t.user_id_
 		left join (SELECT lr.speaker_id_ from live_room lr WHERE live_state_ = 1 and type_ = 'temp' group by lr.speaker_id_) a on a.speaker_id_ = t.user_id_
-		where t.entry_flag_ = 1
+		where t.entry_flag_ = 1 and find_in_set(#{subjectId},t.subject_id_)
 		order by tt.fans_num_ desc limit 10
     </select>
 </mapper>

+ 13 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicAlbumController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.student.controller;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -26,6 +27,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -62,6 +64,17 @@ public class MusicAlbumController extends BaseController {
         if (student == null) {
             return failed("用户信息获取失败");
         }
+        
+        if(query.getSubjectIdList() == null || query.getSubjectIdList().size() == 0){
+        	List<Long> subjectIdList = new ArrayList<Long>();
+        	if(StringUtils.isNotBlank(student.getSubjectId())){
+        		String[] subjectIds = student.getSubjectId().split(",");
+        		for(String s : subjectIds){
+                	subjectIdList.add(Long.parseLong(s));
+        		}
+        		query.setSubjectIdList(subjectIdList);
+        	}
+        }
 
         // 检查app版本
         query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));

+ 9 - 0
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicSheetController.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiParam;
 
 import javax.validation.Valid;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -89,6 +90,14 @@ public class MusicSheetController extends BaseController {
         if (sysUser == null  || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
+
+        Student student = studentService.getById(sysUser.getId());
+        if (student == null) {
+            return failed("用户信息获取失败");
+        }
+        if(StringUtils.isBlank(query.getSubjectIds())){
+        	query.setSubjectIds(student.getSubjectId());
+        }
         // 老师课查看所有曲目
         if (query.getMyself() == null || query.getMyself()) {
             // 设置只查老师用户 状态为启用

+ 10 - 2
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentLiveRoomController.java

@@ -10,6 +10,7 @@ import javax.annotation.Resource;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -18,13 +19,14 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.alibaba.fastjson.JSONObject;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
 import com.yonge.cooleshow.biz.dal.entity.RoomInfoCache;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherLivingInfoVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.toolset.base.page.PageInfo;
 
 /**
  * 直播房间与课程的关系表表(LiveRoom)表控制层
@@ -42,6 +44,12 @@ public class StudentLiveRoomController extends BaseController {
      */
     @Resource
     private LiveRoomService liveRoomService;
+    
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    
+    @Autowired
+    private StudentService studentService;
 
     /**
      * 校验房间信息,及个人信息
@@ -79,7 +87,7 @@ public class StudentLiveRoomController extends BaseController {
     @ApiOperation("老师直播列表")
     @GetMapping("/queryTeacherLivingList")
     public HttpResponseResult<List<TeacherLivingInfoVo>> queryTeacherLivingList() {
-    	
+
         return succeed(liveRoomService.queryTeacherLivingList());
     }
 

+ 16 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/TeacherController.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiParam;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.util.CollectionUtils;
@@ -21,9 +22,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherStyleSearch;
+import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.service.StudentStarService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
@@ -50,6 +53,9 @@ public class TeacherController extends BaseController {
     private StudentStarService studentStarService;
     @Autowired
     private AppVersionInfoService appVersionInfoService;
+    
+    @Autowired
+    private StudentService studentService;
 
     @ApiOperation(value = "老师风采-分页")
     @PostMapping("/stylePage")
@@ -58,6 +64,10 @@ public class TeacherController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
+        /*if(StringUtils.isBlank(query.getSubjectId())){
+        	Student student = studentService.getById(user.getId());
+        	query.setSubjectId(student.getSubjectId());
+        }*/
         // 检查app版本
         query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(), query.getVersion()));
         query.setStudentId(user.getId());
@@ -124,6 +134,11 @@ public class TeacherController extends BaseController {
     @ApiOperation(value = "推荐老师列表")
     @GetMapping("/queryHotTeacherList")
     public HttpResponseResult<List<HotTeacherVo>> queryHotTeacherList() {
-        return HttpResponseResult.succeed(teacherService.queryHotTeacherList());
+        SysUser user = sysUserFeignService.queryUserInfo();
+        Long userId = null;
+        if (user != null && null != user.getId()) {
+            userId = user.getId();
+        }
+        return HttpResponseResult.succeed(teacherService.queryHotTeacherList(userId));
     }
 }

+ 19 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicAlbumController.java

@@ -4,11 +4,13 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
 import javax.validation.Valid;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -22,6 +24,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicAlbumSearch;
+import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
@@ -64,6 +67,22 @@ public class MusicAlbumController extends BaseController {
             return failed("用户信息获取失败");
         }
 
+        Student student = studentService.getById(sysUser.getId());
+        if (student == null) {
+            return failed("用户信息获取失败");
+        }
+        
+        if(query.getSubjectIdList() == null || query.getSubjectIdList().size() == 0){
+        	List<Long> subjectIdList = new ArrayList<Long>();
+        	if(StringUtils.isNotBlank(student.getSubjectId())){
+        		String[] subjectIds = student.getSubjectId().split(",");
+        		for(String s : subjectIds){
+                	subjectIdList.add(Long.parseLong(s));
+        		}
+        		query.setSubjectIdList(subjectIdList);
+        	}
+        }
+
         // 检查app版本
         query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
 

+ 14 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -8,6 +8,7 @@ import java.util.Date;
 
 import javax.validation.Valid;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -23,12 +24,14 @@ import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetRelatedQueryInfo;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
@@ -58,6 +61,9 @@ public class MusicSheetController extends BaseController {
     @Autowired
     private AppVersionInfoService appVersionInfoService;
 
+    @Autowired
+    private StudentService studentService;
+
     /**
      * 查询单条
      */
@@ -134,6 +140,14 @@ public class MusicSheetController extends BaseController {
         if (sysUser == null  || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
+
+        Student student = studentService.getById(sysUser.getId());
+        if (student == null) {
+            return failed("用户信息获取失败");
+        }
+        if(StringUtils.isBlank(query.getSubjectIds())){
+        	query.setSubjectIds(student.getSubjectId());
+        }
         // 老师课查看所有曲目
         if (query.getMyself() == null || query.getMyself()) {
             // 设置只查老师用户 状态为启用