yonge 2 tahun lalu
induk
melakukan
05a05d4700

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

@@ -50,5 +50,5 @@ public interface SubjectService extends BaseService<Long, Subject> {
 	 * @updateTime 2022/3/21 17:23
 	 * @return: java.util.List<com.yonge.cooleshow.biz.dal.vo.SubjectSelectVo>
 	 */
-	List<Subject> subjectSelect(String type);
+	List<Subject> subjectSelect(String type, String userExtSubjectIds);
 }

+ 25 - 15
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java

@@ -1,5 +1,16 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,24 +23,18 @@ import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicAlbumSearch;
 import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
 import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
 import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
-import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.common.enums.YesOrNoEnum;
-import com.yonge.toolset.mybatis.support.PageUtil;
+import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
+import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
+import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.service.MusicTagService;
 import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.util.StringUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
+import com.yonge.toolset.mybatis.support.PageUtil;
 
 /**
  * MusicAlbumService服务实现类
@@ -205,8 +210,13 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
 
     @Override
     public IPage<MusicAlbumVo> selectStudentPage(IPage<MusicAlbumVo> page, MusicAlbumSearch query) {
-        IPage<MusicAlbumVo> iPage = page.setRecords(baseMapper.selectStudentPage(page, query));
-        List<MusicAlbumVo> records = iPage.getRecords();
+    	List<MusicAlbumVo> records = baseMapper.selectStudentPage(page, query);
+    	if(records == null || records.size() == 0){
+    		query.setSubjectIdList(null);
+    		records = baseMapper.selectStudentPage(page, query);
+    	}
+        IPage<MusicAlbumVo> iPage = page.setRecords(records);
+
         List<Long> albumIds = records.stream().map(MusicAlbumVo::getId).collect(Collectors.toList());
         if (query.getUserId() == null || CollectionUtils.isEmpty(albumIds)) {
             return iPage;

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

@@ -317,8 +317,16 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     @Override
     public IPage<MusicSheetVo> selectStudentPage(IPage<MusicSheetVo> page, StudentMusicSheetSearch query) {
-        IPage<MusicSheetVo> musicSheetVoIPage = page.setRecords(baseMapper.selectStudentMusicPage(page, query));
-        List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+    	List<MusicSheetVo> records = baseMapper.selectStudentMusicPage(page, query);
+    	
+    	if(query.getMyself() == false){//首页
+        	if(records == null || records.size() == 0){
+        		query.setSubjectIdList(null);
+        		records = baseMapper.selectStudentMusicPage(page, query);
+        	}
+    	}
+    	
+        IPage<MusicSheetVo> musicSheetVoIPage = page.setRecords(records);
         if (query.getStudentId() != null) {
             StudentVo studentVo = studentService.detail(query.getStudentId());
             if (studentVo == null) {
@@ -828,7 +836,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         dataList.sort(Comparator.comparingInt(ExcelDataReaderProperty::getRowIndex));
         List<MusicSheetDto> musicSheetDtoList = new ArrayList<>();
         List<MusicTagVo> musicTagVoList = musicTagService.selectMusicTagTree();
-        List<Subject> subjects = subjectService.subjectSelect(null);
+        List<Subject> subjects = subjectService.subjectSelect(null, null);
         Date date = new Date();
         for (ExcelDataReaderProperty<MusicSheetExport> readerProperty : dataList) {
             MusicSheetDto musicSheetDto = new MusicSheetDto();

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

@@ -7,6 +7,7 @@ import java.util.List;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
+import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -89,7 +90,7 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
     }
 
     @Override
-    public List<Subject> subjectSelect(String type) {
+    public List<Subject> subjectSelect(String type, String userExtSubjectIds) {
         Object cacheRes = redissonClient.getBucket(CacheNameEnum.SUBJECT_ITEM.getRedisKey(type)).get();
         if (null != cacheRes) {
             List<Subject> resList = (List<Subject>) cacheRes;
@@ -113,11 +114,18 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
                     .collect(Collectors.toList());
         }else{
             subjects = subjectDao.subjectSelect(type);
+            
+            if(subjects == null){
+            	subjects = new ArrayList<Subject>();
+            }
+            if(StringUtils.isNotBlank(userExtSubjectIds)){
+            	subjects.addAll(findBySubjectByIdList(userExtSubjectIds));
+            }
 
             List<Long> parentIds = subjects.stream().map(Subject::getParentSubjectId).collect(Collectors.toList());
 
             if(CollectionUtils.isEmpty(parentIds)){
-                return subjectSelect(null);
+                return subjectSelect(null, null);
             }
             parents = findBySubjectByIdList(parentIds);
         }

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

@@ -92,14 +92,6 @@ public class MusicSheetController extends BaseController {
         }
         // 老师课查看所有曲目
         if (query.getMyself() == null || query.getMyself()) {
-
-            Student student = studentService.getById(sysUser.getId());
-            if (student == null) {
-                return failed("用户信息获取失败");
-            }
-            if(StringUtils.isBlank(query.getSubjectIds())){
-            	query.setSubjectIds(student.getSubjectId());
-            }
             // 设置只查老师用户 状态为启用
             query.setCreateBy(sysUser.getId());
             if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
@@ -112,6 +104,14 @@ public class MusicSheetController extends BaseController {
             query.setMyself(true);
             query.setExquisiteFlag(YesOrNoEnum.NO);
         } else {
+
+            Student student = studentService.getById(sysUser.getId());
+            if (student == null) {
+                return failed("用户信息获取失败");
+            }
+            if(StringUtils.isBlank(query.getSubjectIds())){
+            	query.setSubjectIds(student.getSubjectId());
+            }
             // 检查app版本
             query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
 

+ 4 - 2
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SubjectController.java

@@ -44,15 +44,17 @@ public class SubjectController extends BaseController {
     @GetMapping("/subjectSelect")
     public HttpResponseResult<List<Subject>> subjectSelect(
             @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
-        List<Subject> subjectSelect = subjectService.subjectSelect(type);
+    	
+    	String userExtSubjectIds = null;
         
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser != null && sysUser.getId() != null) {
         	Student student = studentService.getById(sysUser.getId());
         	if(student != null){
-        		subjectSelect.addAll(subjectService.findBySubjectByIdList(student.getSubjectId()));
+        		userExtSubjectIds = student.getSubjectId();
         	}
         }
+        List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
         return succeed(subjectSelect);
     }
 

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

@@ -143,13 +143,6 @@ public class MusicSheetController extends BaseController {
 
         // 老师课查看所有曲目
         if (query.getMyself() == null || query.getMyself()) {
-            Teacher teacher = teacherService.getById(sysUser.getId());
-            if (teacher == null) {
-                return failed("用户信息获取失败");
-            }
-            if(StringUtils.isBlank(query.getSubjectIds())){
-            	query.setSubjectIds(teacher.getSubjectId());
-            }
             // 设置只查老师用户 状态为启用
             query.setCreateBy(sysUser.getId());
             if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
@@ -162,6 +155,13 @@ public class MusicSheetController extends BaseController {
             query.setMyself(true);
             query.setExquisiteFlag(YesOrNoEnum.NO);
         } else {
+            Teacher teacher = teacherService.getById(sysUser.getId());
+            if (teacher == null) {
+                return failed("用户信息获取失败");
+            }
+            if(StringUtils.isBlank(query.getSubjectIds())){
+            	query.setSubjectIds(teacher.getSubjectId());
+            }
             // 检查app版本
             query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
 

+ 6 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SubjectController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.service.SubjectService;
@@ -45,15 +46,18 @@ public class SubjectController extends BaseController {
 	@GetMapping("/subjectSelect")
     public HttpResponseResult<List<Subject>> subjectSelect(
 			@ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type){
-        List<Subject> subjectSelect = subjectService.subjectSelect(type);
+		
+		String userExtSubjectIds = null;
         
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser != null && sysUser.getId() != null) {
         	Teacher teacher = teacherService.getById(sysUser.getId());
         	if(teacher != null){
-        		subjectSelect.addAll(subjectService.findBySubjectByIdList(teacher.getSubjectId()));
+        		userExtSubjectIds = teacher.getSubjectId();
         	}
         }
+        
+        List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
         return succeed(subjectSelect);
     }
 }

+ 1 - 1
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenSubjectController.java

@@ -37,7 +37,7 @@ public class OpenSubjectController extends BaseController {
     @GetMapping("/subjectSelect")
     public HttpResponseResult<List<Subject>> subjectSelect(
             @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
-        List<Subject> subjectSelect = subjectService.subjectSelect(type);
+        List<Subject> subjectSelect = subjectService.subjectSelect(type, null);
         return succeed(subjectSelect);
     }
 

+ 6 - 4
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/SubjectController.java

@@ -52,23 +52,25 @@ public class SubjectController extends BaseController {
 	@GetMapping("/subjectSelect")
     public HttpResponseResult<List<Subject>> subjectSelect(
 			@ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type, @ApiParam(value = "客户端 TEACHER/STUDENT") String clientId){
-        
-		List<Subject> subjectSelect = subjectService.subjectSelect(type);
+
+		String userExtSubjectIds = null;
         
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser != null && sysUser.getId() != null) {
 			if (StringUtils.equals(ClientEnum.STUDENT.getCode(), clientId)) {
 				Student student = studentService.getById(sysUser.getId());
 	        	if(student != null){
-	        		subjectSelect.addAll(subjectService.findBySubjectByIdList(student.getSubjectId()));
+	        		userExtSubjectIds = student.getSubjectId();
 	        	}
 			} else if (StringUtils.equals(ClientEnum.TEACHER.getCode(), clientId)) {
 				Teacher teacher = teacherService.getById(sysUser.getId());
 	        	if(teacher != null){
-	        		subjectSelect.addAll(subjectService.findBySubjectByIdList(teacher.getSubjectId()));
+	        		userExtSubjectIds = teacher.getSubjectId();
 	        	}
 			}
         }
+        
+		List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
         return succeed(subjectSelect);
     }
 }