瀏覽代碼

Merge remote-tracking branch 'origin/master'

weifanli 3 年之前
父節點
當前提交
ba6b2ae316
共有 16 個文件被更改,包括 201 次插入15 次删除
  1. 12 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/HomeController.java
  2. 6 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java
  3. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
  4. 6 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java
  5. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java
  6. 3 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  7. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  8. 8 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonEvaluateServiceImpl.java
  9. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java
  10. 102 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CountVideoGroupVo.java
  11. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HomeMusicSheetVo.java
  12. 17 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  13. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMessageMapper.xml
  14. 19 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml
  15. 2 2
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/SysMessageController.java
  16. 3 3
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/SysMessageController.java

+ 12 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/HomeController.java

@@ -2,6 +2,8 @@ package com.yonge.cooleshow.admin.controller;
 
 import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
 import com.yonge.cooleshow.biz.dal.service.HomeService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalStudent;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
 import com.yonge.cooleshow.biz.dal.vo.res.HomeUserToDoNum;
@@ -21,6 +23,9 @@ public class HomeController extends BaseController {
     @Autowired
     private HomeService homeService;
 
+    @Autowired
+    private MusicSheetService musicSheetService;
+
     @ApiOperation(value = "查询用户待办事项数")
     @PostMapping("/getUserToDoNum")
     @PreAuthorize("@pcs.hasPermissions('home/getUserToDoNum')")
@@ -42,4 +47,11 @@ public class HomeController extends BaseController {
         return homeService.totalStudent(totalReq);
     }
 
+
+    @ApiOperation(value = "首页曲目点播数据")
+    @PostMapping("/musicSheet")
+    public HttpResponseResult<HomeMusicSheetVo> musicSheet() {
+        return succeed(musicSheetService.getMusicSheetHome());
+    }
+
 }

+ 6 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java

@@ -133,4 +133,10 @@ public class VideoLessonController extends BaseController {
         lessonGroupService.updateGroup(examineVo);
         return succeed();
     }
+
+    @ApiOperation(value = "首页-视频课统计")
+    @GetMapping("/countVideoGroup")
+    public HttpResponseResult<CountVideoGroupVo> countVideoGroup() {
+        return succeed(lessonGroupService.countVideoGroup());
+    }
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -121,4 +121,11 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * @return
      */
     HomeMusicSheetVo selectMusicNum();
+
+    /**
+     * 查询付费人数最多的前5个曲目
+     *
+     * @return
+     */
+    List<HomeMusicSheetVo.MusicSheetSmall> selectPayMusicSheet();
 }

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java

@@ -44,4 +44,10 @@ public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup> {
 
     //根据组id查详情
     VideoLessonGroup selectGroupById(Long groupId);
+
+    //统计课时数
+    CountVideoGroupVo countVideoGroup();
+
+    //查询付费人数前5的课程
+    List<CountVideoGroupVo.VideoLesson> selectVideoLesson();
 }

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java

@@ -44,4 +44,6 @@ public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     IPage<VideoLessonAuthGroup> queryGroupList(IPage<VideoLessonAuthGroup> page, VideoGroupSearch query);
 
     IPage<LessonGroupVo> selectLessonGroupById(IPage<LessonGroupVo> page, VideoLessonGroupSearch query);
+
+    CountVideoGroupVo countVideoGroup();
 }

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

@@ -601,13 +601,13 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                 .eq(CourseGroup::getId, groupId)
                 .eq(CourseGroup::getType, CourseScheduleEnum.LIVE.getCode())
         );
+        if (Objects.isNull(courseGroup)) {
+            throw new BizException("课程组不存在!");
+        }
         //只要不是销售中的课程组都提示无法购买
         if (!courseGroup.getStatus().equals(CourseGroupEnum.APPLY.getCode())) {
             throw new BizException("课程已结束销售!");
         }
-        if (Objects.isNull(courseGroup)) {
-            throw new BizException("课程组不存在!");
-        }
         //课程信息
         List<CourseSchedule> courseList = courseScheduleService.list(Wrappers.<CourseSchedule>lambdaQuery()
                 .eq(CourseSchedule::getCourseGroupId, groupId));

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

@@ -547,7 +547,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     public HomeMusicSheetVo getMusicSheetHome() {
 
         HomeMusicSheetVo homeMusicSheetVo = baseMapper.selectMusicNum();
-        // homeMusicSheetVo.
+        homeMusicSheetVo.setMusicSheetSmallList(baseMapper.selectPayMusicSheet());
 
         return homeMusicSheetVo;
     }

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

@@ -51,7 +51,7 @@ public class VideoLessonEvaluateServiceImpl extends ServiceImpl<VideoLessonEvalu
     @Transactional(rollbackFor = Exception.class)
     public void evaluate(VideoLessonEvaluate evaluate, SysUser sysUser) {
         Long userId = sysUser.getId();
-        String userType = sysUser.getUserType();
+//        String userType = sysUser.getUserType();
         Long videoId = evaluate.getVideoId();
 
         //根据课程id查询已购学生id
@@ -64,10 +64,15 @@ public class VideoLessonEvaluateServiceImpl extends ServiceImpl<VideoLessonEvalu
             throw new RuntimeException("未购买该课程无法参与讨论");
         }
 
-        List<String> typeList = Arrays.asList(userType.split(","));
-        if (typeList.contains("TEACHER")) {
+//        List<String> typeList = Arrays.asList(userType.split(","));
+//        if (typeList.contains("TEACHER")) {
+//            evaluate.setIsTeacher(YesOrNoEnum.YES);
+//        }
+        //当前用户为课程创建者  是:老师  否:学生
+        if (teacherId==userId){
             evaluate.setIsTeacher(YesOrNoEnum.YES);
         }
+
         evaluate.setStudentId(userId);
         videoLessonEvaluateDao.insert(evaluate);
     }

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

@@ -291,4 +291,15 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
     public IPage<LessonGroupVo> selectLessonGroupById(IPage<LessonGroupVo> page, VideoLessonGroupSearch query) {
         return page.setRecords(baseMapper.selectLessonGroup(page, query));
     }
+
+    /**
+     * @Description: 首页-视频课统计
+     * @Author: cy
+     * @Date: 2022/5/7
+     */
+    public CountVideoGroupVo countVideoGroup(){
+        CountVideoGroupVo countVideoGroup = baseMapper.countVideoGroup();
+        countVideoGroup.setVideoLessonList(baseMapper.selectVideoLesson());
+        return countVideoGroup;
+    }
 }

+ 102 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CountVideoGroupVo.java

@@ -0,0 +1,102 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author: cy
+ * @Date: 2022/5/7
+ */
+public class CountVideoGroupVo implements Serializable {
+
+    @ApiModelProperty(value = "视频课总数")
+    private Integer videoLessonCount;
+
+    @ApiModelProperty(value = "课程总数")
+    private Integer lessonCount;
+
+    @ApiModelProperty(value = "付费用户")
+    private Integer payingUser;
+
+    private List<VideoLesson> videoLessonList;
+
+    public static class VideoLesson{
+        @ApiModelProperty(value = "视屏课组id")
+        private Long videoLessonGroupId;
+
+        @ApiModelProperty(value = "视屏课组名称")
+        private String lessonName;
+
+        @ApiModelProperty(value = "课时数")
+        private Integer lessonNum;
+
+        @ApiModelProperty(value = "付费人数")
+        private Integer payCount;
+
+        public Long getVideoLessonGroupId() {
+            return videoLessonGroupId;
+        }
+
+        public void setVideoLessonGroupId(Long videoLessonGroupId) {
+            this.videoLessonGroupId = videoLessonGroupId;
+        }
+
+        public String getLessonName() {
+            return lessonName;
+        }
+
+        public void setLessonName(String lessonName) {
+            this.lessonName = lessonName;
+        }
+
+        public Integer getLessonNum() {
+            return lessonNum;
+        }
+
+        public void setLessonNum(Integer lessonNum) {
+            this.lessonNum = lessonNum;
+        }
+
+        public Integer getPayCount() {
+            return payCount;
+        }
+
+        public void setPayCount(Integer payCount) {
+            this.payCount = payCount;
+        }
+    }
+
+    public Integer getVideoLessonCount() {
+        return videoLessonCount;
+    }
+
+    public void setVideoLessonCount(Integer videoLessonCount) {
+        this.videoLessonCount = videoLessonCount;
+    }
+
+    public Integer getLessonCount() {
+        return lessonCount;
+    }
+
+    public void setLessonCount(Integer lessonCount) {
+        this.lessonCount = lessonCount;
+    }
+
+    public Integer getPayingUser() {
+        return payingUser;
+    }
+
+    public void setPayingUser(Integer payingUser) {
+        this.payingUser = payingUser;
+    }
+
+    public List<VideoLesson> getVideoLessonList() {
+        return videoLessonList;
+    }
+
+    public void setVideoLessonList(List<VideoLesson> videoLessonList) {
+        this.videoLessonList = videoLessonList;
+    }
+}

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/HomeMusicSheetVo.java

@@ -26,7 +26,7 @@ public class HomeMusicSheetVo {
     @ApiModelProperty("集合")
     private List<MusicSheetSmall> musicSheetSmallList;
 
-    static class MusicSheetSmall{
+    public static class MusicSheetSmall{
 
         @ApiModelProperty("曲目编号")
         private Long  musicSheetId;

+ 17 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -270,7 +270,7 @@
             <include refid="QueryInfo"/>
             <if test="param.studentId != null">
                 and mspr.student_id_ = #{param.studentId}
-                and mspr.order_status_ = 1
+                and mspr.order_status_ = 'PAID'
             </if>
         </where>
         order by  mspr.id_ desc
@@ -470,4 +470,20 @@
 
 
     </select>
+
+    <select id="selectPayMusicSheet" resultType="com.yonge.cooleshow.biz.dal.vo.HomeMusicSheetVo$MusicSheetSmall">
+
+        select distinct
+            ms.id_ as musicSheetId,
+            ms.music_sheet_name_ as musicSheetName,
+            count(1) as num
+        from music_sheet ms
+        left join music_sheet_purchase_record mspr on mspr.music_sheet_id_ = ms.id_
+            and state_ = 1 and audit_status_ = 'PASS' and del_flag_ = 0 and mspr.order_status_ = 'PAID'
+
+            group by ms.id_, ms.music_sheet_name_
+            order by  count(ms.id_)
+        limit 5
+
+    </select>
 </mapper>

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

@@ -158,7 +158,7 @@
 
     <update id="updateOneStatus">
        update sys_message set read_status_=#{status}
-		where id_ =#{id} and send_time_ &gt;= now()
+		where id_ =#{id}
     </update>
 
     <select id="queryCount" parameterType="map" resultType="int">

+ 19 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -311,4 +311,23 @@
 		WHERE g.id_=#{groupId}
 		AND s.del_flag_ = 0
 	</select>
+	<select id="countVideoGroup" resultType="com.yonge.cooleshow.biz.dal.vo.CountVideoGroupVo">
+		SELECT
+			COUNT(1) AS videoLessonCount,
+			(SELECT COUNT(1) FROM (SELECT COUNT(1) FROM video_lesson_purchase_record GROUP BY student_id_) a) AS payingUser,
+			(SELECT COUNT(1) FROM video_lesson_group_detail WHERE video_lesson_group_id_ IN (SELECT id_ FROM video_lesson_group WHERE audit_status_='PASS')) AS lessonCount
+		FROM video_lesson_group WHERE audit_status_='PASS'
+	</select>
+	<select id="selectVideoLesson" resultType="com.yonge.cooleshow.biz.dal.vo.CountVideoGroupVo$VideoLesson">
+		SELECT
+			r.video_lesson_group_id_ AS videoLessonGroupId,
+			g.lesson_name_ AS lessonName,
+			g.lesson_count_ AS lessonNum,
+			COUNT(1) AS payCount
+		FROM video_lesson_purchase_record r
+		LEFT JOIN video_lesson_group g ON r.video_lesson_group_id_=g.id_
+		GROUP BY r.video_lesson_group_id_
+		ORDER BY payCount DESC
+		LIMIT 5
+	</select>
 </mapper>

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

@@ -81,7 +81,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT") > 0 ? succeed() : failed();
+		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"STUDENT") > 0 );
 	}
 
 	@ApiOperation("设置已读")
@@ -92,7 +92,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
+		return succeed(sysMessageService.updateOneStatus(id, status) > 0);
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")

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

@@ -81,7 +81,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return sysMessageService.updateStatus(sysUser.getId(), status,"TEACHER") > 0 ? succeed() : failed();
+		return succeed(sysMessageService.updateStatus(sysUser.getId(), status,"TEACHER") > 0 );
 	}
 
 	@ApiOperation("设置已读")
@@ -92,7 +92,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return sysMessageService.updateOneStatus(id, status) > 0 ? succeed() : failed();
+		return succeed(sysMessageService.updateOneStatus(id, status) >0) ;
 	}
 
 	@ApiOperation(value = "查询用户未读消息条数")
@@ -121,6 +121,6 @@ public class SysMessageController extends BaseController {
 			throw new BizException("请输入正确的手机号");
 		}
 		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group, "TEACHER");
-		return succeed();
+		return succeed(true);
 	}
 }