Преглед изворни кода

用户声部查询接口修改

liweifan пре 2 година
родитељ
комит
0f952d0809
14 измењених фајлова са 240 додато и 56 уклоњено
  1. 9 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/StudentDao.java
  2. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java
  3. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java
  4. 6 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/StudentService.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java
  6. 33 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  7. 45 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java
  8. 37 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  9. 68 14
      cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml
  10. 26 8
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  11. 3 2
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentController.java
  12. 4 2
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java
  13. 3 2
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/StudentController.java
  14. 3 2
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/TeacherController.java

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

@@ -45,7 +45,14 @@ public interface StudentDao extends BaseMapper<Student> {
      * @return: java.lang.Integer
      */
     Integer setSubject(@Param("id") Long id, @Param("subjectIds") String subjectIds);
-
+    /**
+     * @param
+     * @return java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
+     * @description: 获取学生声部列表
+     * @author zx
+     * @date 2022/3/25 09:38
+     */
+    List<Subject> querySubject(@Param("userId") Long userId);
     /***
      * 获取声部下拉框
      * @author liweifan
@@ -53,7 +60,7 @@ public interface StudentDao extends BaseMapper<Student> {
      * @updateTime 2022/5/9 10:17
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
      */
-    List<Subject> querySubjectItem(@Param("userId") Long id);
+    List<Subject> querySubjectItem(@Param("userId") Long id,@Param("type")  String type);
 
     /**
      * 我的关注

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

@@ -81,7 +81,7 @@ public interface TeacherDao extends BaseMapper<Teacher> {
      * @updateTime 2022/5/9 10:17
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
      */
-    List<Subject> querySubjectItem(@Param("userId") Long id);
+    List<Subject> querySubjectItem(@Param("userId") Long userId, @Param("type")String type);
 
     /**
      * 查询我的粉丝

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java

@@ -100,7 +100,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     PIANO_ROOM_TIMES_ADD("后台增加琴房时长通知"),
     PIANO_ROOM_TIMES_SUB("后台扣除琴房时长通知"),
 
-
+    PIANO_ROOM_ADJUST("琴房课调整"),
     PRACTICE_ADJUST("陪练课调整"),
 
     ;

+ 6 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/StudentService.java

@@ -31,6 +31,7 @@ public interface StudentService extends IService<Student> {
 
     /**
      * 查询学员详情
+     *
      * @param phone
      * @return
      */
@@ -63,6 +64,8 @@ public interface StudentService extends IService<Student> {
      */
     Integer setSubject(Long id, String subjectIds);
 
+    List<Subject> querySubject(Long userId);
+
     /***
      * 获取声部下拉框
      * @author liweifan
@@ -70,7 +73,7 @@ public interface StudentService extends IService<Student> {
      * @updateTime 2022/5/9 10:16
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
      */
-    List<Subject> querySubjectItem(Long id);
+    List<Subject> querySubjectItem(Long id, String type);
 
     /**
      * 我的关注
@@ -83,10 +86,11 @@ public interface StudentService extends IService<Student> {
 
     /**
      * 学院绑定老师
+     *
      * @param phone
      * @param userId
      * @param isUpdate
      * @return
      */
-    HttpResponseResult<Map<String,TeacherVo>> bindTeacher(String phone, Long userId, Boolean isUpdate);
+    HttpResponseResult<Map<String, TeacherVo>> bindTeacher(String phone, Long userId, Boolean isUpdate);
 }

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

@@ -117,7 +117,7 @@ public interface TeacherService extends IService<Teacher> {
      * @updateTime 2022/5/9 10:16
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.Subject>
      */
-    List<Subject> querySubjectItem(Long id);
+    List<Subject> querySubjectItem(Long id,String type);
 
     /**
      * 我的粉丝

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

@@ -1266,11 +1266,11 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         baseMapper.courseAdjust(adjustVo);
 
         // 课程调整后给学生发消息
-        sendCourseAdjustMessage(teacherId,adjustVo.getCourseId(),adjustVo.getStartTime());
+        sendCourseAdjustMessage(teacherId, adjustVo.getCourseId(), adjustVo.getStartTime());
     }
 
     //{老师昵称}已将{课程类型陪练课、琴房课}{课程名称}课调整到{上课时间yyyy-MM-dd HH:mm:ss},请注意查看
-    private void sendCourseAdjustMessage(Long userId,Integer courseScheduleId,Date date) {
+    private void sendCourseAdjustMessage(Long userId, Integer courseScheduleId, Date date) {
         //  陪练课调整模板
         try {
             //  发送消息
@@ -1288,7 +1288,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             receivers.put(userId, user.getPhone());
 
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_ADJUST, receivers, null,
-                                               0, null, ClientEnum.STUDENT.getCode(), user.getUsername(),"陪练课",coureName,dateString);
+                    0, null, ClientEnum.STUDENT.getCode(), user.getUsername(), "陪练课", coureName, dateString);
 
         } catch (Exception e) {
             log.error("陪练课调整发送消息失败--> {}", e.fillInStackTrace());
@@ -2257,6 +2257,36 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 .set(CourseSchedule::getClassDate, DateUtil.trunc(startTime))
                 .set(CourseSchedule::getStartTime, startTime)
                 .set(CourseSchedule::getEndTime, endTime));
+
+        if (CollectionUtils.isNotEmpty(studentPayments)) {
+            SysUser teacher = sysUserFeignService.queryUserById(teacherId);
+
+            CourseGroup courseGroup = courseGroupService.getById(courseSchedule.getCourseGroupId());
+
+            String coureName = courseGroup.getName() + "-第" + courseSchedule.getClassNum() + "课";
+
+            String dateString = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(
+                    DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+
+            for (CourseScheduleStudentPayment payment : studentPayments) {
+                sendPianoRoomAdjustMessage(payment.getUserId(), teacher.getUsername(), coureName, dateString);
+            }
+        }
+    }
+
+    //{老师昵称}已将{课程类型陪练课、琴房课}{课程名称}课调整到{上课时间yyyy-MM-dd HH:mm:ss},请注意查看
+    private void sendPianoRoomAdjustMessage(Long userId, String teacherName, String coureName, String dateString) {
+        try {
+            //  发送消息
+            SysUser user = sysUserFeignService.queryUserById(userId);
+            Map<Long, String> receivers = new HashMap<>();
+            receivers.put(userId, user.getPhone());
+
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PIANO_ROOM_ADJUST, receivers, null,
+                    0, null, ClientEnum.STUDENT.getCode(), teacherName, "琴房课", coureName, dateString);
+        } catch (Exception e) {
+            log.error("琴房课调整发送消息失败--> {}", e.fillInStackTrace());
+        }
     }
 
     /**

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

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -18,8 +19,10 @@ import com.yonge.cooleshow.biz.dal.service.StudentTotalService;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.utils.date.DateUtil;
 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;
@@ -100,19 +103,57 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
     }
 
     @Override
-    public List<Subject> querySubjectItem(Long id) {
-        List<Subject> subjectList = (List<Subject>) redissonClient.getBucket(CacheNameEnum.STUDENT_SUBJECT_ITEM.getRedisKey(id)).get();
+    public List<Subject> querySubject(Long userId) {
+        List<Subject> subjects = baseMapper.querySubject(userId);
+        return subjects;
+    }
+
+    @Override
+    public List<Subject> querySubjectItem(Long userId, String type) {
+        //先查询自己的声部
+        List<Subject> subjectList = querySubject(userId);
+
+        List<Subject> cacheByType = getCacheByType(userId, type);
+        if (CollectionUtils.isNotEmpty(cacheByType)) {
+            subjectList.addAll(cacheByType);
+        }
+        return subjectList;
+
+        /*List<Subject> subjectList = (List<Subject>) redissonClient.getBucket(CacheNameEnum.STUDENT_SUBJECT_ITEM.getRedisKey(id)).get();
         if (null == subjectList) {
             subjectList = baseMapper.querySubjectItem(id);
             redissonClient.getBucket(CacheNameEnum.STUDENT_SUBJECT_ITEM.getRedisKey(id))
                     .set(subjectList, CacheNameEnum.STUDENT_SUBJECT_ITEM.getDuration().toHours(),
                             TimeUnit.HOURS);
         }
-        return subjectList;
+        return subjectList;*/
+    }
+
+    private List<Subject> getCacheByType(Long userId, String type) {
+        RMap<String, List<Subject>> map = redissonClient.getMap(CacheNameEnum.STUDENT_SUBJECT_ITEM.getRedisKey(userId));
+        //设置过期时间
+        map.expire(CacheNameEnum.STUDENT_SUBJECT_ITEM.getDuration().toHours(),
+                TimeUnit.HOURS);
+
+        if (StringUtil.isEmpty(type)) {
+            List<Subject> subjectList = map.get("ALL");
+            if (CollectionUtils.isEmpty(subjectList)) {
+                subjectList = baseMapper.querySubjectItem(userId, null);
+                map.put("ALL", subjectList);
+            }
+            return subjectList;
+        } else {
+            List<Subject> subjectList = map.get(type);
+            if (CollectionUtils.isEmpty(subjectList)) {
+                subjectList = baseMapper.querySubjectItem(userId, type);
+                map.put(type, subjectList);
+            }
+            return subjectList;
+        }
     }
 
     @Override
-    public IPage<MyFollow> queryMyFollow(IPage<MyFollow> page,  QueryMyFollowSearch query) {
+    public IPage<MyFollow> queryMyFollow(IPage<MyFollow> page, QueryMyFollowSearch query) {
         List<MyFollow> teacherVos = baseMapper.queryMyFollow(page, query);
         return page.setRecords(teacherVos);
     }

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

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
@@ -111,8 +112,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             return HttpResponseResult.failed("未查询到老师信息");
         }
         TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
-        BeanUtils.copyProperties(teacher,teacherHomeVo);
-   
+        BeanUtils.copyProperties(teacher, teacherHomeVo);
+
         //身份证号、手机号脱敏
         teacherHomeVo.setIdCardNo(ValueUtil.fuzzyIdCard(teacherHomeVo.getIdCardNo()));
         teacherHomeVo.setPhone(ValueUtil.fuzzyMobile(teacherHomeVo.getPhone()));
@@ -186,7 +187,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             baseMapper.updateById(teacher);
 
             // 添加标签
-            this.setTeacherTag(id,TeacherTagEnum.LIVE);
+            this.setTeacherTag(id, TeacherTagEnum.LIVE);
 
             return HttpResponseResult.status(true);
         } else {
@@ -321,7 +322,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             sysUser.setUserType(sysUser.getUserType() + ",TEACHER");
         }
         //设置默认头像
-        if(StringUtil.isEmpty(sysUser.getAvatar())){
+        if (StringUtil.isEmpty(sysUser.getAvatar())) {
             String defaultHeard = sysConfigService.findConfigValue(SysConfigConstant.DEFAULT_HEARD);
             sysUser.setAvatar(defaultHeard);
         }
@@ -422,17 +423,41 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     }
 
     @Override
-    public List<Subject> querySubjectItem(Long id) {
-        List<Subject> subjectList = (List<Subject>) redissonClient.getBucket(CacheNameEnum.TEACHER_SUBJECT_ITEM.getRedisKey(id)).get();
-        if (null == subjectList) {
-            subjectList = baseMapper.querySubjectItem(id);
-            redissonClient.getBucket(CacheNameEnum.TEACHER_SUBJECT_ITEM.getRedisKey(id))
-                    .set(subjectList, CacheNameEnum.TEACHER_SUBJECT_ITEM.getDuration().toHours(),
-                            TimeUnit.HOURS);
+    public List<Subject> querySubjectItem(Long userId, String type) {
+        //先查询自己的声部
+        List<Subject> subjectList = querySubject(userId);
+
+        List<Subject> cacheByType = getCacheByType(userId, type);
+        if (CollectionUtils.isNotEmpty(cacheByType)) {
+            subjectList.addAll(cacheByType);
         }
         return subjectList;
     }
 
+    private List<Subject> getCacheByType(Long userId, String type) {
+        RMap<String, List<Subject>> map = redissonClient.getMap(CacheNameEnum.TEACHER_SUBJECT_ITEM.getRedisKey(userId));
+        //设置过期时间
+        map.expire(CacheNameEnum.TEACHER_SUBJECT_ITEM.getDuration().toHours(),
+                TimeUnit.HOURS);
+
+        if(StringUtil.isEmpty(type)){
+            List<Subject> subjectList = map.get("ALL");
+            if(CollectionUtils.isEmpty(subjectList)){
+                subjectList = baseMapper.querySubjectItem(userId, null);
+                map.put("ALL",subjectList);
+            }
+            return subjectList;
+        }else{
+            List<Subject> subjectList = map.get(type);
+            if(CollectionUtils.isEmpty(subjectList)) {
+                subjectList = baseMapper.querySubjectItem(userId, type);
+                map.put(type,subjectList);
+            }
+            return subjectList;
+        }
+    }
+
+
     public IPage<MyFens> queryMyFans(IPage<MyFens> page, Long teacherId) {
         List<MyFens> teacherVos = baseMapper.queryMyFans(page, teacherId);
         return page.setRecords(teacherVos);
@@ -446,7 +471,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         }
         if (StringUtil.isEmpty(teacherVo.getTag())) {
             teacherVo.setTag(teacherTagEnum.getCode());
-        } else  if (teacherVo.getTag().contains(teacherTagEnum.getCode())) {
+        } else if (teacherVo.getTag().contains(teacherTagEnum.getCode())) {
             return;
         } else {
             teacherVo.setTag(teacherVo.getTag() + "," + teacherTagEnum.getCode());

+ 68 - 14
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -120,22 +120,76 @@
         </where>
     </select>
 
+    <select id="querySubject" resultMap="com.yonge.cooleshow.biz.dal.dao.SubjectDao.Subject">
+        SELECT s.* FROM `subject` s
+        LEFT JOIN student t ON FIND_IN_SET(s.id_,t.subject_id_)
+        WHERE t.user_id_ = #{userId}
+    </select>
+
     <select id="querySubjectItem" resultType="com.yonge.cooleshow.biz.dal.entity.Subject">
-        select * from subject t
-        where exists(
+        select t.* from subject t
+        join (
+        <trim prefixOverrides="union all">
+            <if test="type == null or type =='MUSIC'">
+                union all
+                (
+                    select
+                        a.music_subject_ as subject_id_
+                    from music_sheet a
+                    join music_sheet_purchase_record a1 on a.id_ = a1.music_sheet_id_
+                    where a1.student_id_ = #{userId} and a1.order_status_ = 'PAID'
+                    GROUP BY a.music_subject_
+                )
+            </if>
+            <if test="type == null or type =='VIDEO'">
+                union all
+                (
+                    select
+                        a.lesson_subject_ as subject_id_
+                    from video_lesson_group a
+                    join video_lesson_purchase_record a1 on a.id_ = a1.video_lesson_group_id_
+                    where a1.student_id_ = #{userId}
+                    GROUP BY a.lesson_subject_
+                )
+            </if>
+            <if test="type == null or type =='PINAO_ROOM'">
+                union all
+                (
+                    select
+                        a.subject_id_ as subject_id_
+                    from course_group a
+                    join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
+                    where a.type_ = 'PIANO_ROOM_CLASS' and a1.user_id_ = #{userId}
+                    GROUP BY a.subject_id_
+                )
+            </if>
+            <if test="type == null or type =='PRACTICE'">
+                union all
+                (
+                    select
+                        a.subject_id_ as subject_id_
+                    from course_group a
+                    join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
+                    where a.type_ = 'PRACTICE' and a1.user_id_ = #{userId}
+                    GROUP BY a.subject_id_
+                )
+            </if>
+            <if test="type == null or type =='LIVE'">
+                union all
+                (
+                    select
+                        a.subject_id_ as subject_id_
+                    from course_group a
+                    join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
+                    where a.type_ = 'LIVE' and a1.user_id_ = #{userId}
+                    GROUP BY a.subject_id_
+                )
+            </if>
+        </trim>
+        ) a on t.id_ = a.subject_id_
+        where t.parent_subject_id_ != 0
+        and not exists(
             select 1 from student s where s.user_id_ = #{userId} and find_in_set(t.id_,s.subject_id_)
-            union all
-            select 1 from music_sheet a
-            left join music_sheet_purchase_record a1 on a.id_ = a1.music_sheet_id_
-            where a1.student_id_ = #{userId} and a1.order_status_ = 'PAID' and find_in_set(t.id_,a.music_subject_)
-            union all
-            select 1 from course_group b
-            left join course_schedule_student_payment b1 on b.id_ = b1.course_group_id_
-            where b1.user_id_ = #{userId} and find_in_set(t.id_,b.subject_id_)
-            union all
-            select 1 from video_lesson_group c
-            left join video_lesson_purchase_record c1 on c.id_ = c1.video_lesson_group_id_
-            where c1.student_id_ = #{userId} and find_in_set(t.id_,c.lesson_subject_)
         )
     </select>
 

+ 26 - 8
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -157,16 +157,34 @@
     </update>
 
     <select id="querySubjectItem" resultType="com.yonge.cooleshow.biz.dal.entity.Subject">
-        select * from subject t
+        select t.* from subject t
+        join (
+            <trim prefixOverrides="union all">
+                <if test="type == null or type =='MUSIC'">
+                    union all
+                    (select music_subject_ as subject_id_ from music_sheet where user_id_ = #{userId} GROUP BY music_subject_)
+                </if>
+                <if test="type == null or type =='VIDEO'">
+                    union all
+                    (select lesson_subject_ as subject_id_ from video_lesson_group where teacher_id_ = #{userId} GROUP BY lesson_subject_)
+                </if>
+                <if test="type == null or type =='PINAO_ROOM'">
+                    union all
+                    (select subject_id_ as subject_id_ from course_group where type_ = 'PIANO_ROOM_CLASS' and teacher_id_ = #{userId} GROUP BY subject_id_)
+                </if>
+                <if test="type == null or type =='PRACTICE'">
+                    union all
+                    (select subject_id_ as subject_id_ from course_group where type_ = 'PRACTICE' and teacher_id_ = #{userId} GROUP BY subject_id_)
+                </if>
+                <if test="type == null or type =='LIVE'">
+                    union all
+                    (select subject_id_ as subject_id_ from course_group where type_ = 'LIVE' and teacher_id_ = #{userId} GROUP BY subject_id_)
+                </if>
+            </trim>
+        ) a on t.id_ = a.subject_id_
         where t.parent_subject_id_ != 0
-        and exists(
+        and not exists(
             select 1 from teacher s where s.user_id_ = #{userId} and find_in_set(t.id_,s.subject_id_)
-            union all
-            select 1 from music_sheet a where a.user_id_ = #{userId} and find_in_set(t.id_,a.music_subject_)
-            union all
-            select 1 from course_group b where b.teacher_id_ = #{userId} and find_in_set(t.id_,b.subject_id_)
-            union all
-            select 1 from video_lesson_group c where c.teacher_id_ = #{userId} and find_in_set(t.id_,c.lesson_subject_)
         )
     </select>
 

+ 3 - 2
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentController.java

@@ -68,12 +68,13 @@ public class StudentController extends BaseController {
 
     @ApiOperation(value = "获取声部搜索下拉框")
     @PostMapping("/querySubjectItem")
-    public HttpResponseResult<List<Subject>> querySubjectItem() {
+    public HttpResponseResult<List<Subject>> querySubjectItem(
+            @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(studentService.querySubjectItem(user.getId()));
+        return succeed(studentService.querySubjectItem(user.getId(), type));
     }
 
     @ApiOperation(value = "我的关注")

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

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.toolset.mybatis.support.PageUtil;
@@ -79,12 +80,13 @@ public class TeacherController extends BaseController {
 
     @ApiOperation(value = "获取声部搜索下拉框")
     @PostMapping("/querySubjectItem")
-    public HttpResponseResult<List<Subject>> querySubjectItem() {
+    public HttpResponseResult<List<Subject>> querySubjectItem(
+            @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(teacherService.querySubjectItem(user.getId()));
+        return succeed(teacherService.querySubjectItem(user.getId(), type));
     }
 
     @ApiOperation(value = "我的-个人风采")

+ 3 - 2
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/StudentController.java

@@ -73,12 +73,13 @@ public class StudentController extends BaseController {
 
     @ApiOperation(value = "获取声部搜索下拉框")
     @PostMapping("/querySubjectItem")
-    public HttpResponseResult<List<Subject>> querySubjectItem() {
+    public HttpResponseResult<List<Subject>> querySubjectItem(
+            @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(studentService.querySubjectItem(user.getId()));
+        return succeed(studentService.querySubjectItem(user.getId(),type));
     }
 
     @ApiOperation(value = "我的关注")

+ 3 - 2
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/TeacherController.java

@@ -78,12 +78,13 @@ public class TeacherController extends BaseController {
 
     @ApiOperation(value = "获取声部搜索下拉框")
     @PostMapping("/querySubjectItem")
-    public HttpResponseResult<List<Subject>> querySubjectItem() {
+    public HttpResponseResult<List<Subject>> querySubjectItem(
+            @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PINAO_ROOM 琴房 MUSIC 曲目 ") String type) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(teacherService.querySubjectItem(user.getId()));
+        return succeed(teacherService.querySubjectItem(user.getId(), type));
     }
 
     @ApiOperation(value = "我的-个人风采")