yonge 2 år sedan
förälder
incheckning
38f719fc77

+ 13 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicAlbumSearch.java

@@ -3,8 +3,10 @@ package com.yonge.cooleshow.biz.dal.dto.search;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.QueryInfo;
 import com.yonge.toolset.base.util.StringUtil;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import org.apache.commons.lang3.StringUtils;
 
 import java.util.List;
@@ -32,7 +34,9 @@ public class MusicAlbumSearch extends QueryInfo{
 
     @ApiModelProperty("登录用户id")
     private Long userId;
-
+    
+    @ApiModelProperty(value = "客户端 TEACHER/STUDENT")
+    private String clientId;
 
     @ApiModelProperty(value = "是否审核时可见 (0:否  1:是)",hidden = true)
     private YesOrNoEnum auditVersion;
@@ -145,4 +149,12 @@ public class MusicAlbumSearch extends QueryInfo{
     public void setAuditVersion(YesOrNoEnum auditVersion) {
         this.auditVersion = auditVersion;
     }
+
+	public String getClientId() {
+		return clientId;
+	}
+
+	public void setClientId(String clientId) {
+		this.clientId = clientId;
+	}
 }

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

@@ -1,26 +1,27 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
-import com.yonge.cooleshow.biz.dal.entity.TeacherTotal;
-import com.yonge.cooleshow.common.enums.CacheNameEnum;
-import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.base.util.StringUtil;
-import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import com.yonge.cooleshow.biz.dal.dao.SubjectDao;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.queryInfo.SubjectQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.SubjectService;
-import com.yonge.toolset.mybatis.dal.BaseDAO;
+import com.yonge.cooleshow.common.enums.CacheNameEnum;
 import com.yonge.toolset.base.exception.BizException;
-
-import org.springframework.util.CollectionUtils;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.base.util.StringUtil;
+import com.yonge.toolset.mybatis.dal.BaseDAO;
+import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
 
 @Service
 public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implements SubjectService {

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

@@ -39,6 +39,10 @@
                     where a.del_flag_ = 0 and a.state_ = 1
                     GROUP BY a.music_subject_)
                 </if>
+                <if test="type == null or type =='ALBUM'">
+                    union all
+                    (SELECT cm.subject_id_ from music_album cm WHERE cm.album_status_ = 1 and cm.del_flag_ = 0 GROUP BY cm.subject_id_)
+                </if>
                 <if test="type == null or type =='VIDEO'">
                     union all
                     (select a.lesson_subject_ as subject_id_ from video_lesson_group a

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

@@ -90,16 +90,16 @@ 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()) {
+
+            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())) {

+ 29 - 6
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SubjectController.java

@@ -1,23 +1,38 @@
 package com.yonge.cooleshow.student.controller;
 
-import com.yonge.cooleshow.biz.dal.entity.Subject;
-import com.yonge.cooleshow.biz.dal.service.SubjectService;
-import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+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.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
 @RequestMapping("subject")
 @Api(tags = "声部服务")
 @RestController
 public class SubjectController extends BaseController {
     @Autowired
     private SubjectService subjectService;
+    
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    
+    @Autowired
+    private StudentService studentService;
 
     @ApiOperation(value = "根据声部编号查询声部")
     @GetMapping("/get/{id}")
@@ -30,6 +45,14 @@ public class SubjectController extends BaseController {
     public HttpResponseResult<List<Subject>> subjectSelect(
             @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
         List<Subject> subjectSelect = subjectService.subjectSelect(type);
+        
+        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()));
+        	}
+        }
         return succeed(subjectSelect);
     }
 

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

@@ -141,12 +141,15 @@ public class MusicSheetController extends BaseController {
             return failed("用户信息获取失败");
         }
 
-        Teacher teacher = teacherService.getById(sysUser.getId());
-        if (teacher == null) {
-            return failed("用户信息获取失败");
-        }
         // 老师课查看所有曲目
         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())) {
@@ -157,10 +160,8 @@ public class MusicSheetController extends BaseController {
             }
             query.setSourceType(SourceTypeEnum.TEACHER);
             query.setMyself(true);
+            query.setExquisiteFlag(YesOrNoEnum.NO);
         } else {
-            if(StringUtils.isBlank(query.getSubjectIds())){
-            	query.setSubjectIds(teacher.getSubjectId());
-            }
             // 检查app版本
             query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
 

+ 19 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SubjectController.java

@@ -1,6 +1,5 @@
 package com.yonge.cooleshow.teacher.controller;
 
-import com.yonge.cooleshow.biz.dal.entity.Subject;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -13,7 +12,12 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 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.Subject;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 
@@ -24,6 +28,12 @@ public class SubjectController extends BaseController {
 
 	@Autowired
 	private SubjectService subjectService;
+	
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    
+    @Autowired
+    private TeacherService teacherService;
 
 	@ApiOperation(value = "根据声部编号查询声部")
 	@GetMapping("/get/{id}")
@@ -36,6 +46,14 @@ public class SubjectController extends BaseController {
     public HttpResponseResult<List<Subject>> subjectSelect(
 			@ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type){
         List<Subject> subjectSelect = subjectService.subjectSelect(type);
+        
+        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()));
+        	}
+        }
         return succeed(subjectSelect);
     }
 }

+ 29 - 0
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenMusicAlbumController.java

@@ -5,7 +5,12 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 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.entity.Student;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.AlbumDetailVo;
@@ -13,8 +18,11 @@ import com.yonge.cooleshow.biz.dal.vo.MusicAlbumVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.page.PageInfo;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -22,6 +30,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -40,6 +49,12 @@ public class OpenMusicAlbumController extends BaseController {
 
 	@Autowired
 	private MusicAlbumService musicAlbumService;
+    
+    @Autowired
+    private StudentService studentService;
+    
+    @Autowired
+    private TeacherService teacherService;
 
 
     @ApiOperation(value = "热门专辑", httpMethod="POST", consumes="application/json", produces="application/json")
@@ -49,6 +64,20 @@ public class OpenMusicAlbumController extends BaseController {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser != null && sysUser.getId() != null) {
             query.setUserId(sysUser.getId());
+        	
+            if(StringUtils.isNotBlank(query.getClientId())){
+    			if (StringUtils.equals(ClientEnum.STUDENT.getCode(), query.getClientId())) {
+    				Student student = studentService.getById(sysUser.getId());
+    	        	if(student != null){
+    	                query.setSubjectIds(student.getSubjectId());
+    	        	}
+    			} else if (StringUtils.equals(ClientEnum.TEACHER.getCode(), query.getClientId())) {
+    				Teacher teacher = teacherService.getById(sysUser.getId());
+    	        	if(teacher != null){
+    	                query.setSubjectIds(teacher.getSubjectId());
+    	        	}
+    			}
+            }
         }
 
         // 检查app版本

+ 74 - 0
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/SubjectController.java

@@ -0,0 +1,74 @@
+package com.yonge.cooleshow.website.controller.open;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
+import java.util.List;
+
+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;
+import org.springframework.web.bind.annotation.RequestMapping;
+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.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+
+@RequestMapping("subject")
+@Api(tags = "声部服务")
+@RestController
+public class SubjectController extends BaseController {
+
+	@Autowired
+	private SubjectService subjectService;
+	
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    
+    @Autowired
+    private TeacherService teacherService;
+    
+    @Autowired
+    private StudentService studentService;
+
+	@ApiOperation(value = "根据声部编号查询声部")
+	@GetMapping("/get/{id}")
+	public Object get(@ApiParam(value = "声部编号", required = true) @PathVariable("id") Long id) {
+		return succeed(subjectService.get(id));
+	}
+
+	@ApiOperation(value = "获取声部")
+	@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);
+        
+        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()));
+	        	}
+			} else if (StringUtils.equals(ClientEnum.TEACHER.getCode(), clientId)) {
+				Teacher teacher = teacherService.getById(sysUser.getId());
+	        	if(teacher != null){
+	        		subjectSelect.addAll(subjectService.findBySubjectByIdList(teacher.getSubjectId()));
+	        	}
+			}
+        }
+        return succeed(subjectSelect);
+    }
+}