package com.lst.lc.dao.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import com.lst.lc.dao.LessonDao;
import com.lst.lc.entities.Course;
import com.lst.lc.entities.CourseLesson;
import com.lst.lc.entities.RelUserCourse;
import com.lst.lc.entities.RelUserCourseId;
import com.lst.lc.entities.User;
import com.lst.lc.utils.ListUtils;
import com.lst.lc.web.bean.LearnStatus;
@Repository("lessonDao")
public class LessonDaoImpl extends BaseDao implements LessonDao {
@Override
public void addLesson(CourseLesson courseLesson) {
save(courseLesson);
getSession().flush();
}
@Override
public CourseLesson getLesson(int id) {
return get(CourseLesson.class, id);
}
@Override
public List<CourseLesson> getLessons() {
return getAll("CourseLesson");
}
@Override
public List<CourseLesson> getLessonsOfCourse(int courseId) {
String hql = "from CourseLesson as lesson where lesson.course.courseId = ?";
Query query = query(hql);
query.setInteger(0, courseId);
return query.list();
}
@Override
public void update(int lessonId,String title, String summary,String type, String videoUrl, String content){
String hql = "update CourseLesson as lesson set lesson.title = ?, lesson.summary = ?, lesson.type = ?, lesson.videoUrl = ?, lesson.content = ? where lesson.lessonId = ?";
Query query = query(hql);
query.setString(0, title).setString(1, summary).setString(2, type).setString(3, videoUrl).setString(4, content).setInteger(5, lessonId).executeUpdate();
}
@Override
public LearnStatus learnStatus(int userId, int courseId) {
RelUserCourseId id = new RelUserCourseId(userId, courseId);
RelUserCourse rels = get(RelUserCourse.class, id);
LearnStatus status;
if(rels == null){
status = new LearnStatus(false, 0);
} else {
status = new LearnStatus(true, rels.getProgress());
}
return status;
}
}