派生自 projectDept/qhighschool

yn147
2023-05-10 96286178ee1c257c130cb2ad964a781f36c4eee5
src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
@@ -95,31 +95,33 @@
    @Override
    public List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize,
                                         Integer pageNum, String type) {
        StringBuffer hql = new StringBuffer("from MyLectureV where subjectId=? and id.userId=? order by lectureCreateTime desc");
//        StringBuffer hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=? and status=? order by lectureCreateTime desc");
//        List<Object> args = CollectionUtils.newList(chapterId, learnerId,ClsSubjectLecture.STATUS_DRAFT);
        StringBuffer hql = new StringBuffer("from MyLectureV where subjectId=? and id.userId=?");
        List<Object> args = CollectionUtils.newList(chapterId, learnerId);
        List<MyLectureV> myLectureVList = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
        if(myLectureVList.size() < 1){
        }else {
            hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=? order by lectureCreateTime desc");
            args = CollectionUtils.newList(myLectureVList.get(0).getChapterId(), learnerId);
        }
        if (StringUtils.isNotEmpty(type)) {
            hql.append(" and lectureType=?");
            args.add(type);
        }
        List<MyLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
        return result;
    }
    /**
     * 课程课件
     * 课程课件
     *
     */
    @Override
    public Map<String,Object> listLectureBySubjectOrderCreateTime(String subjectId, String classId, String sort, Pager pager) {
       Subject subject = this.read(Subject.class, subjectId);
       if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType()) {//公开课课件
       if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType()) {//公开课课件
          return this.listOpenLectureBySubjectOrderCreateTime(subjectId, sort, pager);
       }
@@ -150,7 +152,7 @@
    }
    /**
    * 公开课课件
    * 公开课课件
    *
    * @param subjectId
    * @param sort
@@ -205,9 +207,9 @@
    }
    /**
     * 删除单个章节
     * 删除单个章节
     *
     * @param chapterId 章节id
     * @param chapterId 章节id
     * @return
     */
    private Result deleteChapter(String chapterId) {
@@ -241,13 +243,13 @@
        lecture.setStatus(res.getStatus());
        save(lecture);
        // 发送消息
        // 发送消息
        doPublishMsg(lecture);
        return new Result(true, "success");
    }
    //添加课程,发送消息
    //添加课程,发送消息
    private void doPublishMsg(ClsSubjectLecture lecture){
       Subject subject = this.read(Subject.class, lecture.getSubjectId());
@@ -255,7 +257,7 @@
          return ;
       }
      //查询直播关联的班级
      //查询直播关联的班级
      String hql = "select userId from StuStudent  where classId =:classId and deleteFlag is false ";
      List<String> lstUserIds = this.findByComplexHql(hql, CollectionUtils.newObjectMap("classId",lecture.getClassId()), String.class);
@@ -264,10 +266,30 @@
         Map<String,String> attrs = CollectionUtils.newStringMap("lectureId",lecture.getLectureId(),"lectureName",lecture.getName(),"subjectId",subject.getSubjectId(),
               "lectureType",lecture.getLectureType(),"subjectName",subject.getName());
         msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]),MsgInfo.TYPE_COURSEWARE,"发布了课件",attrs);
         msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]),MsgInfo.TYPE_COURSEWARE,"发布了课件",attrs);
      }
   }
    public Result updateLecturetime(String targetId) {
        ClsSubjectLecture lecture = read(ClsSubjectLecture.class, targetId);
        if(lecture == null){
            SubjectLecture lecture1 = read(SubjectLecture.class,targetId);
            TraceUtils.setUpdateTrace(lecture1);
            lecture1.setUpdateTime(new Date());
            lecture1.setUpdator(ClientUtils.getUserId());
            save(lecture1);
        }else {
            TraceUtils.setUpdateTrace(lecture);
            lecture.setUpdateTime(new Date());
            lecture.setUpdator(ClientUtils.getUserId());
            save(lecture);
        }
        return new Result(true, "success");
    }
    @Override
    public Result updateLecture(String lectureId, String resId) {
@@ -296,7 +318,7 @@
    }
    /**
     * @param lectureId 课件id
     * @param lectureId 课件id
     * @return
     */
    private Result deleteLecture(String lectureId) {
@@ -305,7 +327,7 @@
        TraceUtils.setUpdateTrace(lecture);
        lecture.setDeleteFlag(true);
        save(lecture);
        deleteProgress(lectureId);// 删除对应的进度
        deleteProgress(lectureId);// 删除对应的进度
        return new Result(true, "success");
    }
@@ -396,7 +418,7 @@
    }
    /**
     * 我的公开课课件查询
     * 我的公开课课件查询
     *
     * @param subjectId
     * @return
@@ -424,7 +446,7 @@
    }
    /**
     * 查询数量
     * 查询数量
     *
     * @param subjectId
     * @param classId
@@ -444,7 +466,7 @@
        ClsSubjectLecture lecture = read(ClsSubjectLecture.class, lectureId);
      String resItemId = null;
      if(lecture == null) {
         resItemId = read(SubjectLecture.class, lectureId).getResItemId();//班级课件
         resItemId = read(SubjectLecture.class, lectureId).getResItemId();//班级课件
      }else {
         resItemId = lecture.getResItemId();
      }
@@ -583,7 +605,7 @@
    @Override
    public Result listSubjectLecture(String classId, String sort, Pager pager) {
       if(StringUtils.isEmpty(classId)) {
          return new Result(false, "班级id不能为空");
          return new Result(false, "班级id不能为空");
       }
       QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
@@ -599,7 +621,7 @@
       long count = query.fetchCount();
       // 获取查询结果集合
       // 获取查询结果集合
      QueryResults<MyLectureV> results = query.limit(pager.getPageSize()).offset(pager.getOffset()).orderBy(order).fetchResults();
      List<Map<String,Object>> resultLst =
@@ -633,7 +655,7 @@
    }
    /**
     * 删除对应的课件
     * 删除对应的课件
     *
     * @param chapterId
     * @return
@@ -648,7 +670,7 @@
    /**
     * 获取章节下的课件
     * 获取章节下的课件
     *
     * @param chapterLst
     * @param lectures
@@ -678,7 +700,7 @@
    }
    /**
     * 获取章节的第一层数据
     * 获取章节的第一层数据
     *
     * @param chapterLst
     * @return
@@ -727,7 +749,7 @@
   }
    /**
     * 课件按目录分类
     * 课件按目录分类
     *
     * @param classId
     * @param subjectId
@@ -737,9 +759,9 @@
    public Result coursewareChapterList(String classId,String subjectId, String type) {
       Subject subject = this.read(Subject.class, subjectId);
       if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType() || Subject.TYPE_ORG_SUBJECT == subject.getType()) {//公开课和管理员课程
       if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType() || Subject.TYPE_ORG_SUBJECT == subject.getType()) {//公开课和管理员课程
          QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
          //课件
          //课件
          List<Map<String, Object>> lectures = this.listStuLectureByOpenSubject(subjectId);
          List<SubjectChapter> lstSubjectChapterLst = this.getListOpenChapter(subjectId);
@@ -751,15 +773,15 @@
                try {
                  BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter);
               } catch (IllegalAccessException e) {
                  log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
                  log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
               } catch (InvocationTargetException e) {
                  log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
                  log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
               }
                lstClsSubjectChapter.add(objClsSubjectChapter);
             }
          }
          //章节
          //章节
          List<ClsSubjectChapter> chapterLst = this.getChapterLectures(lstClsSubjectChapter, lectures);
          long count =  this.getQueryFactory().selectFrom(qSubjectLecture)
@@ -770,9 +792,9 @@
                CollectionUtils.newStringMap("name", "name", "chapterId", "chapterId", "lectures", "lectures"))));
       }else{
          //课件
          //课件
          List<Map<String, Object>> lectures = this.listStuLectureBySubject(subjectId, classId);
          //章节
          //章节
          List<ClsSubjectChapter> chapterLst = this.getChapterLectures(this.getListChapter(classId, subjectId, null), lectures);
          return new Result(true, "success", CollectionUtils.newObjectMap("count",this.stuLectureCountBySubject(subjectId, classId), "listData", QBeanUtils.listBean2ListMap(chapterLst,