소스 검색

老师端按钮点击进入列表

liujunchi 3 년 전
부모
커밋
b224302e88

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

@@ -31,6 +31,18 @@ public class StudentMusicSheetSearch  extends MusicSheetSearch{
     @ApiModelProperty(value = "平台")
     private String platform;
 
+
+    @ApiModelProperty(value = "查看我自己的曲目",required = true)
+    private Boolean myself = true;
+
+    public Boolean getMyself() {
+        return myself;
+    }
+
+    public void setMyself(Boolean myself) {
+        this.myself = myself;
+    }
+
     public YesOrNoEnum getAuditVersion() {
         return auditVersion;
     }

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

@@ -39,6 +39,18 @@ public class VideoLessonGroupSearch extends QueryInfo {
     @ApiModelProperty(value = "平台",required = true)
     private String platform;
 
+
+    @ApiModelProperty(value = "查看我自己的视频课",required = true)
+    private Boolean myself = true;
+
+    public Boolean getMyself() {
+        return myself;
+    }
+
+    public void setMyself(Boolean myself) {
+        this.myself = myself;
+    }
+
     public Long getLessonSubject() {
         return lessonSubject;
     }

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

@@ -193,8 +193,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         }
         if (ChargeTypeEnum.FREE.getCode().equals(detail.getChargeType().getCode())) {
             detail.setPlay(YesOrNoEnum.YES);
-        }  else if (SysUserType.STUDENT.getCode().equals(userType.getCode())) {
-            setStudentMusicSheet(sysUser.getId(), detail);
+        }  else if (SysUserType.STUDENT.getCode().equals(userType.getCode())
+                || SysUserType.TEACHER.getCode().equals(userType.getCode())) {
+            // 2022 7 20  老师也能购买曲目
+            setMusicSheetPlay(sysUser.getId(), detail);
         } else {
             detail.setPlay(YesOrNoEnum.YES);
         }
@@ -208,10 +210,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     /**
      * 设置学生曲目信息
      *
+     * 2022 7 20  老师也能购买曲目
+     *
      * @param studentId 学生id
      * @param detail 曲目详情
      */
-    private void setStudentMusicSheet(Long studentId, MusicSheetDetailVo detail) {
+    private void setMusicSheetPlay(Long studentId, MusicSheetDetailVo detail) {
         detail.setPlay(YesOrNoEnum.NO);
         // 单曲购买 判断购买记录,有记录课播放
         if (ChargeTypeEnum.CHARGE.getCode().equals(detail.getChargeType().getCode())) {
@@ -227,6 +231,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
             }
         } else if  (ChargeTypeEnum.VIP.getCode().equals(detail.getChargeType().getCode())) {
             // 会员 判断是否为会员, 会员可播放
+            // todo 老师会员判断
             StudentVo studentVo = studentService.detail(studentId);
             if (studentVo != null && YesOrNoEnum.YES.getCode().equals(studentVo.getIsVip().getCode())) {
                 detail.setPlay(YesOrNoEnum.YES);

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

@@ -3,12 +3,16 @@ package com.yonge.cooleshow.teacher.controller;
 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.StudentMusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.entity.Student;
+import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+import com.yonge.toolset.base.page.QueryInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
@@ -41,6 +45,8 @@ public class MusicSheetController extends BaseController {
 	@Autowired
 	private MusicSheetService musicSheetService;
 
+    @Autowired
+    private AppVersionInfoService appVersionInfoService;
 
     /**
      * 查询单条
@@ -110,24 +116,54 @@ public class MusicSheetController extends BaseController {
         }
     }
 
-    @ApiOperation(value = "分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
+    @ApiOperation(value = "老师个人曲目分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/list", consumes="application/json", produces="application/json")
-    public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody MusicSheetSearch query) {
+    public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody StudentMusicSheetSearch query) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null  || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
-        // 设置只查老师用户 状态为启用
-        query.setCreateBy(sysUser.getId());
-        if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
+        // 老师课查看所有曲目
+        if (query.getMyself() == null || query.getMyself()) {
+            // 设置只查老师用户 状态为启用
+            query.setCreateBy(sysUser.getId());
+            if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
+                query.setState(YesOrNoEnum.YES);
+            }
+            query.setSourceType(SourceTypeEnum.TEACHER);
+        } else {
+            // 检查app版本
+            query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
+
+            //  只能看通过审核 并且 启用的 曲目
             query.setState(YesOrNoEnum.YES);
+            query.setAuditStatus(AuthStatusEnum.PASS);
+            query.setStudentId(sysUser.getId());
         }
-        query.setSourceType(SourceTypeEnum.TEACHER);
 
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(musicSheetVoIPage));
     }
 
+
+    /**
+     * 我的单曲,收藏单曲
+     */
+    @GetMapping("/my")
+    @ApiOperation(value = "我的单曲")
+    public HttpResponseResult<PageInfo<MusicSheetVo>> myMusic(QueryInfo query) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null  || sysUser.getId() == null) {
+            return failed("用户信息获取失败");
+        }
+        StudentMusicSheetSearch search = new StudentMusicSheetSearch();
+        search.setStudentId(sysUser.getId());
+        search.setState(YesOrNoEnum.YES);
+        search.setAuditStatus(AuthStatusEnum.PASS);
+        IPage<MusicSheetVo> sheetVoIPage = musicSheetService.myMusic(PageUtil.getPage(query),search);
+        return succeed(PageUtil.pageInfo(sheetVoIPage));
+    }
+
     @ApiOperation(value = "乐谱分享")
     @GetMapping(value="/share")
     public HttpResponseResult<MusicSheetShareVo> shareMusicSheet() {

+ 24 - 3
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseGroupController.java

@@ -6,15 +6,18 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.CheckCourseTimeDto;
 import com.yonge.cooleshow.biz.dal.dto.LiveCourseGroupDto;
 import com.yonge.cooleshow.biz.dal.entity.CourseTimeEntity;
+import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.CourseGroupVo;
 import com.yonge.cooleshow.biz.dal.vo.LiveCourseInfoVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import io.swagger.annotations.*;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -41,6 +44,8 @@ public class TeacherCourseGroupController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
+    @Autowired
+    private AppVersionInfoService appVersionInfoService;
     @ApiOperation("直播课详情")
     @GetMapping("/queryLiveCourseInfo")
     public HttpResponseResult<LiveCourseInfoVo> queryLiveCourseInfo(@ApiParam(value = "课程组id", required = true) @RequestParam(value = "groupId") Long groupId) {
@@ -53,13 +58,29 @@ public class TeacherCourseGroupController extends BaseController {
             @ApiImplicitParam(name = "groupStatus", dataType = "String", value = "课程组状态  ING(进行中)  NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成)"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+            @ApiImplicitParam(name = "myself", dataType = "Boolean", value = "查看我自己的直播课"),
+            @ApiImplicitParam(name = "version", dataType = "String", value = "版本"),
+            @ApiImplicitParam(name = "platform", dataType = "Integer", value = "平台"),
     })
     @ApiOperation("分页查询直播课课程组列表")
     @PostMapping("/queryPageCourseGroup")
     public HttpResponseResult<PageInfo<CourseGroupVo>> queryPageLiveCourseGroup(@RequestBody Map<String, Object> param) {
-        Long teacherId = WrapperUtil.toLong(param, "teacherId");
-        teacherId = Optional.ofNullable(teacherId).orElseGet(() -> getSysUser().getId());
-        param.put("teacherId", teacherId);
+
+
+        Boolean myself = MapUtils.getBoolean(param,"myself");
+        if (myself == null || myself) {
+            Long teacherId = WrapperUtil.toLong(param, "teacherId");
+            teacherId = Optional.ofNullable(teacherId).orElseGet(() -> getSysUser().getId());
+            param.put("teacherId", teacherId);
+        } else {
+            YesOrNoEnum auditVersion = YesOrNoEnum.NO;
+            if (param.get("platform") != null && param.get("version") != null) {
+                auditVersion = appVersionInfoService.getAppAuditVersion(param.get("platform").toString(),param.get("version").toString());
+            }
+            param.put("auditVersion",auditVersion);
+        }
+
+
         return succeed(courseGroupService.queryPageLiveCourseGroup(param));
     }
 

+ 9 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.teacher.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
+import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.valid.AddGroup;
 import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
@@ -43,6 +44,8 @@ public class VideoLessonGroupController extends BaseController {
     @Autowired
     private VideoLessonGroupService videoLessonGroupService;
 
+    @Autowired
+    private AppVersionInfoService appVersionInfoService;
     /**
     * @Description: 查询视频课组
     * @Author: cy
@@ -55,8 +58,12 @@ public class VideoLessonGroupController extends BaseController {
         if (sysUser == null || sysUser.getId() == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-
-        query.setTeacherId(sysUser.getId());
+        if (query.getMyself() == null || query.getMyself()) {
+            query.setTeacherId(sysUser.getId());
+        } else {
+            // 检查app版本
+            query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
+        }
         IPage<VideoLessonGroupVo> pages = videoLessonGroupService.selectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
     }